@coinbase/agentkit 0.0.0-nightly-20250903210403 → 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.
- package/README.md +4 -0
- package/dist/action-providers/across/acrossActionProvider.js +3 -3
- package/dist/action-providers/cdp/cdpEvmWalletActionProvider.js +3 -1
- package/dist/action-providers/cdp/cdpSmartWalletActionProvider.js +4 -2
- package/dist/action-providers/compound/constants.d.ts +1 -1
- package/dist/action-providers/compound/constants.js +2 -2
- package/dist/action-providers/erc20/constants.d.ts +35 -135
- package/dist/action-providers/erc20/constants.js +37 -189
- package/dist/action-providers/erc20/erc20ActionProvider.d.ts +9 -1
- package/dist/action-providers/erc20/erc20ActionProvider.js +87 -35
- package/dist/action-providers/erc20/erc20ActionProvider.test.js +115 -52
- package/dist/action-providers/erc20/schemas.d.ts +25 -12
- package/dist/action-providers/erc20/schemas.js +34 -6
- package/dist/action-providers/erc20/utils.d.ts +19 -0
- package/dist/action-providers/erc20/utils.js +54 -0
- package/dist/action-providers/flaunch/constants.d.ts +1 -1
- package/dist/action-providers/flaunch/constants.js +2 -2
- package/dist/action-providers/moonwell/schemas.d.ts +2 -2
- package/dist/action-providers/morpho/morphoActionProvider.js +5 -5
- package/dist/action-providers/morpho/schemas.d.ts +2 -2
- package/dist/action-providers/superfluid/superfluidSuperTokenCreatorActionProvider.js +4 -4
- package/dist/action-providers/superfluid/superfluidWrapperActionProvider.js +3 -3
- package/dist/action-providers/superfluid/superfluidWrapperActionProvider.test.js +2 -2
- package/dist/action-providers/truemarkets/truemarketsActionProvider.js +10 -10
- package/dist/action-providers/wallet/walletActionProvider.js +21 -10
- package/dist/action-providers/wallet/walletActionProvider.test.js +6 -2
- package/dist/action-providers/zeroX/zeroXActionProvider.js +2 -0
- package/dist/wallet-providers/cdpEvmWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/cdpEvmWalletProvider.js +1 -1
- package/dist/wallet-providers/cdpSmartWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/cdpSmartWalletProvider.js +1 -1
- package/dist/wallet-providers/cdpSolanaWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/cdpSolanaWalletProvider.js +7 -7
- package/dist/wallet-providers/cdpSolanaWalletProvider.test.js +15 -12
- package/dist/wallet-providers/legacyCdpSmartWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/legacyCdpSmartWalletProvider.js +1 -1
- package/dist/wallet-providers/legacyCdpWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/legacyCdpWalletProvider.js +1 -1
- package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.js +2 -2
- package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.test.js +1 -1
- package/dist/wallet-providers/privyEvmWalletProvider.test.js +1 -1
- package/dist/wallet-providers/solanaKeypairWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/solanaKeypairWalletProvider.js +3 -4
- package/dist/wallet-providers/solanaKeypairWalletProvider.test.js +4 -2
- package/dist/wallet-providers/viemWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/viemWalletProvider.js +2 -2
- package/dist/wallet-providers/viemWalletProvider.test.js +6 -5
- package/dist/wallet-providers/walletProvider.d.ts +1 -1
- package/dist/wallet-providers/zeroDevWalletProvider.d.ts +1 -1
- package/dist/wallet-providers/zeroDevWalletProvider.js +4 -4
- package/dist/wallet-providers/zeroDevWalletProvider.test.js +2 -2
- 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
|
|
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:
|
|
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:
|
|
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 {
|
|
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
|
|
5
|
-
Object.defineProperty(exports, "ERC20_ABI", { enumerable: true, get: function () { return
|
|
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.
|
|
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
|
*
|