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