fuego-cli 1.1.1 → 1.2.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 +38 -0
- package/dist/commands/fund.d.ts +2 -0
- package/dist/commands/fund.d.ts.map +1 -0
- package/dist/commands/fund.js +47 -0
- package/dist/commands/fund.js.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/fuego-cli-1.2.0.tgz +0 -0
- package/package.json +4 -2
- package/src/commands/fund.ts +58 -0
- package/src/index.ts +6 -0
package/README.md
CHANGED
|
@@ -72,6 +72,7 @@ fuego dashboard
|
|
|
72
72
|
| `fuego balance` | Check SOL, USDC, USDT balances |
|
|
73
73
|
| `fuego rpc` | Show or configure your Solana RPC endpoint |
|
|
74
74
|
| `fuego contacts` | Manage your contacts |
|
|
75
|
+
| `fuego fund` | Show funding options: MoonPay link + QR code |
|
|
75
76
|
| `fuego send` | Send SOL, USDC, or USDT to an address or contact |
|
|
76
77
|
|
|
77
78
|
### Project Management
|
|
@@ -240,6 +241,43 @@ fuego contacts remove melanie --yes
|
|
|
240
241
|
|
|
241
242
|
---
|
|
242
243
|
|
|
244
|
+
### `fuego fund`
|
|
245
|
+
|
|
246
|
+
Show funding options for your wallet: MoonPay onramp link + QR codes for easy scanning.
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
fuego fund
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Output:**
|
|
253
|
+
- Your wallet address (plain text for copying)
|
|
254
|
+
- QR code of your address (scan to receive SOL from another wallet)
|
|
255
|
+
- MoonPay onramp URL (buy SOL with card/bank, pre-filled with your address)
|
|
256
|
+
- QR code for MoonPay link (scan to open on mobile)
|
|
257
|
+
|
|
258
|
+
**Example:**
|
|
259
|
+
```
|
|
260
|
+
💰 Fund Your Wallet
|
|
261
|
+
Address: DmFyLRiJtc4Bz75hjAqPaEJpDfRe4GEnRLPwc3EgeUZF
|
|
262
|
+
|
|
263
|
+
📱 Scan to receive SOL:
|
|
264
|
+
|
|
265
|
+
[QR CODE]
|
|
266
|
+
|
|
267
|
+
🔗 MoonPay Onramp
|
|
268
|
+
Buy SOL with card/bank and send directly to your wallet:
|
|
269
|
+
|
|
270
|
+
https://buy.moonpay.com/?currencyCode=SOL&walletAddress=DmFyLRiJtc4Bz75hjAqPaEJpDfRe4GEnRLPwc3EgeUZF
|
|
271
|
+
|
|
272
|
+
Or scan this QR code to fund:
|
|
273
|
+
|
|
274
|
+
[QR CODE]
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Note:** MoonPay requires KYC and is available in supported regions. The QR code for your address works with any Solana wallet (Phantom, Solflare, etc.).
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
243
281
|
### `fuego send <recipient> <amount>`
|
|
244
282
|
|
|
245
283
|
Send SOL, USDC, or USDT to a Solana address or address book contact.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fund.d.ts","sourceRoot":"","sources":["../../src/commands/fund.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDjD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import qrcode from 'qrcode-terminal';
|
|
3
|
+
import boxen from 'boxen';
|
|
4
|
+
import { loadWalletConfig } from '../lib/config.js';
|
|
5
|
+
import { showInfo, flameDivider } from '../lib/ascii.js';
|
|
6
|
+
export async function fundCommand() {
|
|
7
|
+
console.log(); // spacer
|
|
8
|
+
const config = loadWalletConfig();
|
|
9
|
+
if (!config) {
|
|
10
|
+
console.log(chalk.red('❌ No wallet found. Run "fuego create" first.'));
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
const address = config.publicKey;
|
|
14
|
+
// MoonPay URL for funding SOL to this wallet
|
|
15
|
+
const moonpayUrl = `https://buy.moonpay.com/?currencyCode=SOL&walletAddress=${address}`;
|
|
16
|
+
// Generate QR code first, then display everything in a box
|
|
17
|
+
qrcode.generate(address, { small: true }, (qrcodeOutput) => {
|
|
18
|
+
// Indent the QR code
|
|
19
|
+
const indentedQr = qrcodeOutput.split('\n').map(line => ' ' + line).join('\n');
|
|
20
|
+
// Build the fund box content
|
|
21
|
+
const fundContent = [
|
|
22
|
+
chalk.bold.cyan('💰 Fund Your Wallet'),
|
|
23
|
+
'',
|
|
24
|
+
chalk.white('Address:'),
|
|
25
|
+
chalk.cyan(address),
|
|
26
|
+
'',
|
|
27
|
+
chalk.yellow('📱 Scan to send funds to your address:'),
|
|
28
|
+
'',
|
|
29
|
+
indentedQr
|
|
30
|
+
].join('\n');
|
|
31
|
+
// Display the fund box
|
|
32
|
+
console.log(boxen(fundContent, {
|
|
33
|
+
padding: 1,
|
|
34
|
+
margin: { top: 0, bottom: 1 },
|
|
35
|
+
borderStyle: 'round',
|
|
36
|
+
borderColor: 'green'
|
|
37
|
+
}));
|
|
38
|
+
// Show MoonPay box
|
|
39
|
+
showInfo('🔗 MoonPay Onramp', [
|
|
40
|
+
'Buy SOL with card/bank and send directly to your wallet:',
|
|
41
|
+
'',
|
|
42
|
+
chalk.cyan(moonpayUrl)
|
|
43
|
+
]);
|
|
44
|
+
flameDivider();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=fund.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fund.js","sourceRoot":"","sources":["../../src/commands/fund.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAExB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;IAEjC,6CAA6C;IAC7C,MAAM,UAAU,GAAG,2DAA2D,OAAO,EAAE,CAAC;IAExF,2DAA2D;IAC3D,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAoB,EAAE,EAAE;QACjE,qBAAqB;QACrB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhF,6BAA6B;QAC7B,MAAM,WAAW,GAAG;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;YACtC,EAAE;YACF,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACnB,EAAE;YACF,KAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC;YACtD,EAAE;YACF,UAAU;SACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,uBAAuB;QACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,WAAW,EAAE;YACjB,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YAC7B,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,OAAO;SACrB,CAAC,CACH,CAAC;QAEF,mBAAmB;QACnB,QAAQ,CAAC,mBAAmB,EAAE;YAC5B,0DAA0D;YAC1D,EAAE;YACF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;SACvB,CAAC,CAAC;QAEH,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { updateCommand } from './commands/update.js';
|
|
|
11
11
|
import { rpcCommand } from './commands/rpc.js';
|
|
12
12
|
import { contactsAddCommand, contactsListCommand, contactsShowCommand, contactsRemoveCommand } from './commands/contacts.js';
|
|
13
13
|
import { sendCommand } from './commands/send.js';
|
|
14
|
+
import { fundCommand } from './commands/fund.js';
|
|
14
15
|
import { showBanner } from './lib/ascii.js';
|
|
15
16
|
import { getFuegoCliVersion } from './lib/config.js';
|
|
16
17
|
async function main() {
|
|
@@ -91,6 +92,10 @@ async function main() {
|
|
|
91
92
|
.description('Remove a contact')
|
|
92
93
|
.option('-y, --yes', 'Skip confirmation prompt')
|
|
93
94
|
.action(contactsRemoveCommand);
|
|
95
|
+
program
|
|
96
|
+
.command('fund')
|
|
97
|
+
.description('Show funding options: MoonPay link + QR code for your wallet')
|
|
98
|
+
.action(fundCommand);
|
|
94
99
|
program
|
|
95
100
|
.command('send <recipient> <amount>')
|
|
96
101
|
.description('Send SOL, USDC, or USDT to an address or contact')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC7H,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,KAAK,UAAU,IAAI;IACjB,iDAAiD;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,sDAAsD,CAAC;SACnE,OAAO,CAAC,kBAAkB,EAAE,CAAC;SAC7B,eAAe,CAAC;QACf,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACnD,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,aAAa,EAAE,2BAA2B,CAAC;SAClD,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;SAC3D,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,SAAS,CAAC;SACrD,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,mBAAmB,EAAE,kFAAkF,CAAC;SAC/G,MAAM,CAAC,cAAc,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,MAAM,CAAC;SACb,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,KAAK,CAAC;SACZ,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,cAAc,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,MAAM,CAAC;SACb,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5B,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC;SACxC,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;SAClD,MAAM,CAAC,aAAa,CAAC,CAAC;IAEzB,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,8DAA8D,CAAC;SACzF,MAAM,CAAC,yBAAyB,EAAE,yCAAyC,EAAE,SAAS,CAAC;SACvF,MAAM,CAAC,UAAU,CAAC,CAAC;IAEtB,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,sEAAsE,CAAC,CAAC;IAEvF,QAAQ;SACL,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,qBAAqB,EAAE,6CAA6C,CAAC;SAC5E,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9B,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,QAAQ;SACL,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEjC,OAAO;SACJ,OAAO,CAAC,2BAA2B,CAAC;SACpC,WAAW,CAAC,kDAAkD,CAAC;SAC/D,cAAc,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;SACxE,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;SAC7D,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fuego-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Command-line interface for Fuego - the sovereign Solana wallet for AI agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -43,11 +43,13 @@
|
|
|
43
43
|
"fs-extra": "^11.3.0",
|
|
44
44
|
"gradient-string": "^3.0.0",
|
|
45
45
|
"inquirer": "^12.4.2",
|
|
46
|
-
"ora": "^8.2.0"
|
|
46
|
+
"ora": "^8.2.0",
|
|
47
|
+
"qrcode-terminal": "^0.12.0"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
50
|
"@types/fs-extra": "^11.0.4",
|
|
50
51
|
"@types/node": "^22.13.5",
|
|
52
|
+
"@types/qrcode-terminal": "^0.12.2",
|
|
51
53
|
"@typescript-eslint/eslint-plugin": "^8.25.0",
|
|
52
54
|
"@typescript-eslint/parser": "^8.25.0",
|
|
53
55
|
"eslint": "^10.0.1",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import qrcode from 'qrcode-terminal';
|
|
3
|
+
import boxen from 'boxen';
|
|
4
|
+
import { loadWalletConfig } from '../lib/config.js';
|
|
5
|
+
import { showInfo, flameDivider } from '../lib/ascii.js';
|
|
6
|
+
|
|
7
|
+
export async function fundCommand(): Promise<void> {
|
|
8
|
+
console.log(); // spacer
|
|
9
|
+
|
|
10
|
+
const config = loadWalletConfig();
|
|
11
|
+
|
|
12
|
+
if (!config) {
|
|
13
|
+
console.log(chalk.red('❌ No wallet found. Run "fuego create" first.'));
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const address = config.publicKey;
|
|
18
|
+
|
|
19
|
+
// MoonPay URL for funding SOL to this wallet
|
|
20
|
+
const moonpayUrl = `https://buy.moonpay.com/?currencyCode=SOL&walletAddress=${address}`;
|
|
21
|
+
|
|
22
|
+
// Generate QR code first, then display everything in a box
|
|
23
|
+
qrcode.generate(address, { small: true }, (qrcodeOutput: string) => {
|
|
24
|
+
// Indent the QR code
|
|
25
|
+
const indentedQr = qrcodeOutput.split('\n').map(line => ' ' + line).join('\n');
|
|
26
|
+
|
|
27
|
+
// Build the fund box content
|
|
28
|
+
const fundContent = [
|
|
29
|
+
chalk.bold.cyan('💰 Fund Your Wallet'),
|
|
30
|
+
'',
|
|
31
|
+
chalk.white('Address:'),
|
|
32
|
+
chalk.cyan(address),
|
|
33
|
+
'',
|
|
34
|
+
chalk.yellow('📱 Scan to send funds to your address:'),
|
|
35
|
+
'',
|
|
36
|
+
indentedQr
|
|
37
|
+
].join('\n');
|
|
38
|
+
|
|
39
|
+
// Display the fund box
|
|
40
|
+
console.log(
|
|
41
|
+
boxen(fundContent, {
|
|
42
|
+
padding: 1,
|
|
43
|
+
margin: { top: 0, bottom: 1 },
|
|
44
|
+
borderStyle: 'round',
|
|
45
|
+
borderColor: 'green'
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
// Show MoonPay box
|
|
50
|
+
showInfo('🔗 MoonPay Onramp', [
|
|
51
|
+
'Buy SOL with card/bank and send directly to your wallet:',
|
|
52
|
+
'',
|
|
53
|
+
chalk.cyan(moonpayUrl)
|
|
54
|
+
]);
|
|
55
|
+
|
|
56
|
+
flameDivider();
|
|
57
|
+
});
|
|
58
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { updateCommand } from './commands/update.js';
|
|
|
12
12
|
import { rpcCommand } from './commands/rpc.js';
|
|
13
13
|
import { contactsAddCommand, contactsListCommand, contactsShowCommand, contactsRemoveCommand } from './commands/contacts.js';
|
|
14
14
|
import { sendCommand } from './commands/send.js';
|
|
15
|
+
import { fundCommand } from './commands/fund.js';
|
|
15
16
|
import { showBanner } from './lib/ascii.js';
|
|
16
17
|
import { getFuegoCliVersion } from './lib/config.js';
|
|
17
18
|
|
|
@@ -109,6 +110,11 @@ async function main() {
|
|
|
109
110
|
.option('-y, --yes', 'Skip confirmation prompt')
|
|
110
111
|
.action(contactsRemoveCommand);
|
|
111
112
|
|
|
113
|
+
program
|
|
114
|
+
.command('fund')
|
|
115
|
+
.description('Show funding options: MoonPay link + QR code for your wallet')
|
|
116
|
+
.action(fundCommand);
|
|
117
|
+
|
|
112
118
|
program
|
|
113
119
|
.command('send <recipient> <amount>')
|
|
114
120
|
.description('Send SOL, USDC, or USDT to an address or contact')
|