@instadapp/avocado-base 0.0.0-dev.a3a46f8 → 0.0.0-dev.a52088d
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/.vscode/settings.json +68 -0
- package/abi/multisigAgnosticForwarder.json +938 -0
- package/assets/images/icons/check.svg +3 -0
- package/assets/images/icons/copy.svg +9 -2
- package/assets/images/icons/stars.svg +4 -0
- package/components/ActionLogo.vue +32 -30
- package/components/ActionMetadata.vue +30 -20
- package/components/Address.vue +74 -0
- package/components/CopyClipboard.vue +16 -38
- package/components/metadata/CrossTransfer.vue +29 -32
- package/components/metadata/Signers.vue +11 -55
- package/components/metadata/Swap.vue +29 -30
- package/components/metadata/Transfer.vue +25 -27
- package/contracts/MultisigAgnosticForwarder.ts +1423 -0
- package/contracts/factories/MultisigAgnosticForwarder__factory.ts +2135 -0
- package/contracts/factories/index.ts +1 -0
- package/contracts/index.ts +2 -0
- package/eslint.config.mjs +19 -0
- package/nuxt.config.ts +7 -2
- package/package.json +11 -8
- package/utils/formatter.ts +1 -1
- package/utils/metadata.ts +104 -8
- package/utils/network.ts +402 -265
- package/utils/utils.d.ts +13 -2
package/utils/network.ts
CHANGED
|
@@ -1,359 +1,495 @@
|
|
|
1
|
-
import { ethers } from
|
|
1
|
+
import { ethers } from 'ethers'
|
|
2
|
+
import {
|
|
3
|
+
arbitrum,
|
|
4
|
+
aurora,
|
|
5
|
+
avalanche,
|
|
6
|
+
base,
|
|
7
|
+
blast,
|
|
8
|
+
bsc,
|
|
9
|
+
fantom,
|
|
10
|
+
fuse,
|
|
11
|
+
gnosis,
|
|
12
|
+
linea,
|
|
13
|
+
mainnet,
|
|
14
|
+
mode,
|
|
15
|
+
opBNB,
|
|
16
|
+
optimism,
|
|
17
|
+
polygon,
|
|
18
|
+
polygonZkEvm,
|
|
19
|
+
scroll,
|
|
20
|
+
} from 'viem/chains'
|
|
21
|
+
import { defineChain } from 'viem'
|
|
2
22
|
import {
|
|
3
|
-
AVO_PROD_CHAIN_NAME,
|
|
4
23
|
AVO_PROD_CHAIN_ID,
|
|
5
|
-
|
|
24
|
+
AVO_PROD_CHAIN_NAME,
|
|
6
25
|
AVO_PROD_EXPLORER_URL,
|
|
7
|
-
|
|
26
|
+
AVO_PROD_RPC_URL,
|
|
8
27
|
AVO_STAGING_CHAIN_ID,
|
|
9
|
-
|
|
28
|
+
AVO_STAGING_CHAIN_NAME,
|
|
10
29
|
AVO_STAGING_EXPLORER_URL,
|
|
11
|
-
|
|
30
|
+
AVO_STAGING_RPC_URL,
|
|
31
|
+
} from './avocado'
|
|
12
32
|
|
|
13
|
-
export const bridgeDisabledNetworks = []
|
|
33
|
+
export const bridgeDisabledNetworks = []
|
|
14
34
|
|
|
15
|
-
export const networksSimulationNotSupported = [1313161554, 1101]
|
|
35
|
+
export const networksSimulationNotSupported = [1313161554, 1101]
|
|
36
|
+
|
|
37
|
+
const avocado = defineChain({
|
|
38
|
+
id: AVO_PROD_CHAIN_ID,
|
|
39
|
+
name: AVO_PROD_CHAIN_NAME,
|
|
40
|
+
nativeCurrency: {
|
|
41
|
+
name: 'Avocado',
|
|
42
|
+
symbol: 'USDC',
|
|
43
|
+
decimals: 18,
|
|
44
|
+
},
|
|
45
|
+
rpcUrls: {
|
|
46
|
+
default: { http: [AVO_PROD_RPC_URL] },
|
|
47
|
+
},
|
|
48
|
+
blockExplorers: {
|
|
49
|
+
default: { name: 'Avoscan', url: AVO_PROD_EXPLORER_URL },
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
const avocadoStaging = defineChain({
|
|
54
|
+
id: AVO_STAGING_CHAIN_ID,
|
|
55
|
+
name: AVO_STAGING_CHAIN_NAME,
|
|
56
|
+
nativeCurrency: {
|
|
57
|
+
name: 'Avocado',
|
|
58
|
+
symbol: 'USDC',
|
|
59
|
+
decimals: 18,
|
|
60
|
+
},
|
|
61
|
+
rpcUrls: {
|
|
62
|
+
default: { http: [AVO_STAGING_RPC_URL] },
|
|
63
|
+
},
|
|
64
|
+
blockExplorers: {
|
|
65
|
+
default: { name: 'Avoscan', url: AVO_STAGING_EXPLORER_URL },
|
|
66
|
+
},
|
|
67
|
+
})
|
|
16
68
|
|
|
17
69
|
export const networks: Network[] = [
|
|
18
70
|
{
|
|
19
|
-
name:
|
|
20
|
-
debankName:
|
|
21
|
-
ankrName:
|
|
22
|
-
zerionName:
|
|
23
|
-
color:
|
|
71
|
+
name: 'Polygon',
|
|
72
|
+
debankName: 'matic',
|
|
73
|
+
ankrName: 'polygon',
|
|
74
|
+
zerionName: 'polygon',
|
|
75
|
+
color: '#7A4ADD',
|
|
24
76
|
chainId: 137,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
77
|
+
viemChain: polygon,
|
|
78
|
+
balanceResolverAddress: '0x58632D23120b20650262b8A629a14e4F4043E0D9',
|
|
79
|
+
usdcAddress: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',
|
|
80
|
+
explorerUrl: 'https://polygonscan.com',
|
|
81
|
+
apiURL: 'https://api.polygonscan.com/api',
|
|
29
82
|
fakeTransactionHash:
|
|
30
|
-
|
|
83
|
+
'0x906c551abd5873a428505b6530ac14d91367820706c7ee525f6d7313265d1c92',
|
|
31
84
|
get serverRpcUrl() {
|
|
32
|
-
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0]
|
|
85
|
+
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0]
|
|
33
86
|
},
|
|
34
87
|
params: {
|
|
35
|
-
chainName:
|
|
88
|
+
chainName: 'Matic(Polygon) Mainnet',
|
|
36
89
|
nativeCurrency: {
|
|
37
|
-
name:
|
|
38
|
-
symbol:
|
|
90
|
+
name: 'Matic',
|
|
91
|
+
symbol: 'MATIC',
|
|
39
92
|
decimals: 18,
|
|
40
93
|
},
|
|
41
|
-
rpcUrls: [
|
|
94
|
+
rpcUrls: ['https://polygon-rpc.com'],
|
|
42
95
|
},
|
|
43
96
|
},
|
|
44
97
|
{
|
|
45
|
-
name:
|
|
46
|
-
debankName:
|
|
47
|
-
ankrName:
|
|
48
|
-
zerionName:
|
|
49
|
-
|
|
98
|
+
name: 'Arbitrum',
|
|
99
|
+
debankName: 'arb',
|
|
100
|
+
ankrName: 'arbitrum',
|
|
101
|
+
zerionName: 'arbitrum',
|
|
102
|
+
viemChain: arbitrum,
|
|
103
|
+
color: '#2D374B',
|
|
50
104
|
chainId: 42161,
|
|
51
|
-
usdcAddress:
|
|
52
|
-
balanceResolverAddress:
|
|
105
|
+
usdcAddress: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8',
|
|
106
|
+
balanceResolverAddress: '0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2',
|
|
53
107
|
fakeTransactionHash:
|
|
54
|
-
|
|
55
|
-
explorerUrl:
|
|
56
|
-
apiURL:
|
|
108
|
+
'0x9fa291c3b09d31f19b1fa5dd05f30169d1364036d5f7c14b026410bc07bd8843',
|
|
109
|
+
explorerUrl: 'https://arbiscan.io',
|
|
110
|
+
apiURL: 'https://api.arbiscan.io/api',
|
|
57
111
|
get serverRpcUrl() {
|
|
58
|
-
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0]
|
|
112
|
+
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0]
|
|
59
113
|
},
|
|
60
114
|
params: {
|
|
61
|
-
chainName:
|
|
115
|
+
chainName: 'Arbitrum One',
|
|
62
116
|
nativeCurrency: {
|
|
63
|
-
name:
|
|
64
|
-
symbol:
|
|
117
|
+
name: 'Ethereum',
|
|
118
|
+
symbol: 'ETH',
|
|
65
119
|
decimals: 18,
|
|
66
120
|
},
|
|
67
|
-
rpcUrls: [
|
|
121
|
+
rpcUrls: ['https://arb1.arbitrum.io/rpc'],
|
|
68
122
|
},
|
|
69
123
|
},
|
|
70
124
|
{
|
|
71
|
-
name:
|
|
72
|
-
debankName:
|
|
73
|
-
ankrName:
|
|
74
|
-
zerionName:
|
|
125
|
+
name: 'Ethereum',
|
|
126
|
+
debankName: 'eth',
|
|
127
|
+
ankrName: 'eth',
|
|
128
|
+
zerionName: 'ethereum',
|
|
129
|
+
viemChain: mainnet,
|
|
75
130
|
chainId: 1,
|
|
76
|
-
explorerUrl:
|
|
131
|
+
explorerUrl: 'https://etherscan.io',
|
|
77
132
|
fakeTransactionHash:
|
|
78
|
-
|
|
79
|
-
apiURL:
|
|
80
|
-
color:
|
|
133
|
+
'0x13232dd32cef2f641ead890a507710c96560c8c9c3d5fab6facb5ec563c49433',
|
|
134
|
+
apiURL: 'https://api.etherscan.io/api',
|
|
135
|
+
color: '#5D5FEF',
|
|
81
136
|
get serverRpcUrl() {
|
|
82
|
-
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0]
|
|
137
|
+
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0]
|
|
83
138
|
},
|
|
84
|
-
balanceResolverAddress:
|
|
85
|
-
usdcAddress:
|
|
139
|
+
balanceResolverAddress: '0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43',
|
|
140
|
+
usdcAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
|
86
141
|
params: {
|
|
87
|
-
rpcUrls: [
|
|
142
|
+
rpcUrls: ['https://rpc.ankr.com/eth'],
|
|
88
143
|
nativeCurrency: {
|
|
89
|
-
name:
|
|
90
|
-
symbol:
|
|
144
|
+
name: 'Ethereum',
|
|
145
|
+
symbol: 'ETH',
|
|
91
146
|
decimals: 18,
|
|
92
147
|
},
|
|
93
148
|
},
|
|
94
149
|
},
|
|
95
150
|
{
|
|
96
|
-
name:
|
|
151
|
+
name: 'Base',
|
|
97
152
|
chainId: 8453,
|
|
98
|
-
color:
|
|
99
|
-
ankrName:
|
|
100
|
-
|
|
153
|
+
color: '#1E2024',
|
|
154
|
+
ankrName: 'base',
|
|
155
|
+
viemChain: base,
|
|
156
|
+
explorerUrl: 'https://basescan.org',
|
|
101
157
|
fakeTransactionHash:
|
|
102
|
-
|
|
103
|
-
apiURL:
|
|
158
|
+
'0xf7833d80da33730c4fc5d4c64151f0eaa64c0c0535be022af0228a44cc4e9c8e',
|
|
159
|
+
apiURL: 'https://api.basescan.org/api',
|
|
104
160
|
get serverRpcUrl() {
|
|
105
|
-
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0]
|
|
161
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0]
|
|
106
162
|
},
|
|
107
|
-
usdcAddress:
|
|
108
|
-
balanceResolverAddress:
|
|
163
|
+
usdcAddress: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
|
|
164
|
+
balanceResolverAddress: '0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C',
|
|
109
165
|
params: {
|
|
110
|
-
rpcUrls: [
|
|
111
|
-
chainName:
|
|
166
|
+
rpcUrls: ['https://rpc.ankr.com/base'],
|
|
167
|
+
chainName: 'Base',
|
|
112
168
|
nativeCurrency: {
|
|
113
|
-
name:
|
|
114
|
-
symbol:
|
|
169
|
+
name: 'Ethereum',
|
|
170
|
+
symbol: 'ETH',
|
|
115
171
|
decimals: 18,
|
|
116
172
|
},
|
|
117
173
|
},
|
|
118
174
|
},
|
|
119
175
|
{
|
|
120
|
-
name:
|
|
121
|
-
debankName:
|
|
122
|
-
ankrName:
|
|
123
|
-
zerionName:
|
|
124
|
-
color:
|
|
176
|
+
name: 'Optimism',
|
|
177
|
+
debankName: 'op',
|
|
178
|
+
ankrName: 'optimism',
|
|
179
|
+
zerionName: 'optimism',
|
|
180
|
+
color: '#FF0420',
|
|
181
|
+
viemChain: optimism,
|
|
125
182
|
chainId: 10,
|
|
126
|
-
apiURL:
|
|
127
|
-
usdcAddress:
|
|
128
|
-
balanceResolverAddress:
|
|
183
|
+
apiURL: 'https://api-optimistic.etherscan.io/api',
|
|
184
|
+
usdcAddress: '0x7f5c764cbc14f9669b88837ca1490cca17c31607',
|
|
185
|
+
balanceResolverAddress: '0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2',
|
|
129
186
|
fakeTransactionHash:
|
|
130
|
-
|
|
131
|
-
explorerUrl:
|
|
187
|
+
'0xee7311d68059732b05088f2144dfec6c7a4f5fd0433eb85306afcd6bdf17cebc',
|
|
188
|
+
explorerUrl: 'https://optimistic.etherscan.io',
|
|
132
189
|
get serverRpcUrl() {
|
|
133
|
-
return process.env?.OPTIMISM_RPC_URL || this.params.rpcUrls[0]
|
|
190
|
+
return process.env?.OPTIMISM_RPC_URL || this.params.rpcUrls[0]
|
|
134
191
|
},
|
|
135
192
|
params: {
|
|
136
|
-
chainName:
|
|
193
|
+
chainName: 'Optimistic Ethereum',
|
|
137
194
|
nativeCurrency: {
|
|
138
|
-
name:
|
|
139
|
-
symbol:
|
|
195
|
+
name: 'Ethereum',
|
|
196
|
+
symbol: 'ETH',
|
|
140
197
|
decimals: 18,
|
|
141
198
|
},
|
|
142
|
-
rpcUrls: [
|
|
199
|
+
rpcUrls: ['https://rpc.ankr.com/optimism'],
|
|
143
200
|
},
|
|
144
201
|
},
|
|
145
202
|
{
|
|
146
|
-
name:
|
|
203
|
+
name: 'Polygon zkEVM',
|
|
147
204
|
chainId: 1101,
|
|
148
|
-
color:
|
|
149
|
-
ankrName:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
205
|
+
color: '#8544f6',
|
|
206
|
+
ankrName: 'polygon_zkevm',
|
|
207
|
+
viemChain: polygonZkEvm,
|
|
208
|
+
explorerUrl: 'https://zkevm.polygonscan.com',
|
|
209
|
+
apiURL: 'https://api-zkevm.polygonscan.com/api',
|
|
210
|
+
balanceResolverAddress: '0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01',
|
|
153
211
|
fakeTransactionHash:
|
|
154
|
-
|
|
155
|
-
usdcAddress:
|
|
212
|
+
'0x1077130463ade91ad4e9c43c3195298e26a99970975238128912490eea12bf41',
|
|
213
|
+
usdcAddress: '0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035',
|
|
156
214
|
get serverRpcUrl() {
|
|
157
|
-
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0]
|
|
215
|
+
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0]
|
|
158
216
|
},
|
|
159
217
|
params: {
|
|
160
|
-
chainName:
|
|
161
|
-
rpcUrls: [
|
|
218
|
+
chainName: 'polygon zkEVM',
|
|
219
|
+
rpcUrls: ['https://zkevm-rpc.com'],
|
|
162
220
|
nativeCurrency: {
|
|
163
|
-
name:
|
|
164
|
-
symbol:
|
|
221
|
+
name: 'Ethereum',
|
|
222
|
+
symbol: 'ETH',
|
|
165
223
|
decimals: 18,
|
|
166
224
|
},
|
|
167
225
|
},
|
|
168
226
|
},
|
|
169
227
|
{
|
|
170
|
-
name:
|
|
171
|
-
debankName:
|
|
172
|
-
ankrName:
|
|
173
|
-
zerionName:
|
|
174
|
-
color:
|
|
228
|
+
name: 'BSC',
|
|
229
|
+
debankName: 'bsc',
|
|
230
|
+
ankrName: 'bsc',
|
|
231
|
+
zerionName: 'binance-smart-chain',
|
|
232
|
+
color: '#F3BA2F',
|
|
175
233
|
chainId: 56,
|
|
176
|
-
explorerUrl:
|
|
234
|
+
explorerUrl: 'https://bscscan.com',
|
|
235
|
+
viemChain: bsc,
|
|
177
236
|
fakeTransactionHash:
|
|
178
|
-
|
|
179
|
-
apiURL:
|
|
180
|
-
usdcAddress:
|
|
181
|
-
balanceResolverAddress:
|
|
237
|
+
'0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7',
|
|
238
|
+
apiURL: 'https://api.bscscan.com/api',
|
|
239
|
+
usdcAddress: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d',
|
|
240
|
+
balanceResolverAddress: '0xb808cff38706e267067b0af427726aa099f69f89',
|
|
182
241
|
get serverRpcUrl() {
|
|
183
|
-
return process.env?.BSC_RPC_URL || this.params.rpcUrls[0]
|
|
242
|
+
return process.env?.BSC_RPC_URL || this.params.rpcUrls[0]
|
|
184
243
|
},
|
|
185
244
|
params: {
|
|
186
|
-
chainName:
|
|
187
|
-
rpcUrls: [
|
|
245
|
+
chainName: 'Binance Smart Chain',
|
|
246
|
+
rpcUrls: ['https://rpc.ankr.com/bsc'],
|
|
188
247
|
nativeCurrency: {
|
|
189
|
-
name:
|
|
190
|
-
symbol:
|
|
248
|
+
name: 'Binance Coin',
|
|
249
|
+
symbol: 'BNB',
|
|
191
250
|
decimals: 18,
|
|
192
251
|
},
|
|
193
252
|
},
|
|
194
253
|
},
|
|
195
254
|
{
|
|
196
|
-
name:
|
|
197
|
-
debankName:
|
|
198
|
-
ankrName:
|
|
199
|
-
zerionName:
|
|
200
|
-
color:
|
|
255
|
+
name: 'Avalanche',
|
|
256
|
+
debankName: 'avax',
|
|
257
|
+
ankrName: 'avalanche',
|
|
258
|
+
zerionName: 'avalanche',
|
|
259
|
+
color: '#EB5757',
|
|
260
|
+
viemChain: avalanche,
|
|
201
261
|
chainId: 43114,
|
|
202
|
-
usdcAddress:
|
|
203
|
-
balanceResolverAddress:
|
|
204
|
-
explorerUrl:
|
|
262
|
+
usdcAddress: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e',
|
|
263
|
+
balanceResolverAddress: '0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E',
|
|
264
|
+
explorerUrl: 'https://snowtrace.io',
|
|
205
265
|
fakeTransactionHash:
|
|
206
|
-
|
|
207
|
-
apiURL:
|
|
266
|
+
'0x233aac7402558dd4e23f938a50f983e67f5c9604233981c7ac74e63737b8294e',
|
|
267
|
+
apiURL: 'https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan/api',
|
|
208
268
|
get serverRpcUrl() {
|
|
209
|
-
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0]
|
|
269
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0]
|
|
210
270
|
},
|
|
211
271
|
params: {
|
|
212
|
-
chainName:
|
|
272
|
+
chainName: 'Avalanche Network',
|
|
213
273
|
nativeCurrency: {
|
|
214
|
-
name:
|
|
215
|
-
symbol:
|
|
274
|
+
name: 'Avalanche',
|
|
275
|
+
symbol: 'AVAX',
|
|
216
276
|
decimals: 18,
|
|
217
277
|
},
|
|
218
|
-
rpcUrls: [
|
|
278
|
+
rpcUrls: ['https://rpc.ankr.com/avalanche'],
|
|
219
279
|
},
|
|
220
280
|
},
|
|
221
281
|
{
|
|
222
|
-
name:
|
|
282
|
+
name: 'Fantom',
|
|
223
283
|
chainId: 250,
|
|
224
|
-
zerionName:
|
|
225
|
-
explorerUrl:
|
|
226
|
-
|
|
227
|
-
|
|
284
|
+
zerionName: 'fantom',
|
|
285
|
+
explorerUrl: 'https://ftmscan.com',
|
|
286
|
+
apiURL: 'https://api.ftmscan.com/api',
|
|
287
|
+
ankrName: 'fantom',
|
|
288
|
+
color: '#1969ff',
|
|
289
|
+
viemChain: fantom,
|
|
228
290
|
get serverRpcUrl() {
|
|
229
|
-
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0]
|
|
291
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0]
|
|
230
292
|
},
|
|
231
|
-
usdcAddress:
|
|
232
|
-
balanceResolverAddress:
|
|
293
|
+
usdcAddress: '0x04068da6c83afcfa0e13ba15a6696662335d5b75',
|
|
294
|
+
balanceResolverAddress: '0x929376c77a2fb8152375a089a4fccf84ff481479',
|
|
233
295
|
fakeTransactionHash:
|
|
234
|
-
|
|
296
|
+
'0x1e9a8405d660172314124e06896212c0786d7fb1550b89410d4bc87e9e8054e4',
|
|
235
297
|
params: {
|
|
236
|
-
rpcUrls: [
|
|
237
|
-
chainName:
|
|
298
|
+
rpcUrls: ['https://rpc.ankr.com/fantom'],
|
|
299
|
+
chainName: 'Fantom',
|
|
238
300
|
nativeCurrency: {
|
|
239
|
-
name:
|
|
240
|
-
symbol:
|
|
301
|
+
name: 'Fantom',
|
|
302
|
+
symbol: 'FTM',
|
|
241
303
|
decimals: 18,
|
|
242
304
|
},
|
|
243
305
|
},
|
|
244
306
|
},
|
|
245
307
|
{
|
|
246
|
-
name:
|
|
247
|
-
debankName:
|
|
248
|
-
zerionName:
|
|
249
|
-
color:
|
|
250
|
-
ankrName:
|
|
308
|
+
name: 'Gnosis',
|
|
309
|
+
debankName: 'xdai',
|
|
310
|
+
zerionName: 'xdai',
|
|
311
|
+
color: '#04795C',
|
|
312
|
+
ankrName: 'gnosis',
|
|
313
|
+
viemChain: gnosis,
|
|
251
314
|
chainId: 100,
|
|
252
|
-
balanceResolverAddress:
|
|
253
|
-
explorerUrl:
|
|
315
|
+
balanceResolverAddress: '0xfaa244e276b1597f663975ed007ee4ff70d27849',
|
|
316
|
+
explorerUrl: 'https://gnosisscan.io',
|
|
254
317
|
fakeTransactionHash:
|
|
255
|
-
|
|
256
|
-
apiURL:
|
|
257
|
-
usdcAddress:
|
|
318
|
+
'0x1513033806310a2c3b29f2276f8aa7388461b0ef9f8499c297e68c12187c179b',
|
|
319
|
+
apiURL: 'https://api.gnosisscan.io/api',
|
|
320
|
+
usdcAddress: '0xddafbb505ad214d7b80b1f830fccc89b60fb7a83',
|
|
258
321
|
get serverRpcUrl() {
|
|
259
|
-
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0]
|
|
322
|
+
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0]
|
|
260
323
|
},
|
|
261
324
|
params: {
|
|
262
|
-
chainName:
|
|
263
|
-
rpcUrls: [
|
|
325
|
+
chainName: 'Gnosis Safe',
|
|
326
|
+
rpcUrls: ['https://rpc.ankr.com/gnosis'],
|
|
264
327
|
nativeCurrency: {
|
|
265
|
-
name:
|
|
266
|
-
symbol:
|
|
328
|
+
name: 'xdaistable',
|
|
329
|
+
symbol: 'xDAI',
|
|
267
330
|
decimals: 18,
|
|
268
331
|
},
|
|
269
332
|
},
|
|
270
333
|
},
|
|
271
334
|
{
|
|
272
|
-
name:
|
|
335
|
+
name: 'Aurora',
|
|
273
336
|
chainId: 1313161554,
|
|
274
|
-
zerionName:
|
|
275
|
-
color:
|
|
276
|
-
|
|
337
|
+
zerionName: 'aurora',
|
|
338
|
+
color: '#78d64b',
|
|
339
|
+
viemChain: aurora,
|
|
340
|
+
explorerUrl: 'https://explorer.mainnet.aurora.dev',
|
|
341
|
+
apiURL: 'https://explorer.mainnet.aurora.dev/api/v2',
|
|
277
342
|
fakeTransactionHash:
|
|
278
|
-
|
|
343
|
+
'0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6',
|
|
279
344
|
get serverRpcUrl() {
|
|
280
|
-
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0]
|
|
345
|
+
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0]
|
|
281
346
|
},
|
|
282
|
-
usdcAddress:
|
|
283
|
-
balanceResolverAddress:
|
|
347
|
+
usdcAddress: '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802',
|
|
348
|
+
balanceResolverAddress: '0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474',
|
|
284
349
|
params: {
|
|
285
|
-
rpcUrls: [
|
|
286
|
-
chainName:
|
|
350
|
+
rpcUrls: ['https://mainnet.aurora.dev'],
|
|
351
|
+
chainName: 'Aurora',
|
|
287
352
|
nativeCurrency: {
|
|
288
353
|
decimals: 18,
|
|
289
|
-
name:
|
|
290
|
-
symbol:
|
|
354
|
+
name: 'Aurora ETH',
|
|
355
|
+
symbol: 'AETH',
|
|
291
356
|
},
|
|
292
357
|
},
|
|
293
358
|
},
|
|
294
359
|
{
|
|
295
|
-
name:
|
|
360
|
+
name: 'Fuse',
|
|
296
361
|
chainId: 122,
|
|
297
|
-
zerionName:
|
|
298
|
-
color:
|
|
299
|
-
explorerUrl:
|
|
362
|
+
zerionName: 'fuse',
|
|
363
|
+
color: '#78d64b',
|
|
364
|
+
explorerUrl: 'https://explorer.fuse.io',
|
|
365
|
+
apiURL: 'https://explorer.fuse.io/api/v2',
|
|
366
|
+
viemChain: fuse,
|
|
300
367
|
fakeTransactionHash:
|
|
301
|
-
|
|
368
|
+
'0xf22a8031de9b978a57c728e18c6b54633356c39db4d0466e53b9b7c3ee7f8def',
|
|
302
369
|
get serverRpcUrl() {
|
|
303
|
-
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0]
|
|
370
|
+
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0]
|
|
304
371
|
},
|
|
305
|
-
usdcAddress:
|
|
306
|
-
balanceResolverAddress:
|
|
372
|
+
usdcAddress: '',
|
|
373
|
+
balanceResolverAddress: '0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474',
|
|
307
374
|
params: {
|
|
308
|
-
rpcUrls: [
|
|
309
|
-
chainName:
|
|
375
|
+
rpcUrls: ['https://fuse-mainnet.chainstacklabs.com'],
|
|
376
|
+
chainName: 'Fuse',
|
|
310
377
|
nativeCurrency: {
|
|
311
378
|
decimals: 18,
|
|
312
|
-
name:
|
|
313
|
-
symbol:
|
|
379
|
+
name: 'Fuse',
|
|
380
|
+
symbol: 'fuse',
|
|
314
381
|
},
|
|
315
382
|
},
|
|
316
383
|
},
|
|
317
384
|
{
|
|
318
|
-
name:
|
|
385
|
+
name: 'Scroll',
|
|
319
386
|
chainId: 534352,
|
|
320
|
-
color:
|
|
321
|
-
|
|
387
|
+
color: '#78d64b',
|
|
388
|
+
ankrName: 'scroll',
|
|
389
|
+
explorerUrl: 'https://scrollscan.com',
|
|
390
|
+
apiURL: 'https://api.scrollscan.com/api',
|
|
391
|
+
viemChain: scroll,
|
|
322
392
|
fakeTransactionHash:
|
|
323
|
-
|
|
393
|
+
'0x6bf297c414264fc8cddd47224632b4426a02138df2f50fe891eca87f6aefea01',
|
|
324
394
|
get serverRpcUrl() {
|
|
325
|
-
return process.env?.SCROLL_RPC_URL || this.params.rpcUrls[0]
|
|
395
|
+
return process.env?.SCROLL_RPC_URL || this.params.rpcUrls[0]
|
|
326
396
|
},
|
|
327
397
|
params: {
|
|
328
|
-
rpcUrls: [
|
|
329
|
-
chainName:
|
|
398
|
+
rpcUrls: ['https://rpc.scroll.io'],
|
|
399
|
+
chainName: 'Scroll',
|
|
330
400
|
nativeCurrency: {
|
|
331
|
-
name:
|
|
332
|
-
symbol:
|
|
401
|
+
name: 'Ethereum',
|
|
402
|
+
symbol: 'ETH',
|
|
333
403
|
decimals: 18,
|
|
334
404
|
},
|
|
335
405
|
},
|
|
336
406
|
},
|
|
337
407
|
{
|
|
338
|
-
name:
|
|
408
|
+
name: 'opBNB',
|
|
339
409
|
chainId: 204,
|
|
340
|
-
color:
|
|
341
|
-
explorerUrl:
|
|
410
|
+
color: '#78d64b',
|
|
411
|
+
explorerUrl: 'https://opbnbscan.com',
|
|
412
|
+
apiURL: null,
|
|
413
|
+
viemChain: opBNB,
|
|
342
414
|
fakeTransactionHash:
|
|
343
|
-
|
|
415
|
+
'0xb9438a3eae61442bc7d419d79930370ce09ac0f46e0695025751e3bfe1a931e7',
|
|
344
416
|
get serverRpcUrl() {
|
|
345
|
-
return process.env?.OPBNB_RPC_URL || this.params.rpcUrls[0]
|
|
417
|
+
return process.env?.OPBNB_RPC_URL || this.params.rpcUrls[0]
|
|
346
418
|
},
|
|
347
419
|
params: {
|
|
348
|
-
rpcUrls: [
|
|
349
|
-
chainName:
|
|
420
|
+
rpcUrls: ['https://opbnb-mainnet-rpc.bnbchain.org'],
|
|
421
|
+
chainName: 'opBNB',
|
|
350
422
|
nativeCurrency: {
|
|
351
|
-
name:
|
|
352
|
-
symbol:
|
|
423
|
+
name: 'BNB',
|
|
424
|
+
symbol: 'BNB',
|
|
353
425
|
decimals: 18,
|
|
354
426
|
},
|
|
355
427
|
},
|
|
356
428
|
},
|
|
429
|
+
{
|
|
430
|
+
chainId: 34443,
|
|
431
|
+
name: 'Mode',
|
|
432
|
+
color: '#d7ff00',
|
|
433
|
+
explorerUrl: 'https://explorer.mode.network',
|
|
434
|
+
fakeTransactionHash: '0xb58002db3481f2c51855a91280ec940d0bebec075c4b362b9f90c21a2b14edbe',
|
|
435
|
+
apiURL: 'https://explorer.mode.network/api/v2',
|
|
436
|
+
params: {
|
|
437
|
+
rpcUrls: ['https://1rpc.io/mode'],
|
|
438
|
+
chainName: 'Mode',
|
|
439
|
+
nativeCurrency: {
|
|
440
|
+
name: 'Ethereum',
|
|
441
|
+
symbol: 'ETH',
|
|
442
|
+
decimals: 18,
|
|
443
|
+
},
|
|
444
|
+
},
|
|
445
|
+
get serverRpcUrl() {
|
|
446
|
+
return process.env?.MODE_RPC_URL || this.params.rpcUrls[0]
|
|
447
|
+
},
|
|
448
|
+
viemChain: mode,
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
chainId: 81457,
|
|
452
|
+
name: 'Blast',
|
|
453
|
+
color: '#78d64b',
|
|
454
|
+
explorerUrl: 'https://blastscan.io',
|
|
455
|
+
apiURL: 'https://api.blastscan.io/api',
|
|
456
|
+
fakeTransactionHash: '0x934ed8516242f8c08bb9e0e90bb1f989d92ceb6b0333e86ac2d555f25ac27e58',
|
|
457
|
+
params: {
|
|
458
|
+
rpcUrls: ['https://rpc.ankr.com/blast'],
|
|
459
|
+
chainName: 'Blast',
|
|
460
|
+
nativeCurrency: {
|
|
461
|
+
name: 'Ethereum',
|
|
462
|
+
symbol: 'ETH',
|
|
463
|
+
decimals: 18,
|
|
464
|
+
},
|
|
465
|
+
},
|
|
466
|
+
get serverRpcUrl() {
|
|
467
|
+
return process.env?.BLAST_RPC_URL || this.params.rpcUrls[0]
|
|
468
|
+
},
|
|
469
|
+
viemChain: blast,
|
|
470
|
+
},
|
|
471
|
+
// {
|
|
472
|
+
// chainId: 59144,
|
|
473
|
+
// name: 'Linea',
|
|
474
|
+
// apiURL: 'https://api.lineascan.build/api',
|
|
475
|
+
// color: '#78d64b',
|
|
476
|
+
// explorerUrl: 'https://lineascan.build',
|
|
477
|
+
// params: {
|
|
478
|
+
// rpcUrls: ['https://linea-mainnet.public.blastapi.io'],
|
|
479
|
+
// chainName: 'Linea',
|
|
480
|
+
// nativeCurrency: {
|
|
481
|
+
// name: 'Linea Ether',
|
|
482
|
+
// symbol: 'ETH',
|
|
483
|
+
// decimals: 18,
|
|
484
|
+
// },
|
|
485
|
+
// },
|
|
486
|
+
// fakeTransactionHash: '0x62d068a66eb1515a09e993200e8a495c7fead512689ba78e50523c8e83bbf5b5',
|
|
487
|
+
// get serverRpcUrl() {
|
|
488
|
+
// return process.env?.LINEA_RPC_URL || this.params.rpcUrls[0]
|
|
489
|
+
// },
|
|
490
|
+
// viemChain: linea,
|
|
491
|
+
// ankrName: 'linea',
|
|
492
|
+
// },
|
|
357
493
|
// {
|
|
358
494
|
// name: "Manta Pacific",
|
|
359
495
|
// chainId: 169,
|
|
@@ -376,130 +512,131 @@ export const networks: Network[] = [
|
|
|
376
512
|
{
|
|
377
513
|
name: AVO_PROD_CHAIN_NAME,
|
|
378
514
|
chainId: AVO_PROD_CHAIN_ID,
|
|
515
|
+
apiURL: null,
|
|
379
516
|
isAvocado: true,
|
|
380
|
-
balanceResolverAddress:
|
|
381
|
-
fakeTransactionHash:
|
|
382
|
-
|
|
383
|
-
|
|
517
|
+
balanceResolverAddress: '',
|
|
518
|
+
fakeTransactionHash: '',
|
|
519
|
+
viemChain: avocado,
|
|
520
|
+
color: '#16A34A',
|
|
521
|
+
usdcAddress: '',
|
|
384
522
|
serverRpcUrl: AVO_PROD_RPC_URL,
|
|
385
523
|
explorerUrl: AVO_PROD_EXPLORER_URL,
|
|
386
524
|
params: {
|
|
387
525
|
chainName: AVO_PROD_CHAIN_NAME,
|
|
388
526
|
nativeCurrency: {
|
|
389
|
-
name:
|
|
390
|
-
symbol:
|
|
527
|
+
name: 'Avocado',
|
|
528
|
+
symbol: 'USDC',
|
|
391
529
|
decimals: 18,
|
|
392
530
|
},
|
|
393
|
-
iconUrls: [
|
|
531
|
+
iconUrls: ['https://avocado.instadapp.io/logo.svg'],
|
|
394
532
|
rpcUrls: [AVO_PROD_RPC_URL],
|
|
395
533
|
},
|
|
396
534
|
},
|
|
397
535
|
{
|
|
398
536
|
name: AVO_STAGING_CHAIN_NAME,
|
|
537
|
+
apiURL: null,
|
|
399
538
|
chainId: AVO_STAGING_CHAIN_ID,
|
|
400
539
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
401
|
-
color:
|
|
540
|
+
color: '#16A34A',
|
|
402
541
|
explorerUrl: AVO_STAGING_EXPLORER_URL,
|
|
403
|
-
|
|
542
|
+
viemChain: avocadoStaging,
|
|
543
|
+
fakeTransactionHash: '',
|
|
404
544
|
isAvocado: true,
|
|
405
|
-
balanceResolverAddress:
|
|
406
|
-
usdcAddress:
|
|
545
|
+
balanceResolverAddress: '',
|
|
546
|
+
usdcAddress: '',
|
|
407
547
|
params: {
|
|
408
548
|
chainName: AVO_STAGING_CHAIN_NAME,
|
|
409
549
|
nativeCurrency: {
|
|
410
|
-
name:
|
|
411
|
-
symbol:
|
|
550
|
+
name: 'Avocado',
|
|
551
|
+
symbol: 'USDC',
|
|
412
552
|
decimals: 18,
|
|
413
553
|
},
|
|
414
|
-
iconUrls: [
|
|
554
|
+
iconUrls: ['https://avocado.instadapp.io/logo.svg'],
|
|
415
555
|
rpcUrls: [AVO_STAGING_RPC_URL],
|
|
416
556
|
},
|
|
417
557
|
},
|
|
418
|
-
]
|
|
558
|
+
]
|
|
419
559
|
|
|
420
560
|
export const chainUsdcAddresses = [
|
|
421
|
-
{ chainId: 1, address:
|
|
422
|
-
{ chainId: 10, address:
|
|
423
|
-
{ chainId: 56, address:
|
|
424
|
-
{ chainId: 100, address:
|
|
425
|
-
{ chainId: 137, address:
|
|
426
|
-
{ chainId: 137, address:
|
|
427
|
-
{ chainId: 250, address:
|
|
428
|
-
{ chainId: 42161, address:
|
|
429
|
-
{ chainId: 42161, address:
|
|
430
|
-
{ chainId: 43114, address:
|
|
431
|
-
{ chainId: 43114, address:
|
|
432
|
-
{ chainId: 1101, address:
|
|
561
|
+
{ chainId: 1, address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' },
|
|
562
|
+
{ chainId: 10, address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607' },
|
|
563
|
+
{ chainId: 56, address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d' },
|
|
564
|
+
{ chainId: 100, address: '0xddafbb505ad214d7b80b1f830fccc89b60fb7a83' },
|
|
565
|
+
{ chainId: 137, address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174' },
|
|
566
|
+
{ chainId: 137, address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' },
|
|
567
|
+
{ chainId: 250, address: '0x04068da6c83afcfa0e13ba15a6696662335d5b75' },
|
|
568
|
+
{ chainId: 42161, address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8' },
|
|
569
|
+
{ chainId: 42161, address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' },
|
|
570
|
+
{ chainId: 43114, address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' },
|
|
571
|
+
{ chainId: 43114, address: '0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664' },
|
|
572
|
+
{ chainId: 1101, address: '0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035' },
|
|
433
573
|
{
|
|
434
574
|
chainId: 1313161554,
|
|
435
|
-
address:
|
|
575
|
+
address: '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802',
|
|
436
576
|
},
|
|
437
|
-
{ chainId: 8453, address:
|
|
438
|
-
]
|
|
577
|
+
{ chainId: 8453, address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA' },
|
|
578
|
+
]
|
|
439
579
|
|
|
440
|
-
export
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
return networks.find((i) => i.chainId == chainId)!;
|
|
444
|
-
};
|
|
580
|
+
export function getNetworkByChainId(chainId: ChainId | number | string): Network {
|
|
581
|
+
return networks.find(i => i.chainId == chainId)!
|
|
582
|
+
}
|
|
445
583
|
|
|
446
584
|
export const availableNetworks = networks.filter(
|
|
447
|
-
|
|
448
|
-
)
|
|
585
|
+
network => !network.isAvocado,
|
|
586
|
+
)
|
|
449
587
|
|
|
450
|
-
export
|
|
451
|
-
const network = getNetworkByChainId(chainId)
|
|
452
|
-
return network?.name
|
|
453
|
-
}
|
|
588
|
+
export function chainIdToName(chainId: ChainId | number | string) {
|
|
589
|
+
const network = getNetworkByChainId(chainId)
|
|
590
|
+
return network?.name
|
|
591
|
+
}
|
|
454
592
|
|
|
455
|
-
export
|
|
593
|
+
export function getRpcURLByChainId(chainId: ChainId | number | string) {
|
|
456
594
|
try {
|
|
457
|
-
const network = getNetworkByChainId(chainId)
|
|
458
|
-
return network.params.rpcUrls[0]
|
|
459
|
-
}
|
|
460
|
-
|
|
595
|
+
const network = getNetworkByChainId(chainId)
|
|
596
|
+
return network.params.rpcUrls[0]
|
|
597
|
+
}
|
|
598
|
+
catch (e) {
|
|
599
|
+
return ''
|
|
461
600
|
}
|
|
462
|
-
}
|
|
601
|
+
}
|
|
463
602
|
|
|
464
603
|
export const RPCMap = networks.reduce((acc, network) => {
|
|
465
|
-
acc[network.chainId] = network.params.rpcUrls[0]
|
|
466
|
-
return acc
|
|
467
|
-
}, {} as Record<number, string>)
|
|
604
|
+
acc[network.chainId] = network.params.rpcUrls[0]
|
|
605
|
+
return acc
|
|
606
|
+
}, {} as Record<number, string>)
|
|
468
607
|
|
|
469
|
-
export const networkIds = networks.map(
|
|
608
|
+
export const networkIds = networks.map(network => network.chainId)
|
|
470
609
|
|
|
471
|
-
const rpcInstances: Record<string, ethers.providers.StaticJsonRpcProvider> = {}
|
|
610
|
+
const rpcInstances: Record<string, ethers.providers.StaticJsonRpcProvider> = {}
|
|
472
611
|
const serverRpcInstances: Record<
|
|
473
612
|
string,
|
|
474
613
|
ethers.providers.StaticJsonRpcProvider
|
|
475
|
-
> = {}
|
|
614
|
+
> = {}
|
|
476
615
|
|
|
477
|
-
export
|
|
616
|
+
export function getServerRpcProvider(chainId: number | string) {
|
|
478
617
|
if (!rpcInstances[chainId]) {
|
|
479
|
-
const network = networks.find(
|
|
618
|
+
const network = networks.find(n => n.chainId == chainId)
|
|
480
619
|
serverRpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
|
|
481
|
-
network?.serverRpcUrl
|
|
482
|
-
)
|
|
620
|
+
network?.serverRpcUrl,
|
|
621
|
+
)
|
|
483
622
|
}
|
|
484
623
|
|
|
485
|
-
return serverRpcInstances[chainId]
|
|
486
|
-
}
|
|
624
|
+
return serverRpcInstances[chainId]
|
|
625
|
+
}
|
|
487
626
|
|
|
488
|
-
export
|
|
627
|
+
export function getRpcProvider(chainId: number | string) {
|
|
489
628
|
if (!rpcInstances[chainId]) {
|
|
490
629
|
rpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
|
|
491
|
-
getRpcURLByChainId(Number(chainId))
|
|
492
|
-
)
|
|
630
|
+
getRpcURLByChainId(Number(chainId)),
|
|
631
|
+
)
|
|
493
632
|
}
|
|
494
633
|
|
|
495
|
-
return rpcInstances[chainId]
|
|
496
|
-
}
|
|
634
|
+
return rpcInstances[chainId]
|
|
635
|
+
}
|
|
497
636
|
|
|
498
|
-
export
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
return `${network.explorerUrl}${suffix}`;
|
|
505
|
-
};
|
|
637
|
+
export function getExplorerUrl(chainId: ChainId | number | string, suffix: `/${string}` = '/') {
|
|
638
|
+
const network = getNetworkByChainId(chainId)
|
|
639
|
+
if (!network)
|
|
640
|
+
return ''
|
|
641
|
+
return `${network.explorerUrl}${suffix}`
|
|
642
|
+
}
|