facinet 2.2.2 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -242
- package/dist/browser.js +2720 -27521
- package/dist/browser.js.map +4 -4
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +7 -8
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/facilitator.d.ts +4 -15
- package/dist/commands/facilitator.d.ts.map +1 -1
- package/dist/commands/facilitator.js +24 -28
- package/dist/commands/facilitator.js.map +1 -1
- package/dist/commands/pay.d.ts +1 -8
- package/dist/commands/pay.d.ts.map +1 -1
- package/dist/commands/pay.js +35 -30
- package/dist/commands/pay.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +636 -92
- package/dist/index.js.map +7 -1
- package/dist/sdk/Facinet.d.ts +19 -3
- package/dist/sdk/Facinet.d.ts.map +1 -1
- package/dist/sdk/Facinet.js +107 -52
- package/dist/sdk/Facinet.js.map +1 -1
- package/dist/sdk/types.d.ts +8 -2
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk.d.ts +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +346 -25
- package/dist/sdk.js.map +7 -1
- package/dist/sdk.mjs +87 -32
- package/dist/sdk.mjs.map +2 -2
- package/dist/utils/api.d.ts +13 -12
- package/dist/utils/api.d.ts.map +1 -1
- package/dist/utils/api.js +4 -32
- package/dist/utils/api.js.map +1 -1
- package/dist/utils/config.d.ts +2 -9
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +0 -1
- package/dist/utils/config.js.map +1 -1
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,wBAAsB,cAAc,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,wBAAsB,cAAc,kBAmEnC"}
|
package/dist/commands/connect.js
CHANGED
|
@@ -15,7 +15,7 @@ const ethers_1 = require("ethers");
|
|
|
15
15
|
const config_1 = require("../utils/config");
|
|
16
16
|
const ora_1 = __importDefault(require("ora"));
|
|
17
17
|
async function connectCommand() {
|
|
18
|
-
console.log(chalk_1.default.cyan('\n
|
|
18
|
+
console.log(chalk_1.default.cyan('\n\uD83D\uDD17 Connect Wallet to Facinet\n'));
|
|
19
19
|
const { method } = await inquirer_1.default.prompt([
|
|
20
20
|
{
|
|
21
21
|
type: 'list',
|
|
@@ -39,11 +39,11 @@ async function connectCommand() {
|
|
|
39
39
|
try {
|
|
40
40
|
const wallet = new ethers_1.Wallet(privateKey);
|
|
41
41
|
(0, config_1.saveConfig)({ privateKey, address: wallet.address });
|
|
42
|
-
console.log(chalk_1.default.green('\n
|
|
42
|
+
console.log(chalk_1.default.green('\n\u2705 Wallet connected successfully!'));
|
|
43
43
|
console.log(chalk_1.default.gray(`Address: ${wallet.address}`));
|
|
44
44
|
}
|
|
45
45
|
catch (error) {
|
|
46
|
-
console.log(chalk_1.default.red('\n
|
|
46
|
+
console.log(chalk_1.default.red('\n\u274C Invalid private key'));
|
|
47
47
|
process.exit(1);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -51,8 +51,8 @@ async function connectCommand() {
|
|
|
51
51
|
const spinner = (0, ora_1.default)('Generating new wallet...').start();
|
|
52
52
|
const wallet = ethers_1.Wallet.createRandom();
|
|
53
53
|
spinner.succeed('Wallet generated!');
|
|
54
|
-
console.log(chalk_1.default.green('\n
|
|
55
|
-
console.log(chalk_1.default.yellow('\n
|
|
54
|
+
console.log(chalk_1.default.green('\n\u2705 New wallet created!'));
|
|
55
|
+
console.log(chalk_1.default.yellow('\n\u26A0\uFE0F IMPORTANT: Save your private key securely!'));
|
|
56
56
|
console.log(chalk_1.default.gray(`\nAddress: ${wallet.address}`));
|
|
57
57
|
console.log(chalk_1.default.gray(`Private Key: ${wallet.privateKey}`));
|
|
58
58
|
console.log(chalk_1.default.gray(`Mnemonic: ${wallet.mnemonic?.phrase}\n`));
|
|
@@ -69,11 +69,10 @@ async function connectCommand() {
|
|
|
69
69
|
process.exit(0);
|
|
70
70
|
}
|
|
71
71
|
(0, config_1.saveConfig)({ privateKey: wallet.privateKey, address: wallet.address });
|
|
72
|
-
console.log(chalk_1.default.green('
|
|
72
|
+
console.log(chalk_1.default.green('\u2705 Configuration saved!'));
|
|
73
73
|
}
|
|
74
|
-
// Check network
|
|
75
74
|
const config = (0, config_1.getConfig)();
|
|
76
|
-
console.log(chalk_1.default.cyan('\n
|
|
75
|
+
console.log(chalk_1.default.cyan('\n\uD83D\uDCE1 Network Configuration:'));
|
|
77
76
|
console.log(chalk_1.default.gray(`Network: ${config.network || 'avalanche-fuji'}`));
|
|
78
77
|
console.log(chalk_1.default.gray(`API URL: ${config.apiUrl || 'http://localhost:3000'}\n`));
|
|
79
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAQH,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,33 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Create and manage facilitators
|
|
5
5
|
*/
|
|
6
|
-
interface CreateOptions {
|
|
7
|
-
name?: string;
|
|
8
|
-
recipient?: string;
|
|
9
|
-
url: string;
|
|
10
|
-
}
|
|
11
|
-
interface ListOptions {
|
|
12
|
-
url: string;
|
|
13
|
-
}
|
|
14
|
-
interface StatusOptions {
|
|
15
|
-
url: string;
|
|
16
|
-
}
|
|
17
6
|
/**
|
|
18
7
|
* Create a new facilitator
|
|
19
8
|
*/
|
|
20
|
-
declare function create(options:
|
|
9
|
+
declare function create(options: any): Promise<void>;
|
|
21
10
|
/**
|
|
22
11
|
* List all facilitators
|
|
23
12
|
*/
|
|
24
|
-
declare function list(options:
|
|
13
|
+
declare function list(options: any): Promise<void>;
|
|
25
14
|
/**
|
|
26
15
|
* Check facilitator status
|
|
27
16
|
*/
|
|
28
|
-
declare function status(id: string, options:
|
|
17
|
+
declare function status(id: string, options: any): Promise<void>;
|
|
29
18
|
/**
|
|
30
19
|
* Check facilitator balance
|
|
31
20
|
*/
|
|
32
|
-
declare function balance(id: string, options:
|
|
21
|
+
declare function balance(id: string, options: any): Promise<void>;
|
|
33
22
|
export declare const facilitatorCommand: {
|
|
34
23
|
create: typeof create;
|
|
35
24
|
list: typeof list;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator.d.ts","sourceRoot":"","sources":["../../src/commands/facilitator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH
|
|
1
|
+
{"version":3,"file":"facilitator.d.ts","sourceRoot":"","sources":["../../src/commands/facilitator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,iBAAe,MAAM,CAAC,OAAO,EAAE,GAAG,iBA+FjC;AAED;;GAEG;AACH,iBAAe,IAAI,CAAC,OAAO,EAAE,GAAG,iBAgC/B;AAED;;GAEG;AACH,iBAAe,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBA+B7C;AAED;;GAEG;AACH,iBAAe,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAwB9C;AAeD,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC"}
|
|
@@ -19,14 +19,12 @@ const api_1 = require("../utils/api");
|
|
|
19
19
|
* Create a new facilitator
|
|
20
20
|
*/
|
|
21
21
|
async function create(options) {
|
|
22
|
-
console.log(chalk_1.default.cyan('\n
|
|
23
|
-
// Check if wallet is connected
|
|
22
|
+
console.log(chalk_1.default.cyan('\n\uD83D\uDE80 Create New Facilitator\n'));
|
|
24
23
|
const config = (0, config_1.getConfig)();
|
|
25
24
|
if (!config.privateKey) {
|
|
26
|
-
console.log(chalk_1.default.red('
|
|
25
|
+
console.log(chalk_1.default.red('\u274C No wallet connected. Run `facinet connect` first.'));
|
|
27
26
|
process.exit(1);
|
|
28
27
|
}
|
|
29
|
-
// Get facilitator details
|
|
30
28
|
const answers = await inquirer_1.default.prompt([
|
|
31
29
|
{
|
|
32
30
|
type: 'input',
|
|
@@ -56,7 +54,7 @@ async function create(options) {
|
|
|
56
54
|
]);
|
|
57
55
|
const name = options.name || answers.name;
|
|
58
56
|
const recipient = options.recipient || answers.recipient;
|
|
59
|
-
console.log(chalk_1.default.gray(`\n
|
|
57
|
+
console.log(chalk_1.default.gray(`\n\uD83D\uDCCB Facilitator Details:`));
|
|
60
58
|
console.log(chalk_1.default.gray(` Name: ${name}`));
|
|
61
59
|
console.log(chalk_1.default.gray(` Recipient: ${recipient}`));
|
|
62
60
|
console.log(chalk_1.default.gray(` Creator: ${config.address}\n`));
|
|
@@ -75,7 +73,6 @@ async function create(options) {
|
|
|
75
73
|
const spinner = (0, ora_1.default)('Creating facilitator...').start();
|
|
76
74
|
try {
|
|
77
75
|
const wallet = new ethers_1.Wallet(config.privateKey);
|
|
78
|
-
// Generate facilitator wallet
|
|
79
76
|
const facilitatorWallet = ethers_1.Wallet.createRandom();
|
|
80
77
|
spinner.text = 'Registering facilitator...';
|
|
81
78
|
const result = await (0, api_1.createFacilitator)(options.url, {
|
|
@@ -86,22 +83,22 @@ async function create(options) {
|
|
|
86
83
|
createdBy: wallet.address,
|
|
87
84
|
});
|
|
88
85
|
spinner.succeed('Facilitator created!');
|
|
89
|
-
console.log(chalk_1.default.green('\n
|
|
90
|
-
console.log(chalk_1.default.gray(`\n
|
|
86
|
+
console.log(chalk_1.default.green('\n\u2705 Facilitator created successfully!'));
|
|
87
|
+
console.log(chalk_1.default.gray(`\n\uD83D\uDCC4 Details:`));
|
|
91
88
|
console.log(chalk_1.default.gray(` ID: ${result.id}`));
|
|
92
89
|
console.log(chalk_1.default.gray(` Name: ${name}`));
|
|
93
90
|
console.log(chalk_1.default.gray(` Wallet: ${facilitatorWallet.address}`));
|
|
94
91
|
console.log(chalk_1.default.gray(` Status: ${result.status}`));
|
|
95
|
-
console.log(chalk_1.default.yellow(`\n
|
|
92
|
+
console.log(chalk_1.default.yellow(`\n\u26A0\uFE0F IMPORTANT: Save facilitator wallet private key!`));
|
|
96
93
|
console.log(chalk_1.default.gray(` Private Key: ${facilitatorWallet.privateKey}\n`));
|
|
97
|
-
console.log(chalk_1.default.cyan('
|
|
98
|
-
console.log(chalk_1.default.gray(` 1. Fund facilitator wallet with
|
|
94
|
+
console.log(chalk_1.default.cyan('\uD83D\uDCA1 Next steps:'));
|
|
95
|
+
console.log(chalk_1.default.gray(` 1. Fund facilitator wallet with gas token`));
|
|
99
96
|
console.log(chalk_1.default.gray(` 2. Check status: facinet facilitator status ${result.id}`));
|
|
100
97
|
console.log(chalk_1.default.gray(` 3. Monitor balance: facinet facilitator balance ${result.id}\n`));
|
|
101
98
|
}
|
|
102
99
|
catch (error) {
|
|
103
100
|
spinner.fail('Failed to create facilitator');
|
|
104
|
-
console.log(chalk_1.default.red(`\n
|
|
101
|
+
console.log(chalk_1.default.red(`\n\u274C Error: ${error.message}\n`));
|
|
105
102
|
process.exit(1);
|
|
106
103
|
}
|
|
107
104
|
}
|
|
@@ -109,7 +106,7 @@ async function create(options) {
|
|
|
109
106
|
* List all facilitators
|
|
110
107
|
*/
|
|
111
108
|
async function list(options) {
|
|
112
|
-
console.log(chalk_1.default.cyan('\n
|
|
109
|
+
console.log(chalk_1.default.cyan('\n\uD83D\uDCCB Active Facilitators\n'));
|
|
113
110
|
const spinner = (0, ora_1.default)('Loading facilitators...').start();
|
|
114
111
|
try {
|
|
115
112
|
const facilitators = await (0, api_1.listFacilitators)(options.url);
|
|
@@ -131,7 +128,7 @@ async function list(options) {
|
|
|
131
128
|
}
|
|
132
129
|
catch (error) {
|
|
133
130
|
spinner.fail('Failed to load facilitators');
|
|
134
|
-
console.log(chalk_1.default.red(`\n
|
|
131
|
+
console.log(chalk_1.default.red(`\n\u274C Error: ${error.message}\n`));
|
|
135
132
|
process.exit(1);
|
|
136
133
|
}
|
|
137
134
|
}
|
|
@@ -139,7 +136,7 @@ async function list(options) {
|
|
|
139
136
|
* Check facilitator status
|
|
140
137
|
*/
|
|
141
138
|
async function status(id, options) {
|
|
142
|
-
console.log(chalk_1.default.cyan(`\n
|
|
139
|
+
console.log(chalk_1.default.cyan(`\n\uD83D\uDCCA Facilitator Status\n`));
|
|
143
140
|
const spinner = (0, ora_1.default)('Checking status...').start();
|
|
144
141
|
try {
|
|
145
142
|
const fac = await (0, api_1.getFacilitatorStatus)(options.url, id);
|
|
@@ -150,16 +147,16 @@ async function status(id, options) {
|
|
|
150
147
|
console.log(chalk_1.default.gray(`Wallet: ${fac.facilitatorWallet}`));
|
|
151
148
|
console.log(chalk_1.default.gray(`Recipient: ${fac.paymentRecipient}`));
|
|
152
149
|
console.log(chalk_1.default.gray(`Total Payments: ${fac.totalPayments}`));
|
|
153
|
-
console.log(chalk_1.default.gray(`Gas Balance: ${fac.gasBalance || 'Unknown'}
|
|
150
|
+
console.log(chalk_1.default.gray(`Gas Balance: ${fac.gasBalance || 'Unknown'}`));
|
|
154
151
|
console.log(chalk_1.default.gray(`Created: ${new Date(fac.lastUsed).toLocaleString()}\n`));
|
|
155
152
|
if (fac.status === 'needs_funding') {
|
|
156
|
-
console.log(chalk_1.default.yellow('
|
|
157
|
-
console.log(chalk_1.default.gray(` Send
|
|
153
|
+
console.log(chalk_1.default.yellow('\u26A0\uFE0F Facilitator needs gas token for fees'));
|
|
154
|
+
console.log(chalk_1.default.gray(` Send gas token to: ${fac.facilitatorWallet}\n`));
|
|
158
155
|
}
|
|
159
156
|
}
|
|
160
157
|
catch (error) {
|
|
161
158
|
spinner.fail('Failed to get status');
|
|
162
|
-
console.log(chalk_1.default.red(`\n
|
|
159
|
+
console.log(chalk_1.default.red(`\n\u274C Error: ${error.message}\n`));
|
|
163
160
|
process.exit(1);
|
|
164
161
|
}
|
|
165
162
|
}
|
|
@@ -167,36 +164,35 @@ async function status(id, options) {
|
|
|
167
164
|
* Check facilitator balance
|
|
168
165
|
*/
|
|
169
166
|
async function balance(id, options) {
|
|
170
|
-
console.log(chalk_1.default.cyan(`\n
|
|
167
|
+
console.log(chalk_1.default.cyan(`\n\uD83D\uDCB0 Facilitator Balance\n`));
|
|
171
168
|
const spinner = (0, ora_1.default)('Checking balance...').start();
|
|
172
169
|
try {
|
|
173
170
|
const result = await (0, api_1.getFacilitatorBalance)(options.url, id);
|
|
174
171
|
spinner.stop();
|
|
175
172
|
console.log(chalk_1.default.gray(`Facilitator: ${result.name}`));
|
|
176
173
|
console.log(chalk_1.default.gray(`Wallet: ${result.wallet}\n`));
|
|
177
|
-
console.log(chalk_1.default.cyan(`
|
|
174
|
+
console.log(chalk_1.default.cyan(`Balance: ${chalk_1.default.bold(result.balance)}`));
|
|
178
175
|
console.log(chalk_1.default.gray(`Status: ${getStatusEmoji(result.status)} ${result.status.toUpperCase()}\n`));
|
|
179
176
|
if (parseFloat(result.balance) < 0.1) {
|
|
180
|
-
console.log(chalk_1.default.yellow('
|
|
181
|
-
console.log(chalk_1.default.gray(` Recommended: At least 0.1 AVAX\n`));
|
|
177
|
+
console.log(chalk_1.default.yellow('\u26A0\uFE0F Low balance! Facilitator may become inactive.\n'));
|
|
182
178
|
}
|
|
183
179
|
}
|
|
184
180
|
catch (error) {
|
|
185
181
|
spinner.fail('Failed to check balance');
|
|
186
|
-
console.log(chalk_1.default.red(`\n
|
|
182
|
+
console.log(chalk_1.default.red(`\n\u274C Error: ${error.message}\n`));
|
|
187
183
|
process.exit(1);
|
|
188
184
|
}
|
|
189
185
|
}
|
|
190
186
|
function getStatusEmoji(status) {
|
|
191
187
|
switch (status) {
|
|
192
188
|
case 'active':
|
|
193
|
-
return '
|
|
189
|
+
return '\u2705';
|
|
194
190
|
case 'needs_funding':
|
|
195
|
-
return '
|
|
191
|
+
return '\u26A0\uFE0F';
|
|
196
192
|
case 'inactive':
|
|
197
|
-
return '
|
|
193
|
+
return '\u274C';
|
|
198
194
|
default:
|
|
199
|
-
return '
|
|
195
|
+
return '\u2753';
|
|
200
196
|
}
|
|
201
197
|
}
|
|
202
198
|
exports.facilitatorCommand = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../src/commands/facilitator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,wDAAgC;AAChC,kDAA0B;AAC1B,8CAAsB;AACtB,mCAAgC;AAChC,4CAA4C;AAC5C,sCAKsB;
|
|
1
|
+
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../src/commands/facilitator.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/pay.d.ts
CHANGED
|
@@ -3,12 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Make a payment via x402 facilitator network
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
amount: string;
|
|
8
|
-
to?: string;
|
|
9
|
-
chain: string;
|
|
10
|
-
network?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function payCommand(options: PayOptions): Promise<void>;
|
|
13
|
-
export {};
|
|
6
|
+
export declare function payCommand(options: any): Promise<void>;
|
|
14
7
|
//# sourceMappingURL=pay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../src/commands/pay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../src/commands/pay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH,wBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,iBA4J5C"}
|
package/dist/commands/pay.js
CHANGED
|
@@ -24,23 +24,30 @@ const CHAINS = {
|
|
|
24
24
|
},
|
|
25
25
|
ethereum: {
|
|
26
26
|
name: 'Ethereum Sepolia',
|
|
27
|
-
rpcUrl: 'https://rpc.
|
|
27
|
+
rpcUrl: 'https://ethereum-sepolia-rpc.publicnode.com',
|
|
28
28
|
usdcAddress: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
|
|
29
29
|
chainId: 11155111,
|
|
30
30
|
},
|
|
31
|
+
base: {
|
|
32
|
+
name: 'Base Sepolia',
|
|
33
|
+
rpcUrl: 'https://sepolia.base.org',
|
|
34
|
+
usdcAddress: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
|
|
35
|
+
chainId: 84532,
|
|
36
|
+
},
|
|
37
|
+
polygon: {
|
|
38
|
+
name: 'Polygon Amoy',
|
|
39
|
+
rpcUrl: 'https://rpc-amoy.polygon.technology',
|
|
40
|
+
usdcAddress: '0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582',
|
|
41
|
+
chainId: 80002,
|
|
42
|
+
},
|
|
31
43
|
};
|
|
32
|
-
const ERC3009_ABI = [
|
|
33
|
-
'function transferWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce, uint8 v, bytes32 r, bytes32 s) external',
|
|
34
|
-
];
|
|
35
44
|
async function payCommand(options) {
|
|
36
|
-
console.log(chalk_1.default.cyan('\n
|
|
37
|
-
// Check if wallet is connected
|
|
45
|
+
console.log(chalk_1.default.cyan('\n\uD83D\uDCB3 Make Payment via x402 Network\n'));
|
|
38
46
|
const config = (0, config_1.getConfig)();
|
|
39
47
|
if (!config.privateKey) {
|
|
40
|
-
console.log(chalk_1.default.red('
|
|
48
|
+
console.log(chalk_1.default.red('\u274C No wallet connected. Run `facinet connect` first.'));
|
|
41
49
|
process.exit(1);
|
|
42
50
|
}
|
|
43
|
-
// Get recipient if not provided
|
|
44
51
|
let recipient = options.to;
|
|
45
52
|
if (!recipient) {
|
|
46
53
|
const answer = await inquirer_1.default.prompt([
|
|
@@ -60,10 +67,10 @@ async function payCommand(options) {
|
|
|
60
67
|
}
|
|
61
68
|
const chain = CHAINS[options.chain];
|
|
62
69
|
if (!chain) {
|
|
63
|
-
console.log(chalk_1.default.red(
|
|
70
|
+
console.log(chalk_1.default.red(`\u274C Unsupported chain: ${options.chain}. Supported: ${Object.keys(CHAINS).join(', ')}`));
|
|
64
71
|
process.exit(1);
|
|
65
72
|
}
|
|
66
|
-
console.log(chalk_1.default.gray(`\n
|
|
73
|
+
console.log(chalk_1.default.gray(`\n\uD83D\uDCCA Payment Details:`));
|
|
67
74
|
console.log(chalk_1.default.gray(` Amount: ${options.amount} USDC`));
|
|
68
75
|
console.log(chalk_1.default.gray(` To: ${recipient}`));
|
|
69
76
|
console.log(chalk_1.default.gray(` Chain: ${chain.name}`));
|
|
@@ -82,20 +89,17 @@ async function payCommand(options) {
|
|
|
82
89
|
}
|
|
83
90
|
let spinner = (0, ora_1.default)('Selecting random facilitator...').start();
|
|
84
91
|
try {
|
|
85
|
-
// Get random facilitator
|
|
86
92
|
const facilitator = await (0, api_1.selectRandomFacilitator)(config.apiUrl || options.network || 'https://x402-avalanche-chi.vercel.app');
|
|
87
93
|
spinner.succeed(`Selected facilitator: ${chalk_1.default.green(facilitator.name)}`);
|
|
88
|
-
// Initialize wallet and provider
|
|
89
94
|
spinner = (0, ora_1.default)('Preparing transaction...').start();
|
|
90
95
|
const wallet = new ethers_1.Wallet(config.privateKey);
|
|
91
96
|
const provider = new ethers_1.JsonRpcProvider(chain.rpcUrl);
|
|
92
97
|
const connectedWallet = wallet.connect(provider);
|
|
93
|
-
|
|
94
|
-
const amount = BigInt(parseFloat(options.amount) * 1000000); // 6 decimals for USDC
|
|
98
|
+
const amount = BigInt(parseFloat(options.amount) * 1000000);
|
|
95
99
|
const validAfter = Math.floor(Date.now() / 1000) - 60;
|
|
96
|
-
const validBefore = validAfter + 3600;
|
|
97
|
-
const nonce = '0x' +
|
|
98
|
-
|
|
100
|
+
const validBefore = validAfter + 3600;
|
|
101
|
+
const nonce = '0x' +
|
|
102
|
+
Array.from({ length: 64 }, () => Math.floor(Math.random() * 16).toString(16)).join('');
|
|
99
103
|
const domain = {
|
|
100
104
|
name: 'USD Coin',
|
|
101
105
|
version: '2',
|
|
@@ -116,14 +120,13 @@ async function payCommand(options) {
|
|
|
116
120
|
from: wallet.address,
|
|
117
121
|
to: recipient,
|
|
118
122
|
value: amount,
|
|
119
|
-
validAfter
|
|
120
|
-
validBefore
|
|
121
|
-
nonce
|
|
123
|
+
validAfter,
|
|
124
|
+
validBefore,
|
|
125
|
+
nonce,
|
|
122
126
|
};
|
|
123
127
|
spinner.text = 'Signing authorization...';
|
|
124
128
|
const signature = await connectedWallet.signTypedData(domain, types, value);
|
|
125
129
|
spinner.succeed('Authorization signed!');
|
|
126
|
-
// Send to facilitator for execution
|
|
127
130
|
spinner = (0, ora_1.default)('Submitting to facilitator...').start();
|
|
128
131
|
const paymentPayload = {
|
|
129
132
|
signature,
|
|
@@ -133,36 +136,38 @@ async function payCommand(options) {
|
|
|
133
136
|
value: amount.toString(),
|
|
134
137
|
validAfter: validAfter.toString(),
|
|
135
138
|
validBefore: validBefore.toString(),
|
|
136
|
-
nonce
|
|
139
|
+
nonce,
|
|
137
140
|
},
|
|
138
141
|
};
|
|
139
|
-
// Submit to API
|
|
140
142
|
const axios = require('axios');
|
|
141
143
|
const apiUrl = config.apiUrl || options.network || 'https://x402-avalanche-chi.vercel.app';
|
|
142
144
|
const response = await axios.post(`${apiUrl}/api/x402/settle-custom`, {
|
|
143
145
|
facilitatorId: facilitator.id,
|
|
144
|
-
paymentPayload
|
|
146
|
+
paymentPayload,
|
|
145
147
|
});
|
|
146
148
|
if (!response.data.success) {
|
|
147
149
|
throw new Error(response.data.error || 'Payment failed');
|
|
148
150
|
}
|
|
149
151
|
spinner.succeed('Payment submitted!');
|
|
150
152
|
const txHash = response.data.txHash;
|
|
151
|
-
console.log(chalk_1.default.green('\n
|
|
152
|
-
console.log(chalk_1.default.gray(`\n
|
|
153
|
+
console.log(chalk_1.default.green('\n\u2705 Payment processed successfully!'));
|
|
154
|
+
console.log(chalk_1.default.gray(`\n\uD83D\uDCC4 Payment Details:`));
|
|
153
155
|
console.log(chalk_1.default.gray(` Facilitator: ${facilitator.name}`));
|
|
154
156
|
console.log(chalk_1.default.gray(` Amount: ${options.amount} USDC`));
|
|
155
157
|
console.log(chalk_1.default.gray(` Recipient: ${recipient}`));
|
|
156
158
|
console.log(chalk_1.default.gray(` Chain: ${chain.name}`));
|
|
157
159
|
console.log(chalk_1.default.gray(` Transaction: ${txHash}\n`));
|
|
158
|
-
|
|
160
|
+
console.log(chalk_1.default.cyan(`\uD83D\uDD17 View on explorer: ${chain.name.includes('Avalanche')
|
|
159
161
|
? `https://testnet.snowtrace.io/tx/${txHash}`
|
|
160
|
-
:
|
|
161
|
-
|
|
162
|
+
: chain.name.includes('Base')
|
|
163
|
+
? `https://sepolia.basescan.org/tx/${txHash}`
|
|
164
|
+
: chain.name.includes('Polygon')
|
|
165
|
+
? `https://amoy.polygonscan.com/tx/${txHash}`
|
|
166
|
+
: `https://sepolia.etherscan.io/tx/${txHash}`}\n`));
|
|
162
167
|
}
|
|
163
168
|
catch (error) {
|
|
164
169
|
spinner.fail('Payment failed');
|
|
165
|
-
console.log(chalk_1.default.red(`\n
|
|
170
|
+
console.log(chalk_1.default.red(`\n\u274C Error: ${error.message}\n`));
|
|
166
171
|
process.exit(1);
|
|
167
172
|
}
|
|
168
173
|
}
|
package/dist/commands/pay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../src/commands/pay.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../src/commands/pay.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
|