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