@coinbase/agentkit 0.0.0-nightly-20250904210426 → 0.0.0-nightly-20250905210407

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 (53) hide show
  1. package/README.md +4 -0
  2. package/dist/action-providers/across/acrossActionProvider.js +3 -3
  3. package/dist/action-providers/cdp/cdpEvmWalletActionProvider.js +3 -1
  4. package/dist/action-providers/cdp/cdpSmartWalletActionProvider.js +4 -2
  5. package/dist/action-providers/compound/constants.d.ts +1 -1
  6. package/dist/action-providers/compound/constants.js +2 -2
  7. package/dist/action-providers/erc20/constants.d.ts +35 -135
  8. package/dist/action-providers/erc20/constants.js +37 -189
  9. package/dist/action-providers/erc20/erc20ActionProvider.d.ts +9 -1
  10. package/dist/action-providers/erc20/erc20ActionProvider.js +87 -35
  11. package/dist/action-providers/erc20/erc20ActionProvider.test.js +115 -52
  12. package/dist/action-providers/erc20/schemas.d.ts +25 -12
  13. package/dist/action-providers/erc20/schemas.js +34 -6
  14. package/dist/action-providers/erc20/utils.d.ts +19 -0
  15. package/dist/action-providers/erc20/utils.js +54 -0
  16. package/dist/action-providers/flaunch/constants.d.ts +1 -1
  17. package/dist/action-providers/flaunch/constants.js +2 -2
  18. package/dist/action-providers/moonwell/schemas.d.ts +2 -2
  19. package/dist/action-providers/morpho/morphoActionProvider.js +5 -5
  20. package/dist/action-providers/morpho/schemas.d.ts +2 -2
  21. package/dist/action-providers/superfluid/superfluidSuperTokenCreatorActionProvider.js +4 -4
  22. package/dist/action-providers/superfluid/superfluidWrapperActionProvider.js +3 -3
  23. package/dist/action-providers/superfluid/superfluidWrapperActionProvider.test.js +2 -2
  24. package/dist/action-providers/truemarkets/truemarketsActionProvider.js +10 -10
  25. package/dist/action-providers/wallet/walletActionProvider.js +21 -10
  26. package/dist/action-providers/wallet/walletActionProvider.test.js +6 -2
  27. package/dist/action-providers/zeroX/zeroXActionProvider.js +2 -0
  28. package/dist/wallet-providers/cdpEvmWalletProvider.d.ts +1 -1
  29. package/dist/wallet-providers/cdpEvmWalletProvider.js +1 -1
  30. package/dist/wallet-providers/cdpSmartWalletProvider.d.ts +1 -1
  31. package/dist/wallet-providers/cdpSmartWalletProvider.js +1 -1
  32. package/dist/wallet-providers/cdpSolanaWalletProvider.d.ts +1 -1
  33. package/dist/wallet-providers/cdpSolanaWalletProvider.js +7 -7
  34. package/dist/wallet-providers/cdpSolanaWalletProvider.test.js +15 -12
  35. package/dist/wallet-providers/legacyCdpSmartWalletProvider.d.ts +1 -1
  36. package/dist/wallet-providers/legacyCdpSmartWalletProvider.js +1 -1
  37. package/dist/wallet-providers/legacyCdpWalletProvider.d.ts +1 -1
  38. package/dist/wallet-providers/legacyCdpWalletProvider.js +1 -1
  39. package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.d.ts +1 -1
  40. package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.js +2 -2
  41. package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.test.js +1 -1
  42. package/dist/wallet-providers/privyEvmWalletProvider.test.js +1 -1
  43. package/dist/wallet-providers/solanaKeypairWalletProvider.d.ts +1 -1
  44. package/dist/wallet-providers/solanaKeypairWalletProvider.js +3 -4
  45. package/dist/wallet-providers/solanaKeypairWalletProvider.test.js +4 -2
  46. package/dist/wallet-providers/viemWalletProvider.d.ts +1 -1
  47. package/dist/wallet-providers/viemWalletProvider.js +2 -2
  48. package/dist/wallet-providers/viemWalletProvider.test.js +6 -5
  49. package/dist/wallet-providers/walletProvider.d.ts +1 -1
  50. package/dist/wallet-providers/zeroDevWalletProvider.d.ts +1 -1
  51. package/dist/wallet-providers/zeroDevWalletProvider.js +4 -4
  52. package/dist/wallet-providers/zeroDevWalletProvider.test.js +2 -2
  53. package/package.json +1 -1
