neutron-cli 0.1.9 → 0.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/dist/client.d.ts CHANGED
@@ -1,3 +1,9 @@
1
1
  import { Neutron } from "neutron-sdk";
2
- export declare function getClient(): Neutron;
2
+ interface Config {
3
+ apiKey: string;
4
+ apiSecret: string;
5
+ }
6
+ export declare function loadConfig(): Promise<Config>;
7
+ export declare function getClient(): Promise<Neutron>;
8
+ export {};
3
9
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiCtC,wBAAgB,SAAS,IAAI,OAAO,CAMnC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAMtC,UAAU,MAAM;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAoED,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAYlD;AAID,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAMlD"}
package/dist/client.js CHANGED
@@ -1,35 +1,102 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadConfig = loadConfig;
3
4
  exports.getClient = getClient;
4
5
  const fs_1 = require("fs");
5
6
  const os_1 = require("os");
6
7
  const path_1 = require("path");
7
8
  const neutron_sdk_1 = require("neutron-sdk");
8
9
  const output_js_1 = require("./output.js");
9
- function loadConfig() {
10
- // 1. Env vars
11
- const apiKey = process.env.NEUTRON_API_KEY;
12
- const apiSecret = process.env.NEUTRON_API_SECRET;
13
- if (apiKey && apiSecret)
14
- return { apiKey, apiSecret };
15
- // 2. ~/.neutron/config.json
10
+ const CONFIG_DIR = (0, path_1.join)((0, os_1.homedir)(), ".neutron");
11
+ const CONFIG_PATH = (0, path_1.join)(CONFIG_DIR, "config.json");
12
+ function loadConfigFile() {
16
13
  try {
17
- const cfgPath = (0, path_1.join)((0, os_1.homedir)(), ".neutron", "config.json");
18
- const raw = (0, fs_1.readFileSync)(cfgPath, "utf8");
14
+ if (!(0, fs_1.existsSync)(CONFIG_PATH))
15
+ return null;
16
+ const raw = (0, fs_1.readFileSync)(CONFIG_PATH, "utf8");
19
17
  const cfg = JSON.parse(raw);
20
18
  if (cfg.apiKey && cfg.apiSecret)
21
19
  return cfg;
20
+ return null;
22
21
  }
23
22
  catch {
24
- // file not found or malformed — fall through
23
+ return null;
24
+ }
25
+ }
26
+ function saveConfigFile(cfg) {
27
+ if (!(0, fs_1.existsSync)(CONFIG_DIR))
28
+ (0, fs_1.mkdirSync)(CONFIG_DIR, { recursive: true });
29
+ (0, fs_1.writeFileSync)(CONFIG_PATH, JSON.stringify(cfg, null, 2), "utf8");
30
+ (0, fs_1.chmodSync)(CONFIG_PATH, 0o600);
31
+ (0, fs_1.chmodSync)(CONFIG_DIR, 0o700);
32
+ }
33
+ function promptMasked(question) {
34
+ return new Promise((resolve) => {
35
+ process.stdout.write(question);
36
+ let input = "";
37
+ process.stdin.setRawMode?.(true);
38
+ process.stdin.resume();
39
+ process.stdin.setEncoding("utf8");
40
+ function handler(ch) {
41
+ if (ch === "\n" || ch === "\r") {
42
+ process.stdin.setRawMode?.(false);
43
+ process.stdin.removeListener("data", handler);
44
+ process.stdout.write("\n");
45
+ resolve(input);
46
+ }
47
+ else if (ch === "\u0003") {
48
+ process.stdout.write("\n");
49
+ process.exit();
50
+ }
51
+ else if (ch === "\u007f" || ch === "\b") {
52
+ // backspace — silently remove last char, no visual change
53
+ if (input.length > 0)
54
+ input = input.slice(0, -1);
55
+ }
56
+ else {
57
+ input += ch;
58
+ process.stdout.write("*");
59
+ }
60
+ }
61
+ process.stdin.on("data", handler);
62
+ });
63
+ }
64
+ async function runFirstTimeSetup() {
65
+ console.log("\n" + output_js_1.chalk.bold.cyan("⚡ Welcome to Neutron CLI"));
66
+ console.log(output_js_1.chalk.dim(" No credentials found. Let's set them up.\n"));
67
+ console.log(output_js_1.chalk.dim(" Get your API key at: ") + output_js_1.chalk.cyan.underline("https://portal.neutron.me") + "\n");
68
+ const apiKey = await promptMasked(output_js_1.chalk.bold(" API Key: "));
69
+ if (!apiKey) {
70
+ console.error(output_js_1.chalk.red(" API key is required."));
71
+ process.exit(1);
72
+ }
73
+ const apiSecret = await promptMasked(output_js_1.chalk.bold(" API Secret: "));
74
+ if (!apiSecret) {
75
+ console.error(output_js_1.chalk.red(" API secret is required."));
76
+ process.exit(1);
25
77
  }
26
- (0, output_js_1.fail)("Missing credentials. Set NEUTRON_API_KEY and NEUTRON_API_SECRET env vars, " +
27
- "or create ~/.neutron/config.json with { \"apiKey\": \"...\", \"apiSecret\": \"...\" }", "AUTH_MISSING");
78
+ saveConfigFile({ apiKey, apiSecret });
79
+ console.log("\n" + output_js_1.chalk.green(" Credentials saved to ~/.neutron/config.json"));
80
+ console.log(output_js_1.chalk.dim(" Permissions set to 600 (private to you)\n"));
81
+ return { apiKey, apiSecret };
82
+ }
83
+ async function loadConfig() {
84
+ // 1. Env vars
85
+ const apiKey = process.env.NEUTRON_API_KEY;
86
+ const apiSecret = process.env.NEUTRON_API_SECRET;
87
+ if (apiKey && apiSecret)
88
+ return { apiKey, apiSecret };
89
+ // 2. ~/.neutron/config.json
90
+ const cfg = loadConfigFile();
91
+ if (cfg)
92
+ return cfg;
93
+ // 3. First-time setup — guide the user interactively
94
+ return runFirstTimeSetup();
28
95
  }
29
96
  let _client = null;
30
- function getClient() {
97
+ async function getClient() {
31
98
  if (!_client) {
32
- const cfg = loadConfig();
99
+ const cfg = await loadConfig();
33
100
  _client = new neutron_sdk_1.Neutron({ apiKey: cfg.apiKey, apiSecret: cfg.apiSecret });
34
101
  }
35
102
  return _client;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;AAoCA,8BAMC;AA1CD,2BAAkC;AAClC,2BAA6B;AAC7B,+BAA4B;AAC5B,6CAAsC;AACtC,2CAAmC;AAOnC,SAAS,UAAU;IACjB,cAAc;IACd,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACjD,IAAI,MAAM,IAAI,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAEtD,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAA,iBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,GAAa,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,IAAA,gBAAI,EACF,4EAA4E;QAC1E,uFAAuF,EACzF,cAAc,CACf,CAAC;AACJ,CAAC;AAED,IAAI,OAAO,GAAmB,IAAI,CAAC;AAEnC,SAAgB,SAAS;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,OAAO,GAAG,IAAI,qBAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerAddress(program: Command): void;
3
+ //# sourceMappingURL=address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoEtD"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerAddress = registerAddress;
4
+ const client_js_1 = require("../client.js");
5
+ const output_js_1 = require("../output.js");
6
+ function registerAddress(program) {
7
+ const addressCmd = program
8
+ .command("address")
9
+ .description("Get deposit addresses for your account");
10
+ addressCmd
11
+ .command("btc")
12
+ .description("Get your Bitcoin on-chain deposit address")
13
+ .option("--json", "Output raw JSON (for scripts/agents)")
14
+ .action(async (opts) => {
15
+ try {
16
+ const client = await (0, client_js_1.getClient)();
17
+ const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Fetching BTC address...") : null;
18
+ const result = await client.account.btcAddress();
19
+ spinner?.succeed(output_js_1.chalk.green("Address loaded"));
20
+ if ((0, output_js_1.isPretty)(opts)) {
21
+ (0, output_js_1.header)("Bitcoin Deposit Address (On-chain)");
22
+ (0, output_js_1.kv)("Address:", output_js_1.chalk.bold.yellow(result.address));
23
+ (0, output_js_1.kv)("Network:", "Bitcoin Mainnet");
24
+ console.log();
25
+ console.log(output_js_1.chalk.dim(" 💡 This is a static, reusable address for your account."));
26
+ console.log(output_js_1.chalk.dim(" Scan or paste into any Bitcoin wallet to deposit."));
27
+ console.log();
28
+ }
29
+ else {
30
+ (0, output_js_1.ok)({ address: result.address, network: "BTC" });
31
+ }
32
+ }
33
+ catch (e) {
34
+ (0, output_js_1.fail)(e?.message ?? "Failed to fetch BTC address", "ADDRESS_ERROR");
35
+ }
36
+ });
37
+ addressCmd
38
+ .command("usdt")
39
+ .description("Get your USDT deposit address")
40
+ .option("--chain <chain>", "Blockchain network (TRON or ETH)", "TRON")
41
+ .option("--json", "Output raw JSON (for scripts/agents)")
42
+ .action(async (opts) => {
43
+ try {
44
+ const chain = opts.chain.toUpperCase();
45
+ if (chain !== "TRON" && chain !== "ETH") {
46
+ (0, output_js_1.fail)(`Invalid chain "${opts.chain}". Use TRON or ETH.`, "INVALID_CHAIN");
47
+ }
48
+ const client = await (0, client_js_1.getClient)();
49
+ const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)(`Fetching USDT address (${chain})...`) : null;
50
+ const result = await client.account.usdtAddress(chain);
51
+ spinner?.succeed(output_js_1.chalk.green("Address loaded"));
52
+ if ((0, output_js_1.isPretty)(opts)) {
53
+ (0, output_js_1.header)(`USDT Deposit Address (${result.chain})`);
54
+ (0, output_js_1.kv)("Address:", output_js_1.chalk.bold.yellow(result.address));
55
+ (0, output_js_1.kv)("Network:", result.chain);
56
+ (0, output_js_1.kv)("Currency:", "USDT (Tether)");
57
+ console.log();
58
+ const feeNote = result.chain === "TRON"
59
+ ? "💡 TRON recommended — low fees and fast confirmations."
60
+ : "💡 ETH network — higher gas fees, use for large amounts only.";
61
+ console.log(output_js_1.chalk.dim(` ${feeNote}`));
62
+ console.log(output_js_1.chalk.dim(" This is a static, reusable address for your account."));
63
+ console.log();
64
+ }
65
+ else {
66
+ (0, output_js_1.ok)({ address: result.address, chain: result.chain, currency: "USDT" });
67
+ }
68
+ }
69
+ catch (e) {
70
+ (0, output_js_1.fail)(e?.message ?? "Failed to fetch USDT address", "ADDRESS_ERROR");
71
+ }
72
+ });
73
+ }
74
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/commands/address.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ function registerAuth(program) {
10
10
  .option("--json", "Output raw JSON (for scripts/agents)")
11
11
  .action(async (opts) => {
12
12
  try {
13
- const client = (0, client_js_1.getClient)();
13
+ const client = await (0, client_js_1.getClient)();
14
14
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Authenticating...") : null;
15
15
  const account = await client.account.get();
16
16
  spinner?.succeed(output_js_1.chalk.green("Authenticated"));
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":";;AAIA,oCA0BC;AA7BD,4CAAyC;AACzC,4CAAoF;AAEpF,SAAgB,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAS,CAAC;YAClD,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAE/C,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC;gBAClB,IAAA,cAAE,EAAC,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAClD,IAAA,cAAE,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gBACxD,IAAA,cAAE,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;gBACrC,IAAA,cAAE,EAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,OAAO,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,mBAAmB,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":";;AAIA,oCA0BC;AA7BD,4CAAyC;AACzC,4CAAoF;AAEpF,SAAgB,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAS,CAAC;YAClD,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAE/C,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC;gBAClB,IAAA,cAAE,EAAC,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAClD,IAAA,cAAE,EAAC,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gBACxD,IAAA,cAAE,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;gBACrC,IAAA,cAAE,EAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,OAAO,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,mBAAmB,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -10,7 +10,7 @@ function registerBalance(program) {
10
10
  .option("--json", "Output raw JSON (for scripts/agents)")
11
11
  .action(async (opts) => {
12
12
  try {
13
- const client = (0, client_js_1.getClient)();
13
+ const client = await (0, client_js_1.getClient)();
14
14
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Fetching wallets...") : null;
15
15
  const wallets = await client.account.wallets();
16
16
  spinner?.succeed(output_js_1.chalk.green("Wallets loaded"));
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":";;AAIA,0CAoCC;AAvCD,4CAAyC;AACzC,4CAA8E;AAE9E,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAW,CAAC;YACxD,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAEhD,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,iBAAK,CAAC;oBACtB,IAAI,EAAE,CAAC,iBAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,iBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;iBACrC,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;oBACvC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;oBACvC,MAAM,OAAO,GAAG,GAAG,KAAK,KAAK;wBAC3B,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO;wBAC9C,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,iBAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,yBAAyB,EAAE,eAAe,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":";;AAIA,0CAoCC;AAvCD,4CAAyC;AACzC,4CAA8E;AAE9E,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAW,CAAC;YACxD,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAEhD,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,iBAAK,CAAC;oBACtB,IAAI,EAAE,CAAC,iBAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,iBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;iBACrC,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC;oBACvC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;oBACvC,MAAM,OAAO,GAAG,GAAG,KAAK,KAAK;wBAC3B,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO;wBAC9C,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,CAAC,iBAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,iBAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,yBAAyB,EAAE,eAAe,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerFiat(program: Command): void;
3
+ //# sourceMappingURL=fiat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiat.d.ts","sourceRoot":"","sources":["../../src/commands/fiat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsHnD"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerFiat = registerFiat;
4
+ const client_js_1 = require("../client.js");
5
+ const output_js_1 = require("../output.js");
6
+ const KYC_PORTAL_URL = "https://portal.neutron.me";
7
+ function registerFiat(program) {
8
+ const fiatCmd = program
9
+ .command("fiat")
10
+ .description("Fiat payout operations");
11
+ fiatCmd
12
+ .command("institutions")
13
+ .description("List banks and financial institutions for a country")
14
+ .requiredOption("--country <code>", "Country code (e.g., VN, PH, TH)")
15
+ .option("--json", "Output raw JSON (for scripts/agents)")
16
+ .action(async (opts) => {
17
+ try {
18
+ const country = opts.country.toUpperCase();
19
+ const client = await (0, client_js_1.getClient)();
20
+ const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)(`Fetching banks for ${country}...`) : null;
21
+ const institutions = await client.fiat.institutions(country);
22
+ spinner?.succeed(output_js_1.chalk.green(`Found ${institutions.length} institutions`));
23
+ if ((0, output_js_1.isPretty)(opts)) {
24
+ (0, output_js_1.header)(`Banks & Institutions (${country})`);
25
+ if (institutions.length === 0) {
26
+ console.log(output_js_1.chalk.dim(" No institutions found for this country."));
27
+ console.log();
28
+ return;
29
+ }
30
+ const table = new output_js_1.Table({
31
+ head: [output_js_1.chalk.cyan("Code"), output_js_1.chalk.cyan("Name")],
32
+ style: { head: [], border: ["dim"] },
33
+ });
34
+ for (const inst of institutions) {
35
+ table.push([output_js_1.chalk.bold(inst.code), inst.name]);
36
+ }
37
+ console.log(table.toString());
38
+ console.log(output_js_1.chalk.dim(`\n Use the code with: neutron-cli fiat payout --bank-code <code>\n`));
39
+ }
40
+ else {
41
+ (0, output_js_1.ok)({ country, institutions });
42
+ }
43
+ }
44
+ catch (e) {
45
+ (0, output_js_1.fail)(e?.message ?? "Failed to fetch institutions", "FIAT_ERROR");
46
+ }
47
+ });
48
+ fiatCmd
49
+ .command("payout")
50
+ .description("Create a fiat payout to a bank account")
51
+ .requiredOption("--amount <btc>", "Amount in BTC (e.g., 0.001)")
52
+ .requiredOption("--from <currency>", "Source currency (e.g., BTC)")
53
+ .requiredOption("--to <currency>", "Destination fiat currency (e.g., VND)")
54
+ .requiredOption("--method <method>", "Payment method (e.g., vnd-instant)")
55
+ .requiredOption("--bank-account <number>", "Bank account number")
56
+ .requiredOption("--bank-code <code>", "Bank/institution code")
57
+ .requiredOption("--recipient <name>", "Recipient legal full name")
58
+ .requiredOption("--country <code>", "Recipient country code (e.g., VN)")
59
+ .option("--json", "Output raw JSON (for scripts/agents)")
60
+ .action(async (opts) => {
61
+ try {
62
+ const client = await (0, client_js_1.getClient)();
63
+ const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Checking account...") : null;
64
+ // KYC check — fiat payouts require verification
65
+ const account = await client.account.get();
66
+ const kycStatus = account.kycStatus ?? account.accountStatus ?? account.kycVerified ?? account.status;
67
+ // KYC is verified if status is "verified" or similar positive states
68
+ const isKycVerified = kycStatus === "verified" || kycStatus === "kyc_verified" || kycStatus === "active";
69
+ if (!isKycVerified) {
70
+ spinner?.stop();
71
+ console.log();
72
+ (0, output_js_1.warn)("Fiat payouts require KYC verification.");
73
+ console.log(output_js_1.chalk.dim(" Please complete KYC at: ") + output_js_1.chalk.cyan.underline(KYC_PORTAL_URL));
74
+ console.log(output_js_1.chalk.dim(" (Bitcoin, USDT, and Lightning payments don't require KYC)"));
75
+ console.log();
76
+ process.exit(1);
77
+ }
78
+ if (spinner)
79
+ spinner.text = "Creating payout...";
80
+ const sourceAmount = parseFloat(opts.amount);
81
+ const sourceCcy = opts.from.toUpperCase();
82
+ const destCcy = opts.to.toUpperCase();
83
+ const destMethod = opts.method.toLowerCase();
84
+ const countryCode = opts.country.toUpperCase();
85
+ const txn = await client.fiat.payout({
86
+ sourceCcy,
87
+ sourceAmount,
88
+ destCcy,
89
+ destMethod,
90
+ bankAcctNum: opts.bankAccount,
91
+ institutionCode: opts.bankCode,
92
+ recipientName: opts.recipient,
93
+ countryCode,
94
+ });
95
+ const txnId = txn.txnId ?? txn.id;
96
+ if (spinner)
97
+ spinner.text = "Confirming payout...";
98
+ const confirmed = await client.transactions.confirm(txnId);
99
+ spinner?.succeed(output_js_1.chalk.green("Payout submitted"));
100
+ if ((0, output_js_1.isPretty)(opts)) {
101
+ (0, output_js_1.header)("Fiat Payout Submitted");
102
+ (0, output_js_1.kv)("Transaction ID:", output_js_1.chalk.bold(txnId));
103
+ (0, output_js_1.kv)("Status:", output_js_1.chalk.green(confirmed.txnState ?? confirmed.status ?? "Processing"));
104
+ (0, output_js_1.kv)("Amount Sent:", output_js_1.chalk.yellow(`${sourceAmount} ${sourceCcy}`));
105
+ if (txn.fxRate) {
106
+ (0, output_js_1.kv)("Exchange Rate:", txn.fxRate.toString());
107
+ }
108
+ (0, output_js_1.kv)("Destination:", `${destCcy} → ${opts.recipient}`);
109
+ (0, output_js_1.kv)("Bank:", opts.bankCode);
110
+ console.log();
111
+ }
112
+ else {
113
+ (0, output_js_1.ok)({ txnId, status: confirmed.txnState ?? confirmed.status, transaction: confirmed });
114
+ }
115
+ }
116
+ catch (e) {
117
+ (0, output_js_1.fail)(e?.message ?? "Fiat payout failed", "PAYOUT_ERROR");
118
+ }
119
+ });
120
+ }
121
+ //# sourceMappingURL=fiat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiat.js","sourceRoot":"","sources":["../../src/commands/fiat.ts"],"names":[],"mappings":";;AAMA,oCAsHC;AA3HD,4CAAyC;AACzC,4CAAwF;AAExF,MAAM,cAAc,GAAG,2BAA2B,CAAC;AAEnD,SAAgB,YAAY,CAAC,OAAgB;IAC3C,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAEzC,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,qDAAqD,CAAC;SAClE,cAAc,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,sBAAsB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,SAAS,YAAY,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;YAE3E,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,yBAAyB,OAAO,GAAG,CAAC,CAAC;gBAC5C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,iBAAK,CAAC;oBACtB,IAAI,EAAE,CAAC,iBAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE;iBACrC,CAAC,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,CAAC,iBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAC;YAChG,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,8BAA8B,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC;SACrD,cAAc,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;SAC/D,cAAc,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;SAClE,cAAc,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;SAC1E,cAAc,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;SACzE,cAAc,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;SAChE,cAAc,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SAC7D,cAAc,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACjE,cAAc,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEpE,gDAAgD;YAChD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAS,CAAC;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;YAEtG,qEAAqE;YACrE,MAAM,aAAa,GAAG,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,CAAC;YAEzG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,IAAA,gBAAI,EAAC,wCAAwC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,iBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC7F,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;YACjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAE/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACnC,SAAS;gBACT,YAAY;gBACZ,OAAO;gBACP,UAAU;gBACV,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,eAAe,EAAE,IAAI,CAAC,QAAQ;gBAC9B,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,WAAW;aACZ,CAAQ,CAAC;YAEV,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;YAElC,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,sBAAsB,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAQ,CAAC;YAClE,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAElD,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,uBAAuB,CAAC,CAAC;gBAChC,IAAA,cAAE,EAAC,iBAAiB,EAAE,iBAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,IAAA,cAAE,EAAC,SAAS,EAAE,iBAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;gBACnF,IAAA,cAAE,EAAC,cAAc,EAAE,iBAAK,CAAC,MAAM,CAAC,GAAG,YAAY,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;gBACjE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAA,cAAE,EAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAA,cAAE,EAAC,cAAc,EAAE,GAAG,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrD,IAAA,cAAE,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,oBAAoB,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -12,7 +12,7 @@ function registerInvoice(program) {
12
12
  .option("--json", "Output raw JSON (for scripts/agents)")
13
13
  .action(async (opts) => {
14
14
  try {
15
- const client = (0, client_js_1.getClient)();
15
+ const client = await (0, client_js_1.getClient)();
16
16
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Creating invoice...") : null;
17
17
  const result = await client.lightning.createInvoice({
18
18
  amountSats: Number(opts.amount),
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/commands/invoice.ts"],"names":[],"mappings":";;AAIA,0CAmCC;AAtCD,4CAAyC;AACzC,4CAA2E;AAE3E,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;gBAClD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACtB,CAAQ,CAAC;YACV,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;gBAC/D,IAAA,kBAAM,EAAC,mBAAmB,CAAC,CAAC;gBAC5B,IAAA,cAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAC5C,IAAA,cAAE,EAAC,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAA,cAAE,EAAC,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,IAAI;oBAAE,IAAA,cAAE,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,MAAM,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,0BAA0B,EAAE,eAAe,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/commands/invoice.ts"],"names":[],"mappings":";;AAIA,0CAmCC;AAtCD,4CAAyC;AACzC,4CAA2E;AAE3E,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;gBAClD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACtB,CAAQ,CAAC;YACV,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;gBAC/D,IAAA,kBAAM,EAAC,mBAAmB,CAAC,CAAC;gBAC5B,IAAA,cAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAC5C,IAAA,cAAE,EAAC,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAA,cAAE,EAAC,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,IAAI;oBAAE,IAAA,cAAE,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,iBAAK,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,MAAM,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,0BAA0B,EAAE,eAAe,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -11,7 +11,7 @@ function registerRate(program) {
11
11
  .option("--json", "Output raw JSON (for scripts/agents)")
12
12
  .action(async (opts) => {
13
13
  try {
14
- const client = (0, client_js_1.getClient)();
14
+ const client = await (0, client_js_1.getClient)();
15
15
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Fetching rate...") : null;
16
16
  const result = await client.rates.get();
17
17
  const pair = `BTC${opts.currency.toUpperCase()}`;
@@ -1 +1 @@
1
- {"version":3,"file":"rate.js","sourceRoot":"","sources":["../../src/commands/rate.ts"],"names":[],"mappings":";;AAIA,oCAgCC;AAnCD,4CAAyC;AACzC,4CAA2E;AAE3E,SAAgB,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACjF,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;YAChE,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE9C,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,eAAe,CAAC,CAAC;gBACxB,IAAA,cAAE,EAAC,OAAO,EAAE,iBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9B,IAAA,cAAE,EAAC,OAAO,EAAE,IAAI,IAAI,IAAI;oBACtB,CAAC,CAAC,iBAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;oBACvF,CAAC,CAAC,iBAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACjB,IAAA,cAAE,EAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,oBAAoB,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"rate.js","sourceRoot":"","sources":["../../src/commands/rate.ts"],"names":[],"mappings":";;AAIA,oCAgCC;AAnCD,4CAAyC;AACzC,4CAA2E;AAE3E,SAAgB,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACjF,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,GAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAS,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;YAChE,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE9C,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,eAAe,CAAC,CAAC;gBACxB,IAAA,cAAE,EAAC,OAAO,EAAE,iBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9B,IAAA,cAAE,EAAC,OAAO,EAAE,IAAI,IAAI,IAAI;oBACtB,CAAC,CAAC,iBAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;oBACvF,CAAC,CAAC,iBAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBACjB,IAAA,cAAE,EAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,oBAAoB,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkCnD"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8FnD"}
@@ -3,31 +3,107 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerSend = registerSend;
4
4
  const client_js_1 = require("../client.js");
5
5
  const output_js_1 = require("../output.js");
6
+ /** Detect payment type from the destination address/invoice */
7
+ function detectPaymentType(to) {
8
+ const normalized = to.trim().toLowerCase();
9
+ // Lightning invoice
10
+ if (normalized.startsWith("lnbc") || normalized.startsWith("lntb")) {
11
+ return { method: "lightning", ccy: "BTC" };
12
+ }
13
+ // Bitcoin on-chain addresses
14
+ // Legacy (1...), P2SH (3...), Bech32/Bech32m (bc1...)
15
+ if (/^1[a-km-zA-HJ-NP-Z1-9]{25,34}$/.test(to) ||
16
+ /^3[a-km-zA-HJ-NP-Z1-9]{25,34}$/.test(to) ||
17
+ /^bc1[ac-hj-np-zAC-HJ-NP-Z02-9]{8,87}$/i.test(to)) {
18
+ return { method: "on-chain", ccy: "BTC" };
19
+ }
20
+ // USDT on TRON (T...) or ETH (0x...) - will be validated by currency flag
21
+ if (/^T[A-Za-z1-9]{33}$/.test(to)) {
22
+ return { method: "tron", ccy: "USDT" };
23
+ }
24
+ if (/^0x[a-fA-F0-9]{40}$/.test(to)) {
25
+ return { method: "eth", ccy: "USDT" };
26
+ }
27
+ // Unknown format
28
+ return { method: "unknown", ccy: "UNKNOWN" };
29
+ }
6
30
  function registerSend(program) {
7
31
  program
8
32
  .command("send")
9
- .description("Send a Lightning payment")
10
- .requiredOption("--to <invoice>", "Lightning invoice (BOLT11)")
11
- .requiredOption("--amount <sats>", "Amount in satoshis")
12
- .option("--currency <currency>", "Source wallet currency", "btc")
33
+ .description("Send a payment (Lightning, BTC on-chain, or USDT)")
34
+ .requiredOption("--to <address>", "Destination address or Lightning invoice")
35
+ .requiredOption("--amount <number>", "Amount (sats for BTC/ Lightning, units for USDT)")
36
+ .option("--currency <currency>", "Source wallet currency (default: auto-detect)", "btc")
37
+ .option("--chain <chain>", "Chain for USDT (TRON or ETH)", "TRON")
13
38
  .option("--json", "Output raw JSON (for scripts/agents)")
14
39
  .action(async (opts) => {
15
40
  try {
16
- const client = (0, client_js_1.getClient)();
17
- const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Sending payment...") : null;
41
+ const to = opts.to.trim();
42
+ const amount = parseFloat(opts.amount);
43
+ const detected = detectPaymentType(to);
44
+ // Validate detection
45
+ if (detected.method === "unknown") {
46
+ (0, output_js_1.fail)(`Unrecognized address format: "${to.substring(0, 20)}..."\n` +
47
+ ` Supported formats:\n` +
48
+ ` - Lightning: lnbc...\n` +
49
+ ` - BTC on-chain: 1..., 3..., bc1...\n` +
50
+ ` - USDT (TRON): T...\n` +
51
+ ` - USDT (ETH): 0x...`, "INVALID_ADDRESS");
52
+ }
53
+ const client = await (0, client_js_1.getClient)();
54
+ const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)(`Preparing ${detected.method} payment...`) : null;
55
+ // Build transaction based on payment type
56
+ let sourceCcy = opts.currency.toUpperCase();
57
+ let destReq;
58
+ let sourceAmount = amount;
59
+ if (detected.method === "lightning") {
60
+ // Lightning payment
61
+ sourceAmount = sourceCcy === "BTC" ? amount / 1e8 : amount;
62
+ destReq = {
63
+ ccy: "BTC",
64
+ method: "lightning",
65
+ reqDetails: { paymentRequest: to }
66
+ };
67
+ }
68
+ else if (detected.method === "on-chain") {
69
+ // BTC on-chain
70
+ sourceCcy = "BTC";
71
+ sourceAmount = amount / 1e8; // Convert sats to BTC
72
+ destReq = {
73
+ ccy: "BTC",
74
+ method: "on-chain",
75
+ reqDetails: { address: to }
76
+ };
77
+ }
78
+ else if (detected.method === "tron" || detected.method === "eth") {
79
+ // USDT on TRON or ETH
80
+ sourceCcy = "USDT";
81
+ destReq = {
82
+ ccy: "USDT",
83
+ method: detected.method,
84
+ reqDetails: { address: to }
85
+ };
86
+ }
18
87
  const txn = await client.transactions.create({
19
- sourceReq: { ccy: opts.currency.toUpperCase(), method: "lightning", amtRequested: Number(opts.amount) },
20
- destReq: { ccy: "BTC", method: "lightning", reqDetails: { paymentRequest: opts.to } },
88
+ sourceReq: { ccy: sourceCcy, method: "neutronpay", amtRequested: sourceAmount },
89
+ destReq,
21
90
  });
91
+ const txnId = txn.txnId ?? txn.id;
22
92
  if (spinner)
23
93
  spinner.text = "Confirming payment...";
24
- const confirmed = await client.transactions.confirm(txn.txnId ?? txn.id);
94
+ const confirmed = await client.transactions.confirm(txnId);
25
95
  spinner?.succeed(output_js_1.chalk.green("Payment sent"));
26
96
  if ((0, output_js_1.isPretty)(opts)) {
27
97
  (0, output_js_1.header)("Payment Sent");
28
- (0, output_js_1.kv)("ID:", confirmed.txnId ?? confirmed.id ?? "—");
29
- (0, output_js_1.kv)("Amount:", output_js_1.chalk.yellow(`${Number(opts.amount).toLocaleString()} sats`));
30
- (0, output_js_1.kv)("Status:", output_js_1.chalk.green(confirmed.txnState ?? confirmed.status ?? ""));
98
+ (0, output_js_1.kv)("ID:", confirmed.txnId ?? confirmed.id ?? txnId);
99
+ // Format amount display
100
+ const amtDisplay = detected.ccy === "BTC"
101
+ ? `${amount.toLocaleString()} sats`
102
+ : `${amount.toLocaleString()} ${detected.ccy}`;
103
+ (0, output_js_1.kv)("Amount:", output_js_1.chalk.yellow(amtDisplay));
104
+ (0, output_js_1.kv)("Method:", detected.method);
105
+ (0, output_js_1.kv)("To:", to.length > 40 ? to.substring(0, 40) + "..." : to);
106
+ (0, output_js_1.kv)("Status:", output_js_1.chalk.green(confirmed.txnState ?? confirmed.status ?? "Sent"));
31
107
  console.log();
32
108
  }
33
109
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":";;AAIA,oCAkCC;AArCD,4CAAyC;AACzC,4CAA2E;AAE3E,SAAgB,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0BAA0B,CAAC;SACvC,cAAc,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;SAC9D,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;SACvD,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC3C,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACvG,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;aACtF,CAAQ,CAAC;YAEV,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAQ,CAAC;YAChF,OAAO,EAAE,OAAO,CAAC,iBAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE9C,IAAI,IAAA,oBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAM,EAAC,cAAc,CAAC,CAAC;gBACvB,IAAA,cAAE,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;gBAClD,IAAA,cAAE,EAAC,SAAS,EAAE,iBAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5E,IAAA,cAAE,EAAC,SAAS,EAAE,iBAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAA,cAAE,EAAC,SAAS,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAA,gBAAI,EAAC,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSwap(program: Command): void;
3
+ //# sourceMappingURL=swap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4EnD"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerSwap = registerSwap;
4
+ const client_js_1 = require("../client.js");
5
+ const output_js_1 = require("../output.js");
6
+ function registerSwap(program) {
7
+ program
8
+ .command("swap")
9
+ .description("Convert between currencies (BTC ↔ USDT)")
10
+ .requiredOption("--from <currency>", "Source currency (e.g., BTC, USDT)")
11
+ .requiredOption("--to <currency>", "Destination currency (e.g., USDT, BTC)")
12
+ .requiredOption("--amount <number>", "Amount in source units (sats for BTC, units for USDT)")
13
+ .option("--json", "Output raw JSON (for scripts/agents)")
14
+ .action(async (opts) => {
15
+ try {
16
+ const sourceCcy = opts.from.toUpperCase();
17
+ const destCcy = opts.to.toUpperCase();
18
+ const amount = parseFloat(opts.amount);
19
+ if (sourceCcy === destCcy) {
20
+ (0, output_js_1.fail)("Source and destination currencies must be different", "SWAP_ERROR");
21
+ }
22
+ // For BTC, amount is in satoshis; convert to BTC for API
23
+ const sourceAmount = sourceCcy === "BTC" ? amount / 1e8 : amount;
24
+ const client = await (0, client_js_1.getClient)();
25
+ const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)(`Creating ${sourceCcy} → ${destCcy} swap...`) : null;
26
+ const txn = await client.transactions.create({
27
+ sourceReq: { ccy: sourceCcy, method: "neutronpay", amtRequested: sourceAmount },
28
+ destReq: { ccy: destCcy, method: "neutronpay" },
29
+ });
30
+ const txnId = txn.txnId ?? txn.id;
31
+ const fxRate = txn.fxRate;
32
+ if (spinner)
33
+ spinner.text = "Confirming swap...";
34
+ const confirmed = await client.transactions.confirm(txnId);
35
+ spinner?.succeed(output_js_1.chalk.green("Swap completed"));
36
+ if ((0, output_js_1.isPretty)(opts)) {
37
+ (0, output_js_1.header)("Currency Swap Completed");
38
+ (0, output_js_1.kv)("Transaction ID:", output_js_1.chalk.bold(txnId));
39
+ (0, output_js_1.kv)("Status:", output_js_1.chalk.green(confirmed.txnState ?? confirmed.status ?? "Completed"));
40
+ // Display amounts nicely
41
+ const srcDisplay = sourceCcy === "BTC"
42
+ ? `${amount.toLocaleString()} sats`
43
+ : `${amount.toLocaleString()} ${sourceCcy}`;
44
+ (0, output_js_1.kv)("Amount Sent:", output_js_1.chalk.yellow(srcDisplay));
45
+ if (fxRate) {
46
+ (0, output_js_1.kv)("Exchange Rate:", `${fxRate} ${sourceCcy}/${destCcy}`);
47
+ }
48
+ // Calculate received amount if we have the rate
49
+ if (fxRate && sourceCcy === "BTC" && destCcy === "USDT") {
50
+ const received = (amount / 1e8) * fxRate;
51
+ (0, output_js_1.kv)("Amount Received:", output_js_1.chalk.green(`${received.toLocaleString(undefined, { maximumFractionDigits: 2 })} ${destCcy}`));
52
+ }
53
+ else if (fxRate && sourceCcy === "USDT" && destCcy === "BTC") {
54
+ const received = (amount / fxRate) * 1e8;
55
+ (0, output_js_1.kv)("Amount Received:", output_js_1.chalk.green(`${Math.floor(received).toLocaleString()} sats`));
56
+ }
57
+ console.log();
58
+ }
59
+ else {
60
+ (0, output_js_1.ok)({
61
+ txnId,
62
+ status: confirmed.txnState ?? confirmed.status,
63
+ sourceCcy,
64
+ destCcy,
65
+ sourceAmount: amount,
66
+ fxRate,
67
+ transaction: confirmed
68
+ });
69
+ }
70
+ }
71
+ catch (e) {
72
+ (0, output_js_1.fail)(e?.message ?? "Swap failed", "SWAP_ERROR");
73
+ }
74
+ });
75
+ }
76
+ //# sourceMappingURL=swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ function registerTx(program) {
21
21
  .option("--json", "Output raw JSON (for scripts/agents)")
22
22
  .action(async (id, opts) => {
23
23
  try {
24
- const client = (0, client_js_1.getClient)();
24
+ const client = await (0, client_js_1.getClient)();
25
25
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Fetching transaction...") : null;
26
26
  const result = await client.transactions.get(id);
27
27
  spinner?.succeed(output_js_1.chalk.green("Transaction found"));
@@ -49,7 +49,7 @@ function registerTx(program) {
49
49
  .option("--json", "Output raw JSON (for scripts/agents)")
50
50
  .action(async (opts) => {
51
51
  try {
52
- const client = (0, client_js_1.getClient)();
52
+ const client = await (0, client_js_1.getClient)();
53
53
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Fetching transactions...") : null;
54
54
  const params = { limit: Number(opts.limit) };
55
55
  if (opts.from)
@@ -1 +1 @@
1
- {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../src/commands/tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../src/commands/tx.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ function registerWebhook(program) {
11
11
  .option("--json", "Output raw JSON (for scripts/agents)")
12
12
  .action(async (opts) => {
13
13
  try {
14
- const client = (0, client_js_1.getClient)();
14
+ const client = await (0, client_js_1.getClient)();
15
15
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Creating webhook...") : null;
16
16
  const result = await client.webhooks.create({
17
17
  callback: opts.url,
@@ -38,7 +38,7 @@ function registerWebhook(program) {
38
38
  .option("--json", "Output raw JSON (for scripts/agents)")
39
39
  .action(async (opts) => {
40
40
  try {
41
- const client = (0, client_js_1.getClient)();
41
+ const client = await (0, client_js_1.getClient)();
42
42
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)("Fetching webhooks...") : null;
43
43
  const result = await client.webhooks.list();
44
44
  const hooks = result.data ?? result.webhooks ?? result ?? [];
@@ -68,7 +68,7 @@ function registerWebhook(program) {
68
68
  .option("--json", "Output raw JSON (for scripts/agents)")
69
69
  .action(async (id, opts) => {
70
70
  try {
71
- const client = (0, client_js_1.getClient)();
71
+ const client = await (0, client_js_1.getClient)();
72
72
  const spinner = (0, output_js_1.isPretty)(opts) ? (0, output_js_1.spin)(`Deleting ${id}...`) : null;
73
73
  await client.webhooks.delete(id);
74
74
  spinner?.succeed(output_js_1.chalk.green("Webhook deleted"));
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/commands/webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/commands/webhook.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,6 +12,9 @@ const rate_js_1 = require("./commands/rate.js");
12
12
  const webhook_js_1 = require("./commands/webhook.js");
13
13
  const update_js_1 = require("./commands/update.js");
14
14
  const config_js_1 = require("./commands/config.js");
15
+ const address_js_1 = require("./commands/address.js");
16
+ const fiat_js_1 = require("./commands/fiat.js");
17
+ const swap_js_1 = require("./commands/swap.js");
15
18
  const program = new commander_1.Command();
16
19
  program
17
20
  .name("neutron-cli")
@@ -26,6 +29,9 @@ program
26
29
  (0, rate_js_1.registerRate)(program);
27
30
  (0, webhook_js_1.registerWebhook)(program);
28
31
  (0, update_js_1.registerUpdate)(program);
32
+ (0, address_js_1.registerAddress)(program);
33
+ (0, fiat_js_1.registerFiat)(program);
34
+ (0, swap_js_1.registerSwap)(program);
29
35
  (0, update_check_js_1.checkForUpdate)(); // non-blocking, fires in background
30
36
  program.parseAsync(process.argv).catch((e) => {
31
37
  process.stderr.write(JSON.stringify({ error: e?.message ?? "Unknown error", code: "FATAL" }) + "\n");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,uDAAmD;AACnD,gDAAkD;AAClD,sDAAwD;AACxD,sDAAwD;AACxD,gDAAkD;AAClD,4CAA8C;AAC9C,gDAAkD;AAClD,sDAAwD;AACxD,oDAAsD;AACtD,oDAAsD;AAEtD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;AAE/C,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACxB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;AACpB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AAExB,IAAA,gCAAc,GAAE,CAAC,CAAC,oCAAoC;AAEtD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,uDAAmD;AACnD,gDAAkD;AAClD,sDAAwD;AACxD,sDAAwD;AACxD,gDAAkD;AAClD,4CAA8C;AAC9C,gDAAkD;AAClD,sDAAwD;AACxD,oDAAsD;AACtD,oDAAsD;AACtD,sDAAwD;AACxD,gDAAkD;AAClD,gDAAkD;AAElD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;AAE/C,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACxB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;AACpB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,0BAAc,EAAC,OAAO,CAAC,CAAC;AACxB,IAAA,4BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AACtB,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;AAEtB,IAAA,gCAAc,GAAE,CAAC,CAAC,oCAAoC;AAEtD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neutron-cli",
3
- "version": "0.1.9",
3
+ "version": "0.3.0",
4
4
  "description": "CLI for Neutron Lightning wallet services \u2014 for developers and AI agents",
5
5
  "keywords": [
6
6
  "neutron",