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