package/README.md CHANGED
@@ -272,6 +272,10 @@ const agent = createReactAgent({
272
272
  <td width="200"><code>transfer</code></td>
273
273
  <td width="768">Transfers a specified amount of ERC-20 tokens to a destination address.</td>
274
274
  </tr>
275
+ <tr>
276
+ <td width="200"><code>get_erc20_token_address</code></td>
277
+ <td width="768">Gets the contract address for frequently used ERC20 tokens on different networks by token symbol.</td>
278
+ </tr>
275
279
  </table>
276
280
  </details>
277
281
  <details>
@@ -31,7 +31,7 @@ const schemas_1 = require("./schemas");
31
31
  const wallet_providers_1 = require("../../wallet-providers");
32
32
  const utils_1 = require("./utils");
33
33
  const accounts_1 = require("viem/accounts");
34
- const constants_1 = require("../erc20/constants");
34
+ const viem_2 = require("viem");
35
35
  /**
36
36
  * AcrossActionProvider provides actions for cross-chain bridging via Across Protocol.
37
37
  */
@@ -141,7 +141,7 @@ class AcrossActionProvider extends actionProvider_1.ActionProvider {
141
141
  // Check ERC20 token balance
142
142
  const tokenBalance = (await walletProvider.readContract({
143
143
  address: inputToken,
144
- abi: constants_1.abi,
144
+ abi: viem_2.erc20Abi,
145
145
  functionName: "balanceOf",
146
146
  args: [address],
147
147
  }));
@@ -194,7 +194,7 @@ class AcrossActionProvider extends actionProvider_1.ActionProvider {
194
194
  approvalTxHash = await walletProvider.sendTransaction({
195
195
  to: inputToken,
196
196
  data: (0, viem_1.encodeFunctionData)({
197
- abi: constants_1.abi,
197
+ abi: viem_2.erc20Abi,
198
198
  functionName: "approve",
199
199
  args: [quote.deposit.spokePoolAddress, quote.deposit.inputAmount],
200
200
  }),
@@ -337,7 +337,8 @@ It takes the following inputs:
337
337
  - slippageBps: (Optional) Maximum allowed slippage in basis points (100 = 1%)
338
338
  Important notes:
339
339
  - The contract address for native ETH is "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
340
- - Use fromAmount units exactly as provided, do not convert to wei or any other units.
340
+ - Use fromAmount units exactly as provided, do not convert to wei or any other units
341
+ - Never assume token or address, they have to be provided as inputs. If only token symbol is provided, use the get_token_address tool if available to get the token address first
341
342
  `,
342
343
  schema: schemas_1.SwapSchema,
343
344
  }),
@@ -359,6 +360,7 @@ Important notes:
359
360
  - The contract address for native ETH is "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
360
361
  - If needed, it will automatically approve the permit2 contract to spend the fromToken
361
362
  - Use fromAmount units exactly as provided, do not convert to wei or any other units.
363
+ - Never assume token or address, they have to be provided as inputs. If only token symbol is provided, use the get_token_address tool if available to get the token address first
362
364
  `,
363
365
  schema: schemas_1.SwapSchema,
364
366
  }),
@@ -319,7 +319,8 @@ It takes the following inputs:
319
319
  - slippageBps: (Optional) Maximum allowed slippage in basis points (100 = 1%)
320
320
  Important notes:
321
321
  - The contract address for native ETH is "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
322
- - Use fromAmount units exactly as provided, do not convert to wei or any other units.
322
+ - Use fromAmount units exactly as provided, do not convert to wei or any other units
323
+ - Never assume token or address, they have to be provided as inputs. If only token symbol is provided, use the get_token_address tool if available to get the token address first
323
324
  `,
324
325
  schema: schemas_1.SwapSchema,
325
326
  }),
@@ -340,7 +341,8 @@ It takes the following inputs:
340
341
  Important notes:
341
342
  - The contract address for native ETH is "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
342
343
  - If needed, it will automatically approve the permit2 contract to spend the fromToken
343
- - Use fromAmount units exactly as provided, do not convert to wei or any other units.
344
+ - Use fromAmount units exactly as provided, do not convert to wei or any other units
345
+ - Never assume token or address, they have to be provided as inputs. If only token symbol is provided, use the get_token_address tool if available to get the token address first
344
346
  `,
345
347
  schema: schemas_1.SwapSchema,
346
348
  }),
@@ -1,5 +1,5 @@
1
1
  import { Address } from "viem";
2
- import { abi as ERC20_ABI } from "../erc20/constants";
2
+ import { erc20Abi as ERC20_ABI } from "viem";
3
3
  export declare const SUPPORTED_NETWORKS: string[];
4
4
  export declare const COMET_ADDRESSES: Record<string, Address>;
5
5
  export declare const ASSET_ADDRESSES: Record<string, Record<string, Address>>;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PRICE_FEED_ABI = exports.COMET_ABI = exports.ERC20_ABI = exports.ASSET_ADDRESSES = exports.COMET_ADDRESSES = exports.SUPPORTED_NETWORKS = void 0;
4
- const constants_1 = require("../erc20/constants");
5
- Object.defineProperty(exports, "ERC20_ABI", { enumerable: true, get: function () { return constants_1.abi; } });
4
+ const viem_1 = require("viem");
5
+ Object.defineProperty(exports, "ERC20_ABI", { enumerable: true, get: function () { return viem_1.erc20Abi; } });
6
6
  exports.SUPPORTED_NETWORKS = ["base-mainnet", "base-sepolia"];
7
7
  exports.COMET_ADDRESSES = {
8
8
  "base-mainnet": "0xb125E6687d4313864e53df431d5425969c15Eb2F",
@@ -1,137 +1,37 @@
1
- export declare const abi: readonly [{
2
- readonly type: "event";
3
- readonly name: "Approval";
4
- readonly inputs: readonly [{
5
- readonly indexed: true;
6
- readonly name: "owner";
7
- readonly type: "address";
8
- }, {
9
- readonly indexed: true;
10
- readonly name: "spender";
11
- readonly type: "address";
12
- }, {
13
- readonly indexed: false;
14
- readonly name: "value";
15
- readonly type: "uint256";
16
- }];
17
- }, {
18
- readonly type: "event";
19
- readonly name: "Transfer";
20
- readonly inputs: readonly [{
21
- readonly indexed: true;
22
- readonly name: "from";
23
- readonly type: "address";
24
- }, {
25
- readonly indexed: true;
26
- readonly name: "to";
27
- readonly type: "address";
28
- }, {
29
- readonly indexed: false;
30
- readonly name: "value";
31
- readonly type: "uint256";
32
- }];
33
- }, {
34
- readonly type: "function";
35
- readonly name: "allowance";
36
- readonly stateMutability: "view";
37
- readonly inputs: readonly [{
38
- readonly name: "owner";
39
- readonly type: "address";
40
- }, {
41
- readonly name: "spender";
42
- readonly type: "address";
43
- }];
44
- readonly outputs: readonly [{
45
- readonly type: "uint256";
46
- }];
47
- }, {
48
- readonly type: "function";
49
- readonly name: "approve";
50
- readonly stateMutability: "nonpayable";
51
- readonly inputs: readonly [{
52
- readonly name: "spender";
53
- readonly type: "address";
54
- }, {
55
- readonly name: "amount";
56
- readonly type: "uint256";
57
- }];
58
- readonly outputs: readonly [{
59
- readonly type: "bool";
60
- }];
61
- }, {
62
- readonly type: "function";
63
- readonly name: "balanceOf";
64
- readonly stateMutability: "view";
65
- readonly inputs: readonly [{
66
- readonly name: "account";
67
- readonly type: "address";
68
- }];
69
- readonly outputs: readonly [{
70
- readonly type: "uint256";
71
- }];
72
- }, {
73
- readonly type: "function";
74
- readonly name: "decimals";
75
- readonly stateMutability: "view";
76
- readonly inputs: readonly [];
77
- readonly outputs: readonly [{
78
- readonly type: "uint8";
79
- }];
80
- }, {
81
- readonly type: "function";
82
- readonly name: "name";
83
- readonly stateMutability: "view";
84
- readonly inputs: readonly [];
85
- readonly outputs: readonly [{
86
- readonly type: "string";
87
- }];
88
- }, {
89
- readonly type: "function";
90
- readonly name: "symbol";
91
- readonly stateMutability: "view";
92
- readonly inputs: readonly [];
93
- readonly outputs: readonly [{
94
- readonly type: "string";
95
- }];
96
- }, {
97
- readonly type: "function";
98
- readonly name: "totalSupply";
99
- readonly stateMutability: "view";
100
- readonly inputs: readonly [];
101
- readonly outputs: readonly [{
102
- readonly type: "uint256";
103
- }];
104
- }, {
105
- readonly type: "function";
106
- readonly name: "transfer";
107
- readonly stateMutability: "nonpayable";
108
- readonly inputs: readonly [{
109
- readonly name: "recipient";
110
- readonly type: "address";
111
- }, {
112
- readonly name: "amount";
113
- readonly type: "uint256";
114
- }];
115
- readonly outputs: readonly [{
116
- readonly type: "bool";
117
- }];
118
- }, {
119
- readonly type: "function";
120
- readonly name: "transferFrom";
121
- readonly stateMutability: "nonpayable";
122
- readonly inputs: readonly [{
123
- readonly name: "sender";
124
- readonly type: "address";
125
- }, {
126
- readonly name: "recipient";
127
- readonly type: "address";
128
- }, {
129
- readonly name: "amount";
130
- readonly type: "uint256";
131
- }];
132
- readonly outputs: readonly [{
133
- readonly type: "bool";
134
- }];
135
- }];
136
1
  export declare const BaseTokenToAssetId: Map<string, string>;
137
2
  export declare const BaseSepoliaTokenToAssetId: Map<string, string>;
3
+ export declare const TOKEN_ADDRESSES_BY_SYMBOLS: {
4
+ readonly "base-mainnet": {
5
+ readonly USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
6
+ readonly EURC: "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42";
7
+ readonly CBBTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
8
+ readonly CBETH: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22";
9
+ readonly WETH: "0x4200000000000000000000000000000000000006";
10
+ readonly ZORA: "0x1111111111166b7FE7bd91427724B487980aFc69";
11
+ readonly AERO: "0x940181a94a35a4569e4529a3cdfb74e38fd98631";
12
+ readonly BNKR: "0x22af33fe49fd1fa80c7149773dde5890d3c76f3b";
13
+ readonly CLANKER: "0x1bc0c42215582d5a085795f4badbac3ff36d1bcb";
14
+ };
15
+ readonly "base-sepolia": {
16
+ readonly USDC: "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
17
+ readonly EURC: "0x808456652fdb597867f38412077A9182bf77359F";
18
+ readonly CBBTC: "0xcbB7C0006F23900c38EB856149F799620fcb8A4a";
19
+ readonly WETH: "0x4200000000000000000000000000000000000006";
20
+ };
21
+ readonly "ethereum-mainnet": {
22
+ readonly USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
23
+ readonly EURC: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c";
24
+ readonly CBBTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf";
25
+ readonly WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
26
+ readonly CBETH: "0xBe9895146f7AF43049ca1c1AE358B0541Ea49704";
27
+ };
28
+ readonly "polygon-mainnet": {
29
+ readonly USDC: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359";
30
+ };
31
+ readonly "arbitrum-mainnet": {
32
+ readonly USDC: "0xaf88d065e77c8cc2239327c5edb3a432268e5831";
33
+ };
34
+ readonly "optimism-mainnet": {
35
+ readonly USDC: "0x0b2c639c533813f4aa9d7837caf62653d097ff85";
36
+ };
37
+ };
@@ -1,195 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseSepoliaTokenToAssetId = exports.BaseTokenToAssetId = exports.abi = void 0;
3
+ exports.TOKEN_ADDRESSES_BY_SYMBOLS = exports.BaseSepoliaTokenToAssetId = exports.BaseTokenToAssetId = void 0;
4
4
  const coinbase_sdk_1 = require("@coinbase/coinbase-sdk");
5
- exports.abi = [
6
- {
7
- type: "event",
8
- name: "Approval",
9
- inputs: [
10
- {
11
- indexed: true,
12
- name: "owner",
13
- type: "address",
14
- },
15
- {
16
- indexed: true,
17
- name: "spender",
18
- type: "address",
19
- },
20
- {
21
- indexed: false,
22
- name: "value",
23
- type: "uint256",
24
- },
25
- ],
26
- },
27
- {
28
- type: "event",
29
- name: "Transfer",
30
- inputs: [
31
- {
32
- indexed: true,
33
- name: "from",
34
- type: "address",
35
- },
36
- {
37
- indexed: true,
38
- name: "to",
39
- type: "address",
40
- },
41
- {
42
- indexed: false,
43
- name: "value",
44
- type: "uint256",
45
- },
46
- ],
47
- },
48
- {
49
- type: "function",
50
- name: "allowance",
51
- stateMutability: "view",
52
- inputs: [
53
- {
54
- name: "owner",
55
- type: "address",
56
- },
57
- {
58
- name: "spender",
59
- type: "address",
60
- },
61
- ],
62
- outputs: [
63
- {
64
- type: "uint256",
65
- },
66
- ],
67
- },
68
- {
69
- type: "function",
70
- name: "approve",
71
- stateMutability: "nonpayable",
72
- inputs: [
73
- {
74
- name: "spender",
75
- type: "address",
76
- },
77
- {
78
- name: "amount",
79
- type: "uint256",
80
- },
81
- ],
82
- outputs: [
83
- {
84
- type: "bool",
85
- },
86
- ],
87
- },
88
- {
89
- type: "function",
90
- name: "balanceOf",
91
- stateMutability: "view",
92
- inputs: [
93
- {
94
- name: "account",
95
- type: "address",
96
- },
97
- ],
98
- outputs: [
99
- {
100
- type: "uint256",
101
- },
102
- ],
103
- },
104
- {
105
- type: "function",
106
- name: "decimals",
107
- stateMutability: "view",
108
- inputs: [],
109
- outputs: [
110
- {
111
- type: "uint8",
112
- },
113
- ],
114
- },
115
- {
116
- type: "function",
117
- name: "name",
118
- stateMutability: "view",
119
- inputs: [],
120
- outputs: [
121
- {
122
- type: "string",
123
- },
124
- ],
125
- },
126
- {
127
- type: "function",
128
- name: "symbol",
129
- stateMutability: "view",
130
- inputs: [],
131
- outputs: [
132
- {
133
- type: "string",
134
- },
135
- ],
136
- },
137
- {
138
- type: "function",
139
- name: "totalSupply",
140
- stateMutability: "view",
141
- inputs: [],
142
- outputs: [
143
- {
144
- type: "uint256",
145
- },
146
- ],
147
- },
148
- {
149
- type: "function",
150
- name: "transfer",
151
- stateMutability: "nonpayable",
152
- inputs: [
153
- {
154
- name: "recipient",
155
- type: "address",
156
- },
157
- {
158
- name: "amount",
159
- type: "uint256",
160
- },
161
- ],
162
- outputs: [
163
- {
164
- type: "bool",
165
- },
166
- ],
167
- },
168
- {
169
- type: "function",
170
- name: "transferFrom",
171
- stateMutability: "nonpayable",
172
- inputs: [
173
- {
174
- name: "sender",
175
- type: "address",
176
- },
177
- {
178
- name: "recipient",
179
- type: "address",
180
- },
181
- {
182
- name: "amount",
183
- type: "uint256",
184
- },
185
- ],
186
- outputs: [
187
- {
188
- type: "bool",
189
- },
190
- ],
191
- },
192
- ];
193
5
  exports.BaseTokenToAssetId = new Map([
194
6
  ["0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", coinbase_sdk_1.Coinbase.assets.Cbbtc],
195
7
  ["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", coinbase_sdk_1.Coinbase.assets.Usdc],
@@ -200,3 +12,39 @@ exports.BaseSepoliaTokenToAssetId = new Map([
200
12
  ["0x036CbD53842c5426634e7929541eC2318f3dCF7e", coinbase_sdk_1.Coinbase.assets.Usdc],
201
13
  ["0x808456652fdb597867f38412077A9182bf77359F", coinbase_sdk_1.Coinbase.assets.Eurc],
202
14
  ]);
15
+ // Token symbol to address mappings for frequently used tokens
16
+ exports.TOKEN_ADDRESSES_BY_SYMBOLS = {
17
+ "base-mainnet": {
18
+ USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
19
+ EURC: "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
20
+ CBBTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
21
+ CBETH: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
22
+ WETH: "0x4200000000000000000000000000000000000006",
23
+ ZORA: "0x1111111111166b7FE7bd91427724B487980aFc69",
24
+ AERO: "0x940181a94a35a4569e4529a3cdfb74e38fd98631",
25
+ BNKR: "0x22af33fe49fd1fa80c7149773dde5890d3c76f3b",
26
+ CLANKER: "0x1bc0c42215582d5a085795f4badbac3ff36d1bcb",
27
+ },
28
+ "base-sepolia": {
29
+ USDC: "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
30
+ EURC: "0x808456652fdb597867f38412077A9182bf77359F",
31
+ CBBTC: "0xcbB7C0006F23900c38EB856149F799620fcb8A4a",
32
+ WETH: "0x4200000000000000000000000000000000000006",
33
+ },
34
+ "ethereum-mainnet": {
35
+ USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
36
+ EURC: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c",
37
+ CBBTC: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
38
+ WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
39
+ CBETH: "0xBe9895146f7AF43049ca1c1AE358B0541Ea49704",
40
+ },
41
+ "polygon-mainnet": {
42
+ USDC: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
43
+ },
44
+ "arbitrum-mainnet": {
45
+ USDC: "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
46
+ },
47
+ "optimism-mainnet": {
48
+ USDC: "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
49
+ },
50
+ };
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { ActionProvider } from "../actionProvider";
3
3
  import { Network } from "../../network";
4
- import { GetBalanceSchema, TransferSchema } from "./schemas";
4
+ import { GetBalanceSchema, TransferSchema, GetTokenAddressSchema } from "./schemas";
5
5
  import { EvmWalletProvider } from "../../wallet-providers";
6
6
  /**
7
7
  * ERC20ActionProvider is an action provider for ERC20 tokens.
@@ -27,6 +27,14 @@ export declare class ERC20ActionProvider extends ActionProvider<EvmWalletProvide
27
27
  * @returns A message containing the transfer details.
28
28
  */
29
29
  transfer(walletProvider: EvmWalletProvider, args: z.infer<typeof TransferSchema>): Promise<string>;
30
+ /**
31
+ * Gets the contract address for a token symbol on the current network.
32
+ *
33
+ * @param walletProvider - The wallet provider to get the network from.
34
+ * @param args - The input arguments for the action.
35
+ * @returns A message containing the token address or an error if not found.
36
+ */
37
+ getTokenAddress(walletProvider: EvmWalletProvider, args: z.infer<typeof GetTokenAddressSchema>): Promise<string>;
30
38
  /**
31
39
  * Checks if the ERC20 action provider supports the given network.
32
40
  *