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,11 @@
1
+ import { type EIP712TypedData } from '@1inch/limit-order-sdk';
2
+ import { type BlockchainProviderConnector } from '@1inch/fusion-sdk';
3
+ import type { PublicClient, WalletClient } from 'viem';
4
+ export declare class Web3ProviderConnector implements BlockchainProviderConnector {
5
+ protected readonly publicClient: PublicClient;
6
+ protected readonly walletClient: WalletClient;
7
+ constructor(publicClient: PublicClient, walletClient: WalletClient);
8
+ signTypedData(_walletAddress: string, typedData: EIP712TypedData): Promise<string>;
9
+ ethCall(contractAddress: string, callData: string): Promise<string>;
10
+ }
11
+ //# sourceMappingURL=oneInchProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oneInchProvider.d.ts","sourceRoot":"","sources":["../../src/oneInchFusion/oneInchProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,qBAAa,qBAAsB,YAAW,2BAA2B;IAErE,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IAC7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;gBAD1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAGzC,aAAa,CACjB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,CAAC;IAcZ,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ1E"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Web3ProviderConnector = void 0;
4
+ class Web3ProviderConnector {
5
+ publicClient;
6
+ walletClient;
7
+ constructor(publicClient, walletClient) {
8
+ this.publicClient = publicClient;
9
+ this.walletClient = walletClient;
10
+ }
11
+ async signTypedData(_walletAddress, typedData) {
12
+ const account = this.walletClient.account;
13
+ if (!account) {
14
+ throw new Error('Wallet client has no account configured');
15
+ }
16
+ return this.walletClient.signTypedData({
17
+ account,
18
+ domain: typedData.domain,
19
+ types: typedData.types,
20
+ primaryType: typedData.primaryType,
21
+ message: typedData.message,
22
+ });
23
+ }
24
+ async ethCall(contractAddress, callData) {
25
+ return this.publicClient
26
+ .call({
27
+ to: contractAddress,
28
+ data: callData,
29
+ })
30
+ .then((res) => res.data ?? '0x');
31
+ }
32
+ }
33
+ exports.Web3ProviderConnector = Web3ProviderConnector;
34
+ //# sourceMappingURL=oneInchProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oneInchProvider.js","sourceRoot":"","sources":["../../src/oneInchFusion/oneInchProvider.ts"],"names":[],"mappings":";;;AAIA,MAAa,qBAAqB;IAEX;IACA;IAFrB,YACqB,YAA0B,EAC1B,YAA0B;QAD1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;IAC5C,CAAC;IAEJ,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,SAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACrC,OAAO;YACP,MAAM,EAAE,SAAS,CAAC,MAAa;YAC/B,KAAK,EAAE,SAAS,CAAC,KAAY;YAC7B,WAAW,EAAE,SAAS,CAAC,WAAqB;YAC5C,OAAO,EAAE,SAAS,CAAC,OAAc;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,eAAuB,EAAE,QAAgB;QACrD,OAAO,IAAI,CAAC,YAAY;aACrB,IAAI,CAAC;YACJ,EAAE,EAAE,eAAgC;YACpC,IAAI,EAAE,QAAyB;SAChC,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AA/BD,sDA+BC"}
@@ -0,0 +1,26 @@
1
+ export interface QuoteInputType {
2
+ fromTokenAddress: string;
3
+ toTokenAddress: string;
4
+ amount: string;
5
+ fromAddress: string;
6
+ fromTokenDecimals: number;
7
+ toTokenDecimals: number;
8
+ }
9
+ export interface QuoteOutputType {
10
+ startAmount: bigint;
11
+ endAmount?: bigint;
12
+ avgAmount?: bigint;
13
+ fee?: bigint;
14
+ feeDecimals?: number;
15
+ }
16
+ export interface OrderStatusOutputType {
17
+ status: string;
18
+ fills: {
19
+ txHash: string;
20
+ }[];
21
+ createdAt: number;
22
+ duration: number;
23
+ cancelTx?: string | null;
24
+ finalToAmount?: bigint;
25
+ }
26
+ //# sourceMappingURL=oneInchTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oneInchTypes.d.ts","sourceRoot":"","sources":["../../src/oneInchFusion/oneInchTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;CACxB;AACD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=oneInchTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oneInchTypes.js","sourceRoot":"","sources":["../../src/oneInchFusion/oneInchTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import type { Hex, Chain, PublicClient } from 'viem';
2
+ /**
3
+ * Canonical address representing the native token (ETH, BNB, etc.).
4
+ */
5
+ export declare const NATIVE_TOKEN_ADDRESS: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
6
+ export interface TokenBalance {
7
+ balance: string;
8
+ contract: string;
9
+ decimals: number;
10
+ logo_url: string;
11
+ name: string;
12
+ price: number;
13
+ symbol: string;
14
+ }
15
+ /**
16
+ * Validates a private key and returns a viem LocalAccount.
17
+ * Throws if the key is missing or not 0x-prefixed.
18
+ */
19
+ export declare function validateAndCreateAccount(privateKey: Hex): {
20
+ address: import("viem").Address;
21
+ nonceManager?: import("viem").NonceManager | undefined;
22
+ sign: (parameters: {
23
+ hash: import("viem").Hash;
24
+ }) => Promise<Hex>;
25
+ signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
26
+ signMessage: ({ message }: {
27
+ message: import("viem").SignableMessage;
28
+ }) => Promise<Hex>;
29
+ signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
30
+ serializer?: serializer | undefined;
31
+ } | undefined) => Promise<Hex>;
32
+ signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
33
+ publicKey: Hex;
34
+ source: "privateKey";
35
+ type: "local";
36
+ };
37
+ /**
38
+ * Validates that a value is a valid Ethereum address.
39
+ * Throws with the given label if invalid.
40
+ */
41
+ export declare function validateAddress(address: string, label: string): void;
42
+ /**
43
+ * Resolves a network name, alias, or chain ID string to a supported Chain.
44
+ * Throws if the network is not supported.
45
+ */
46
+ export declare function resolveNetwork(network: string): Chain;
47
+ /**
48
+ * Returns the network config for a given chain, or throws listing supported chains.
49
+ */
50
+ export declare function getNetworkConfig(chain: Chain): {
51
+ balances: string;
52
+ nodeUrl: string;
53
+ };
54
+ /**
55
+ * Creates a viem PublicClient for the given chain.
56
+ */
57
+ export declare function createNetworkClient(chain: Chain, networkConfig: {
58
+ nodeUrl: string;
59
+ }): PublicClient;
60
+ /**
61
+ * Fetches token balances for a given address on the specified chain.
62
+ *
63
+ * @param chainId - The chain ID (must be in SUPPORTED_NETWORKS)
64
+ * @param address - The wallet address (0x-prefixed hex string)
65
+ * @returns Array of token balances
66
+ */
67
+ export declare function getTokenBalances(chainId: number, address: string): Promise<TokenBalance[]>;
68
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAMrD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAC/B,4CAAqD,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,GAAG;;;;;;;;;;oTAuB/C,CAAC;kBAAsB,CAAC;;;;;;EAlBhC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CA6BrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK;;;EAW5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC,YAAY,CAKd;AAcD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,EAAE,CAAC,CAuBzB"}
package/dist/utils.js ADDED
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NATIVE_TOKEN_ADDRESS = void 0;
4
+ exports.validateAndCreateAccount = validateAndCreateAccount;
5
+ exports.validateAddress = validateAddress;
6
+ exports.resolveNetwork = resolveNetwork;
7
+ exports.getNetworkConfig = getNetworkConfig;
8
+ exports.createNetworkClient = createNetworkClient;
9
+ exports.getTokenBalances = getTokenBalances;
10
+ const viem_1 = require("viem");
11
+ const accounts_1 = require("viem/accounts");
12
+ const configs_1 = require("./configs");
13
+ const BALANCES_API_BASE = 'https://partners.mewapi.io/balances';
14
+ /**
15
+ * Canonical address representing the native token (ETH, BNB, etc.).
16
+ */
17
+ exports.NATIVE_TOKEN_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
18
+ /**
19
+ * Validates a private key and returns a viem LocalAccount.
20
+ * Throws if the key is missing or not 0x-prefixed.
21
+ */
22
+ function validateAndCreateAccount(privateKey) {
23
+ if (!privateKey || !privateKey.startsWith('0x')) {
24
+ throw new Error('Private key must be a hex string starting with 0x');
25
+ }
26
+ return (0, accounts_1.privateKeyToAccount)(privateKey);
27
+ }
28
+ /**
29
+ * Validates that a value is a valid Ethereum address.
30
+ * Throws with the given label if invalid.
31
+ */
32
+ function validateAddress(address, label) {
33
+ if (!(0, viem_1.isAddress)(address)) {
34
+ throw new Error(`${label} must be a valid 0x-prefixed address`);
35
+ }
36
+ }
37
+ /**
38
+ * Resolves a network name, alias, or chain ID string to a supported Chain.
39
+ * Throws if the network is not supported.
40
+ */
41
+ function resolveNetwork(network) {
42
+ // Try matching by chain ID
43
+ const asNumber = Number(network);
44
+ if (!isNaN(asNumber)) {
45
+ const chain = configs_1.SUPPORTED_NETWORKS.find((c) => c.id === asNumber);
46
+ if (chain)
47
+ return chain;
48
+ }
49
+ // Try matching by name / alias (case-insensitive)
50
+ const lower = network.toLowerCase();
51
+ const chain = configs_1.SUPPORTED_NETWORKS.find((c) => c.name.toLowerCase() === lower ||
52
+ (c.id === 1 &&
53
+ (lower === 'mainnet' || lower === 'ethereum' || lower === 'eth')) ||
54
+ (c.id === 56 &&
55
+ (lower === 'bsc' || lower === 'binance' || lower === 'bnb')));
56
+ if (!chain) {
57
+ const supported = configs_1.SUPPORTED_NETWORKS.map((c) => `${c.name} (${c.id})`).join(', ');
58
+ throw new Error(`Unsupported network: "${network}". Supported networks: ${supported}`);
59
+ }
60
+ return chain;
61
+ }
62
+ /**
63
+ * Returns the network config for a given chain, or throws listing supported chains.
64
+ */
65
+ function getNetworkConfig(chain) {
66
+ const networkConfig = configs_1.SUPPORTED_NETWORKS_NAME_MAP[chain.id];
67
+ if (!networkConfig) {
68
+ const supported = configs_1.SUPPORTED_NETWORKS.map((c) => `${c.name} (${c.id})`).join(', ');
69
+ throw new Error(`Chain "${chain.name}" (${chain.id}) is not supported. Supported chains: ${supported}`);
70
+ }
71
+ return networkConfig;
72
+ }
73
+ /**
74
+ * Creates a viem PublicClient for the given chain.
75
+ */
76
+ function createNetworkClient(chain, networkConfig) {
77
+ return (0, viem_1.createPublicClient)({
78
+ chain,
79
+ transport: (0, viem_1.http)(networkConfig.nodeUrl),
80
+ });
81
+ }
82
+ /**
83
+ * Returns the balances network name for a given chain ID,
84
+ * or undefined if the chain is not supported.
85
+ */
86
+ function getBalancesNetworkName(chainId) {
87
+ const entry = configs_1.SUPPORTED_NETWORKS_NAME_MAP[chainId];
88
+ if (!entry)
89
+ return undefined;
90
+ if (typeof entry === 'string')
91
+ return entry;
92
+ if (typeof entry === 'object' && 'balances' in entry)
93
+ return entry.balances;
94
+ return undefined;
95
+ }
96
+ /**
97
+ * Fetches token balances for a given address on the specified chain.
98
+ *
99
+ * @param chainId - The chain ID (must be in SUPPORTED_NETWORKS)
100
+ * @param address - The wallet address (0x-prefixed hex string)
101
+ * @returns Array of token balances
102
+ */
103
+ async function getTokenBalances(chainId, address) {
104
+ const networkName = getBalancesNetworkName(chainId);
105
+ if (!networkName) {
106
+ throw new Error(`Unsupported chain ID: ${chainId}. Supported chains: ${Object.keys(configs_1.SUPPORTED_NETWORKS_NAME_MAP).join(', ')}`);
107
+ }
108
+ if (!address || !address.startsWith('0x')) {
109
+ throw new Error('Address must be a valid 0x-prefixed hex string');
110
+ }
111
+ const url = `${BALANCES_API_BASE}/${networkName}/${address}`;
112
+ const response = await fetch(url);
113
+ if (!response.ok) {
114
+ throw new Error(`Failed to fetch balances: ${response.status} ${response.statusText}`);
115
+ }
116
+ const data = (await response.json());
117
+ return data.result;
118
+ }
119
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "chainai",
3
+ "version": "0.0.1",
4
+ "description": "chainai CLI tool",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "bin": "./dist/index.js",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "dev": "ts-node src/index.ts",
14
+ "start": "node dist/index.js",
15
+ "clean": "rm -rf dist",
16
+ "prepublishOnly": "yarn clean && yarn build",
17
+ "publish:live": "yarn prepublishOnly && yarn npm publish --access public",
18
+ "test": "vitest run --exclude 'dist/**'",
19
+ "format": "prettier --write .",
20
+ "format:check": "prettier --check ."
21
+ },
22
+ "keywords": [],
23
+ "license": "MIT",
24
+ "packageManager": "yarn@4.12.0",
25
+ "devDependencies": {
26
+ "@types/node": "^25.3.2",
27
+ "prettier": "^3.8.1",
28
+ "ts-node": "^10.9.2",
29
+ "typescript": "^5.9.3",
30
+ "vitest": "^4.0.18"
31
+ },
32
+ "dependencies": {
33
+ "@1inch/fusion-sdk": "^2.4.6",
34
+ "commander": "^14.0.3",
35
+ "viem": "^2.46.3",
36
+ "axios": "^1.13.6"
37
+ }
38
+ }