@@ -2,16 +2,16 @@ import * as prompts from "@clack/prompts";
22import { buildCommand , type CommandContext } from "@stricli/core" ;
33import pc from "picocolors" ;
44import {
5+ createWalletFile ,
56 getConfigDirShort ,
67 getWalletPath ,
78 isConfigured ,
89 loadWalletFile ,
910 type ProxyConfig ,
1011 saveConfig ,
1112 saveWalletFile ,
12- type WalletFile ,
1313} from "../lib/config.js" ;
14- import { deriveEvmKeypair , deriveSolanaKeypair , generateMnemonic } from "../lib/derive.js" ;
14+ import { generateMnemonic } from "../lib/derive.js" ;
1515
1616export async function runSetup ( opts ?: {
1717 force ?: boolean ;
@@ -53,19 +53,12 @@ export async function runSetup(opts?: {
5353 mnemonic = generateMnemonic ( ) ;
5454 }
5555
56- const evm = deriveEvmKeypair ( mnemonic ) ;
57- const sol = deriveSolanaKeypair ( mnemonic ) ;
58-
59- const wallet : WalletFile = {
60- version : 1 ,
61- mnemonic,
62- addresses : { evm : evm . address , solana : sol . address } ,
63- } ;
56+ const wallet = createWalletFile ( mnemonic ) ;
6457 saveWalletFile ( wallet ) ;
6558 saveConfig ( { preferredProtocol : "x402" } ) ;
6659
6760 process . stdout . write (
68- `${ JSON . stringify ( { base : evm . address , tempo : evm . address , solana : sol . address } ) } \n` ,
61+ `${ JSON . stringify ( { base : wallet . addresses . evm , tempo : wallet . addresses . evm , solana : wallet . addresses . solana } ) } \n` ,
6962 ) ;
7063 return ;
7164 }
@@ -109,18 +102,11 @@ export async function runSetup(opts?: {
109102 mnemonic = ( input as string ) . trim ( ) ;
110103 }
111104
112- const evm = deriveEvmKeypair ( mnemonic ) ;
113- const sol = deriveSolanaKeypair ( mnemonic ) ;
114-
115- prompts . log . success ( `Base address: ${ pc . green ( evm . address ) } ` ) ;
116- prompts . log . success ( `Tempo address: ${ pc . green ( evm . address ) } ` ) ;
117- prompts . log . success ( `Solana address: ${ pc . green ( sol . address ) } ` ) ;
105+ const wallet = createWalletFile ( mnemonic ) ;
118106
119- const wallet : WalletFile = {
120- version : 1 ,
121- mnemonic,
122- addresses : { evm : evm . address , solana : sol . address } ,
123- } ;
107+ prompts . log . success ( `Base address: ${ pc . green ( wallet . addresses . evm ) } ` ) ;
108+ prompts . log . success ( `Tempo address: ${ pc . green ( wallet . addresses . evm ) } ` ) ;
109+ prompts . log . success ( `Solana address: ${ pc . green ( wallet . addresses . solana ) } ` ) ;
124110
125111 saveWalletFile ( wallet ) ;
126112
@@ -167,12 +153,12 @@ export async function runSetup(opts?: {
167153 prompts . log . info ( `Config directory: ${ pc . dim ( getConfigDirShort ( ) ) } ` ) ;
168154
169155 prompts . log . step ( "Fund your wallets to start using x402 resources:" ) ;
170- prompts . log . message ( ` Solana (USDC): Send USDC to ${ pc . cyan ( sol . address ) } ` ) ;
171- prompts . log . message ( ` Base (USDC): Send USDC to ${ pc . cyan ( evm . address ) } ` ) ;
156+ prompts . log . message ( ` Solana (USDC): Send USDC to ${ pc . cyan ( wallet . addresses . solana ) } ` ) ;
157+ prompts . log . message ( ` Base (USDC): Send USDC to ${ pc . cyan ( wallet . addresses . evm ) } ` ) ;
172158
173159 prompts . log . step ( "Try your first request:" ) ;
174160 prompts . log . message (
175- ` ${ pc . cyan ( `$ npx x402-proxy -X POST -d '{"ref":"CoinbaseDev"}' https://surf.cascade.fyi/api/v1/twitter/user` ) } ` ,
161+ ` ${ pc . cyan ( `$ npx x402-proxy https://surf.cascade.fyi/api/v1/twitter/user/openclaw ` ) } ` ,
176162 ) ;
177163
178164 prompts . outro ( pc . green ( "Setup complete!" ) ) ;
0 commit comments