chainai 0.0.1

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.
Files changed (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/commands/broadcast.d.ts +20 -0
  4. package/dist/commands/broadcast.d.ts.map +1 -0
  5. package/dist/commands/broadcast.js +35 -0
  6. package/dist/commands/broadcast.js.map +1 -0
  7. package/dist/commands/gen-wallet.d.ts +9 -0
  8. package/dist/commands/gen-wallet.d.ts.map +1 -0
  9. package/dist/commands/gen-wallet.js +17 -0
  10. package/dist/commands/gen-wallet.js.map +1 -0
  11. package/dist/commands/get-balance.d.ts +24 -0
  12. package/dist/commands/get-balance.d.ts.map +1 -0
  13. package/dist/commands/get-balance.js +82 -0
  14. package/dist/commands/get-balance.js.map +1 -0
  15. package/dist/commands/send.d.ts +27 -0
  16. package/dist/commands/send.d.ts.map +1 -0
  17. package/dist/commands/send.js +108 -0
  18. package/dist/commands/send.js.map +1 -0
  19. package/dist/commands/sign-message.d.ts +17 -0
  20. package/dist/commands/sign-message.d.ts.map +1 -0
  21. package/dist/commands/sign-message.js +36 -0
  22. package/dist/commands/sign-message.js.map +1 -0
  23. package/dist/commands/sign-transaction.d.ts +22 -0
  24. package/dist/commands/sign-transaction.d.ts.map +1 -0
  25. package/dist/commands/sign-transaction.js +31 -0
  26. package/dist/commands/sign-transaction.js.map +1 -0
  27. package/dist/commands/sign-typed-data.d.ts +22 -0
  28. package/dist/commands/sign-typed-data.d.ts.map +1 -0
  29. package/dist/commands/sign-typed-data.js +35 -0
  30. package/dist/commands/sign-typed-data.js.map +1 -0
  31. package/dist/commands/sign.d.ts +25 -0
  32. package/dist/commands/sign.d.ts.map +1 -0
  33. package/dist/commands/sign.js +36 -0
  34. package/dist/commands/sign.js.map +1 -0
  35. package/dist/commands/swap-order-status.d.ts +23 -0
  36. package/dist/commands/swap-order-status.d.ts.map +1 -0
  37. package/dist/commands/swap-order-status.js +35 -0
  38. package/dist/commands/swap-order-status.js.map +1 -0
  39. package/dist/commands/swap.d.ts +32 -0
  40. package/dist/commands/swap.d.ts.map +1 -0
  41. package/dist/commands/swap.js +119 -0
  42. package/dist/commands/swap.js.map +1 -0
  43. package/dist/commands/tx-status.d.ts +25 -0
  44. package/dist/commands/tx-status.d.ts.map +1 -0
  45. package/dist/commands/tx-status.js +54 -0
  46. package/dist/commands/tx-status.js.map +1 -0
  47. package/dist/commands/who-am-i.d.ts +12 -0
  48. package/dist/commands/who-am-i.d.ts.map +1 -0
  49. package/dist/commands/who-am-i.js +14 -0
  50. package/dist/commands/who-am-i.js.map +1 -0
  51. package/dist/configs.d.ts +99 -0
  52. package/dist/configs.d.ts.map +1 -0
  53. package/dist/configs.js +18 -0
  54. package/dist/configs.js.map +1 -0
  55. package/dist/index.d.ts +3 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +404 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/oneInchFusion/configs.d.ts +3 -0
  60. package/dist/oneInchFusion/configs.d.ts.map +1 -0
  61. package/dist/oneInchFusion/configs.js +6 -0
  62. package/dist/oneInchFusion/configs.js.map +1 -0
  63. package/dist/oneInchFusion/oneInchFusion.d.ts +20 -0
  64. package/dist/oneInchFusion/oneInchFusion.d.ts.map +1 -0
  65. package/dist/oneInchFusion/oneInchFusion.js +164 -0
  66. package/dist/oneInchFusion/oneInchFusion.js.map +1 -0
  67. package/dist/oneInchFusion/oneInchProvider.d.ts +11 -0
  68. package/dist/oneInchFusion/oneInchProvider.d.ts.map +1 -0
  69. package/dist/oneInchFusion/oneInchProvider.js +34 -0
  70. package/dist/oneInchFusion/oneInchProvider.js.map +1 -0
  71. package/dist/oneInchFusion/oneInchTypes.d.ts +26 -0
  72. package/dist/oneInchFusion/oneInchTypes.d.ts.map +1 -0
  73. package/dist/oneInchFusion/oneInchTypes.js +3 -0
  74. package/dist/oneInchFusion/oneInchTypes.js.map +1 -0
  75. package/dist/utils.d.ts +68 -0
  76. package/dist/utils.d.ts.map +1 -0
  77. package/dist/utils.js +119 -0
  78. package/dist/utils.js.map +1 -0
  79. package/package.json +38 -0
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sign = sign;
4
+ const viem_1 = require("viem");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Signs raw data using account.sign (secp256k1 signature over a digest).
8
+ *
9
+ * ⚠️ CRITICAL SECURITY WARNING ⚠️
10
+ * This function signs arbitrary hashes WITHOUT any prefix or envelope.
11
+ * The resulting signature can authorize transactions, token transfers,
12
+ * contract interactions, or any on-chain action — potentially without
13
+ * the user's knowledge or explicit consent.
14
+ *
15
+ * Only use this when absolutely necessary. Prefer `signMessage` (EIP-191)
16
+ * whenever possible, as it applies a human-readable prefix that prevents
17
+ * signed data from being replayed as a transaction.
18
+ */
19
+ async function sign(input) {
20
+ const { privateKey, hash } = input;
21
+ if (!hash || !(0, viem_1.isHex)(hash, { strict: true })) {
22
+ throw new Error('Hash must be a valid 0x-prefixed hex string');
23
+ }
24
+ // 32 bytes = 64 hex characters + '0x' prefix = 66 characters
25
+ if (hash.length !== 66) {
26
+ throw new Error('Hash must be exactly 32 bytes (64 hex characters)');
27
+ }
28
+ const account = (0, utils_1.validateAndCreateAccount)(privateKey);
29
+ const signature = await account.sign({ hash });
30
+ return {
31
+ address: account.address,
32
+ hash,
33
+ signature,
34
+ };
35
+ }
36
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/commands/sign.ts"],"names":[],"mappings":";;AA4BA,oBAoBC;AAhDD,+BAA6B;AAE7B,oCAAoD;AAapD;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,IAAI,CAAC,KAAgB;IACzC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,YAAK,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI;QACJ,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { Hex } from 'viem';
2
+ export interface SwapOrderStatusInput {
3
+ privateKey: Hex;
4
+ orderHash: string;
5
+ network?: string;
6
+ }
7
+ export interface SwapOrderStatusResult {
8
+ orderHash: string;
9
+ status: string;
10
+ network: string;
11
+ createdAt: number;
12
+ duration: number;
13
+ fills: {
14
+ txHash: string;
15
+ }[];
16
+ cancelTx: string | null;
17
+ finalToAmount: string | null;
18
+ }
19
+ /**
20
+ * Gets the status of a swap order by its order hash.
21
+ */
22
+ export declare function swapOrderStatus(input: SwapOrderStatusInput): Promise<SwapOrderStatusResult>;
23
+ //# sourceMappingURL=swap-order-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-order-status.d.ts","sourceRoot":"","sources":["../../src/commands/swap-order-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAQhC,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA4BhC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.swapOrderStatus = swapOrderStatus;
7
+ const utils_1 = require("../utils");
8
+ const oneInchFusion_1 = __importDefault(require("../oneInchFusion/oneInchFusion"));
9
+ /**
10
+ * Gets the status of a swap order by its order hash.
11
+ */
12
+ async function swapOrderStatus(input) {
13
+ const { privateKey, orderHash, network = 'mainnet' } = input;
14
+ (0, utils_1.validateAndCreateAccount)(privateKey);
15
+ if (!orderHash || typeof orderHash !== 'string') {
16
+ throw new Error('Order hash is required');
17
+ }
18
+ const chain = (0, utils_1.resolveNetwork)(network);
19
+ const networkConfig = (0, utils_1.getNetworkConfig)(chain);
20
+ const fusion = new oneInchFusion_1.default(networkConfig.nodeUrl, privateKey, chain.id);
21
+ const status = await fusion.getOrderStatus(orderHash);
22
+ return {
23
+ orderHash,
24
+ status: status.status,
25
+ network: chain.name,
26
+ createdAt: status.createdAt,
27
+ duration: status.duration,
28
+ fills: status.fills,
29
+ cancelTx: status.cancelTx ?? null,
30
+ finalToAmount: status.finalToAmount
31
+ ? status.finalToAmount.toString()
32
+ : null,
33
+ };
34
+ }
35
+ //# sourceMappingURL=swap-order-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-order-status.js","sourceRoot":"","sources":["../../src/commands/swap-order-status.ts"],"names":[],"mappings":";;;;;AA4BA,0CA8BC;AAzDD,oCAIkB;AAClB,mFAA2D;AAmB3D;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,KAA2B;IAE3B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE7D,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC;IAErC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,uBAAa,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEtD,OAAO;QACL,SAAS;QACT,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK,CAAC,IAAI;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;YACjC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;YACjC,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { Hex } from 'viem';
2
+ export interface SwapInput {
3
+ privateKey: Hex;
4
+ fromToken: string;
5
+ toToken: string;
6
+ amount: string;
7
+ network?: string;
8
+ confirm?: boolean;
9
+ }
10
+ export interface SwapQuoteResult {
11
+ from: string;
12
+ fromToken: string;
13
+ toToken: string;
14
+ amount: string;
15
+ estimatedReturn: string;
16
+ estimatedReturnMin: string;
17
+ estimatedReturnAvg: string;
18
+ network: string;
19
+ }
20
+ export interface SwapOrderResult extends SwapQuoteResult {
21
+ orderHash: string;
22
+ approvalTxHash: string | null;
23
+ }
24
+ /**
25
+ * Gets a quote for a token swap via 1inch Fusion.
26
+ */
27
+ export declare function getSwapQuote(input: SwapInput): Promise<SwapQuoteResult>;
28
+ /**
29
+ * Submits a swap order via 1inch Fusion.
30
+ */
31
+ export declare function submitSwapOrder(input: SwapInput): Promise<SwapOrderResult>;
32
+ //# sourceMappingURL=swap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoBD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAmD7E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,eAAe,CAAC,CA4D1B"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getSwapQuote = getSwapQuote;
7
+ exports.submitSwapOrder = submitSwapOrder;
8
+ const viem_1 = require("viem");
9
+ const utils_1 = require("../utils");
10
+ const oneInchFusion_1 = __importDefault(require("../oneInchFusion/oneInchFusion"));
11
+ /**
12
+ * Fetches the decimals for a token. Returns 18 for the native token.
13
+ */
14
+ async function fetchTokenDecimals(tokenAddress, client) {
15
+ if (tokenAddress.toLowerCase() === utils_1.NATIVE_TOKEN_ADDRESS.toLowerCase()) {
16
+ return 18;
17
+ }
18
+ const decimals = await client.readContract({
19
+ abi: viem_1.erc20Abi,
20
+ address: tokenAddress,
21
+ functionName: 'decimals',
22
+ });
23
+ return Number(decimals);
24
+ }
25
+ /**
26
+ * Gets a quote for a token swap via 1inch Fusion.
27
+ */
28
+ async function getSwapQuote(input) {
29
+ const { privateKey, fromToken, toToken, amount, network = 'mainnet' } = input;
30
+ const account = (0, utils_1.validateAndCreateAccount)(privateKey);
31
+ if (!(0, viem_1.isAddress)(fromToken)) {
32
+ throw new Error(`fromToken must be a valid 0x-prefixed address. Use ${utils_1.NATIVE_TOKEN_ADDRESS} for native token.`);
33
+ }
34
+ if (!(0, viem_1.isAddress)(toToken)) {
35
+ throw new Error(`toToken must be a valid 0x-prefixed address. Use ${utils_1.NATIVE_TOKEN_ADDRESS} for native token.`);
36
+ }
37
+ if (!amount || isNaN(Number(amount)) || Number(amount) <= 0) {
38
+ throw new Error('Amount must be a positive number');
39
+ }
40
+ const chain = (0, utils_1.resolveNetwork)(network);
41
+ const networkConfig = (0, utils_1.getNetworkConfig)(chain);
42
+ const client = (0, utils_1.createNetworkClient)(chain, networkConfig);
43
+ const [fromTokenDecimals, toTokenDecimals] = await Promise.all([
44
+ fetchTokenDecimals(fromToken, client),
45
+ fetchTokenDecimals(toToken, client),
46
+ ]);
47
+ const rawAmount = (0, viem_1.parseUnits)(amount, fromTokenDecimals).toString();
48
+ const fusion = new oneInchFusion_1.default(networkConfig.nodeUrl, privateKey, chain.id);
49
+ const quote = await fusion.getQuote({
50
+ fromTokenAddress: fromToken,
51
+ toTokenAddress: toToken,
52
+ amount: rawAmount,
53
+ fromAddress: account.address,
54
+ fromTokenDecimals,
55
+ toTokenDecimals,
56
+ });
57
+ return {
58
+ from: account.address,
59
+ fromToken,
60
+ toToken,
61
+ amount,
62
+ estimatedReturn: (0, viem_1.formatUnits)(quote.startAmount, toTokenDecimals),
63
+ estimatedReturnMin: (0, viem_1.formatUnits)(quote.endAmount ?? 0n, toTokenDecimals),
64
+ estimatedReturnAvg: (0, viem_1.formatUnits)(quote.avgAmount ?? 0n, toTokenDecimals),
65
+ network: chain.name,
66
+ };
67
+ }
68
+ /**
69
+ * Submits a swap order via 1inch Fusion.
70
+ */
71
+ async function submitSwapOrder(input) {
72
+ const { privateKey, fromToken, toToken, amount, network = 'mainnet' } = input;
73
+ const account = (0, utils_1.validateAndCreateAccount)(privateKey);
74
+ const chain = (0, utils_1.resolveNetwork)(network);
75
+ const networkConfig = (0, utils_1.getNetworkConfig)(chain);
76
+ const client = (0, utils_1.createNetworkClient)(chain, networkConfig);
77
+ const [fromTokenDecimals, toTokenDecimals] = await Promise.all([
78
+ fetchTokenDecimals(fromToken, client),
79
+ fetchTokenDecimals(toToken, client),
80
+ ]);
81
+ const rawAmount = (0, viem_1.parseUnits)(amount, fromTokenDecimals).toString();
82
+ const fusion = new oneInchFusion_1.default(networkConfig.nodeUrl, privateKey, chain.id);
83
+ // Check if approval is required and set it before submitting
84
+ let approvalTxHash = null;
85
+ const needsApproval = await fusion.isApprovalRequired(account.address, fromToken, BigInt(rawAmount));
86
+ if (needsApproval) {
87
+ approvalTxHash = await fusion.setApproval(account.address, fromToken);
88
+ }
89
+ // Get a fresh quote for the result
90
+ const quote = await fusion.getQuote({
91
+ fromTokenAddress: fromToken,
92
+ toTokenAddress: toToken,
93
+ amount: rawAmount,
94
+ fromAddress: account.address,
95
+ fromTokenDecimals,
96
+ toTokenDecimals,
97
+ });
98
+ const orderResult = await fusion.submitOrder({
99
+ fromTokenAddress: fromToken,
100
+ toTokenAddress: toToken,
101
+ amount: rawAmount,
102
+ fromAddress: account.address,
103
+ fromTokenDecimals,
104
+ toTokenDecimals,
105
+ });
106
+ return {
107
+ from: account.address,
108
+ fromToken,
109
+ toToken,
110
+ amount,
111
+ estimatedReturn: (0, viem_1.formatUnits)(quote.startAmount, toTokenDecimals),
112
+ estimatedReturnMin: (0, viem_1.formatUnits)(quote.endAmount ?? 0n, toTokenDecimals),
113
+ estimatedReturnAvg: (0, viem_1.formatUnits)(quote.avgAmount ?? 0n, toTokenDecimals),
114
+ network: chain.name,
115
+ orderHash: orderResult.hash,
116
+ approvalTxHash,
117
+ };
118
+ }
119
+ //# 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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"}
@@ -0,0 +1,25 @@
1
+ import type { Hex } from 'viem';
2
+ export interface TxStatusInput {
3
+ hash: Hex;
4
+ network?: string;
5
+ }
6
+ export interface TxStatusResult {
7
+ transactionHash: string;
8
+ status: 'success' | 'reverted' | 'pending';
9
+ network: string;
10
+ blockNumber: string | null;
11
+ from: string | null;
12
+ to: string | null;
13
+ gasUsed: string | null;
14
+ effectiveGasPrice: string | null;
15
+ explorerUrl: string;
16
+ }
17
+ /**
18
+ * Gets the status of a transaction by its hash.
19
+ *
20
+ * Queries the network RPC for the transaction receipt:
21
+ * - If a receipt exists, returns the status (success/reverted) along with block and gas info.
22
+ * - If no receipt exists, the transaction is still pending.
23
+ */
24
+ export declare function txStatus(input: TxStatusInput): Promise<TxStatusResult>;
25
+ //# sourceMappingURL=tx-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-status.d.ts","sourceRoot":"","sources":["../../src/commands/tx-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAOhC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAiD5E"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.txStatus = txStatus;
4
+ const viem_1 = require("viem");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Gets the status of a transaction by its hash.
8
+ *
9
+ * Queries the network RPC for the transaction receipt:
10
+ * - If a receipt exists, returns the status (success/reverted) along with block and gas info.
11
+ * - If no receipt exists, the transaction is still pending.
12
+ */
13
+ async function txStatus(input) {
14
+ const { hash, network = 'mainnet' } = input;
15
+ if (!hash || !(0, viem_1.isHex)(hash)) {
16
+ throw new Error('Transaction hash must be a valid 0x-prefixed hex string');
17
+ }
18
+ if (hash.length !== 66) {
19
+ throw new Error('Transaction hash must be exactly 32 bytes (66 characters including 0x prefix)');
20
+ }
21
+ const chain = (0, utils_1.resolveNetwork)(network);
22
+ const networkConfig = (0, utils_1.getNetworkConfig)(chain);
23
+ const client = (0, utils_1.createNetworkClient)(chain, networkConfig);
24
+ const explorerBase = chain.blockExplorers?.default?.url;
25
+ const explorerUrl = explorerBase
26
+ ? `${explorerBase}/tx/${hash}`
27
+ : `https://etherscan.io/tx/${hash}`;
28
+ const receipt = await client.getTransactionReceipt({ hash });
29
+ if (!receipt) {
30
+ return {
31
+ transactionHash: hash,
32
+ status: 'pending',
33
+ network: chain.name,
34
+ blockNumber: null,
35
+ from: null,
36
+ to: null,
37
+ gasUsed: null,
38
+ effectiveGasPrice: null,
39
+ explorerUrl,
40
+ };
41
+ }
42
+ return {
43
+ transactionHash: hash,
44
+ status: receipt.status === 'success' ? 'success' : 'reverted',
45
+ network: chain.name,
46
+ blockNumber: receipt.blockNumber.toString(),
47
+ from: receipt.from,
48
+ to: receipt.to ?? null,
49
+ gasUsed: receipt.gasUsed.toString(),
50
+ effectiveGasPrice: receipt.effectiveGasPrice.toString(),
51
+ explorerUrl,
52
+ };
53
+ }
54
+ //# sourceMappingURL=tx-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-status.js","sourceRoot":"","sources":["../../src/commands/tx-status.ts"],"names":[],"mappings":";;AAgCA,4BAiDC;AAjFD,+BAA6B;AAE7B,oCAIkB;AAmBlB;;;;;;GAMG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,YAAK,EAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,2BAAmB,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY;QAC9B,CAAC,CAAC,GAAG,YAAY,OAAO,IAAI,EAAE;QAC9B,CAAC,CAAC,2BAA2B,IAAI,EAAE,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI;YACvB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QAC7D,OAAO,EAAE,KAAK,CAAC,IAAI;QACnB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QACnC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE;QACvD,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Hex } from 'viem';
2
+ export interface WhoAmIInput {
3
+ privateKey: Hex;
4
+ }
5
+ export interface WhoAmIResult {
6
+ address: string;
7
+ }
8
+ /**
9
+ * Returns the Ethereum address derived from the given private key.
10
+ */
11
+ export declare function whoAmI(input: WhoAmIInput): WhoAmIResult;
12
+ //# sourceMappingURL=who-am-i.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"who-am-i.d.ts","sourceRoot":"","sources":["../../src/commands/who-am-i.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAKvD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.whoAmI = whoAmI;
4
+ const utils_1 = require("../utils");
5
+ /**
6
+ * Returns the Ethereum address derived from the given private key.
7
+ */
8
+ function whoAmI(input) {
9
+ const account = (0, utils_1.validateAndCreateAccount)(input.privateKey);
10
+ return {
11
+ address: account.address,
12
+ };
13
+ }
14
+ //# sourceMappingURL=who-am-i.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"who-am-i.js","sourceRoot":"","sources":["../../src/commands/who-am-i.ts"],"names":[],"mappings":";;AAcA,wBAKC;AAlBD,oCAAoD;AAUpD;;GAEG;AACH,SAAgB,MAAM,CAAC,KAAkB;IACvC,MAAM,OAAO,GAAG,IAAA,gCAAwB,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,99 @@
1
+ declare const SUPPORTED_NETWORKS: ({
2
+ blockExplorers: {
3
+ readonly default: {
4
+ readonly name: "Etherscan";
5
+ readonly url: "https://etherscan.io";
6
+ readonly apiUrl: "https://api.etherscan.io/api";
7
+ };
8
+ };
9
+ blockTime: 12000;
10
+ contracts: {
11
+ readonly ensUniversalResolver: {
12
+ readonly address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee";
13
+ readonly blockCreated: 23085558;
14
+ };
15
+ readonly multicall3: {
16
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
17
+ readonly blockCreated: 14353601;
18
+ };
19
+ };
20
+ ensTlds?: readonly string[] | undefined;
21
+ id: 1;
22
+ name: "Ethereum";
23
+ nativeCurrency: {
24
+ readonly name: "Ether";
25
+ readonly symbol: "ETH";
26
+ readonly decimals: 18;
27
+ };
28
+ experimental_preconfirmationTime?: number | undefined | undefined;
29
+ rpcUrls: {
30
+ readonly default: {
31
+ readonly http: readonly ["https://eth.merkle.io"];
32
+ };
33
+ };
34
+ sourceId?: number | undefined | undefined;
35
+ testnet?: boolean | undefined | undefined;
36
+ custom?: Record<string, unknown> | undefined;
37
+ extendSchema?: Record<string, unknown> | undefined;
38
+ fees?: import("viem").ChainFees<undefined> | undefined;
39
+ formatters?: undefined;
40
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
41
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
42
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
43
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
44
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
45
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
46
+ }] | undefined;
47
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
48
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
49
+ } | {
50
+ blockExplorers: {
51
+ readonly default: {
52
+ readonly name: "BscScan";
53
+ readonly url: "https://bscscan.com";
54
+ readonly apiUrl: "https://api.bscscan.com/api";
55
+ };
56
+ };
57
+ blockTime: 750;
58
+ contracts: {
59
+ readonly multicall3: {
60
+ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";
61
+ readonly blockCreated: 15921452;
62
+ };
63
+ };
64
+ ensTlds?: readonly string[] | undefined;
65
+ id: 56;
66
+ name: "BNB Smart Chain";
67
+ nativeCurrency: {
68
+ readonly decimals: 18;
69
+ readonly name: "BNB";
70
+ readonly symbol: "BNB";
71
+ };
72
+ experimental_preconfirmationTime?: number | undefined | undefined;
73
+ rpcUrls: {
74
+ readonly default: {
75
+ readonly http: readonly ["https://56.rpc.thirdweb.com"];
76
+ };
77
+ };
78
+ sourceId?: number | undefined | undefined;
79
+ testnet?: boolean | undefined | undefined;
80
+ custom?: Record<string, unknown> | undefined;
81
+ extendSchema?: Record<string, unknown> | undefined;
82
+ fees?: import("viem").ChainFees<undefined> | undefined;
83
+ formatters?: undefined;
84
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
85
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
86
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
87
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
88
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
89
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
90
+ }] | undefined;
91
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
92
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
93
+ })[];
94
+ declare const SUPPORTED_NETWORKS_NAME_MAP: Record<number, {
95
+ balances: string;
96
+ nodeUrl: string;
97
+ }>;
98
+ export { SUPPORTED_NETWORKS, SUPPORTED_NETWORKS_NAME_MAP };
99
+ //# sourceMappingURL=configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAiB,CAAC;AAE1C,QAAA,MAAM,2BAA2B,EAAE,MAAM,CACvC,MAAM,EACN;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUtC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORTED_NETWORKS_NAME_MAP = exports.SUPPORTED_NETWORKS = void 0;
4
+ const chains_1 = require("viem/chains");
5
+ const SUPPORTED_NETWORKS = [chains_1.mainnet, chains_1.bsc];
6
+ exports.SUPPORTED_NETWORKS = SUPPORTED_NETWORKS;
7
+ const SUPPORTED_NETWORKS_NAME_MAP = {
8
+ [chains_1.mainnet.id]: {
9
+ balances: `eth`,
10
+ nodeUrl: `https://nodes.mewapi.io/rpc/eth`,
11
+ },
12
+ [chains_1.bsc.id]: {
13
+ balances: `bsc`,
14
+ nodeUrl: `https://nodes.mewapi.io/rpc/eth`,
15
+ },
16
+ };
17
+ exports.SUPPORTED_NETWORKS_NAME_MAP = SUPPORTED_NETWORKS_NAME_MAP;
18
+ //# sourceMappingURL=configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAE3C,MAAM,kBAAkB,GAAG,CAAC,gBAAO,EAAE,YAAG,CAAC,CAAC;AAgBjC,gDAAkB;AAd3B,MAAM,2BAA2B,GAG7B;IACF,CAAC,gBAAO,CAAC,EAAE,CAAC,EAAE;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,iCAAiC;KAC3C;IACD,CAAC,YAAG,CAAC,EAAE,CAAC,EAAE;QACR,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,iCAAiC;KAC3C;CACF,CAAC;AAE2B,kEAA2B"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}