@instadapp/avocado-base 0.0.0-dev.bf2fef7 → 0.0.0-dev.c2f5e67
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/abi/multisigAgnosticForwarder.json +1 -0
- package/abi/multisigForwarder.json +697 -0
- package/app.vue +7 -0
- package/assets/images/icons/change-threshold.svg +4 -0
- package/assets/images/icons/cross-transfer.svg +7 -0
- package/assets/images/icons/dapp.svg +4 -0
- package/assets/images/icons/deploy.svg +12 -0
- package/assets/images/icons/gas.svg +12 -5
- package/assets/images/icons/hammer.svg +5 -0
- package/assets/images/icons/info-2.svg +12 -0
- package/assets/images/icons/instadapp-pro.svg +4 -0
- package/assets/images/icons/multi-send.svg +7 -0
- package/assets/images/icons/permit-sign.svg +11 -0
- package/assets/images/icons/plus-circle.svg +6 -0
- package/assets/images/icons/refresh.svg +4 -4
- package/assets/images/icons/reject-proposal.svg +6 -0
- package/assets/images/icons/stars.svg +4 -0
- package/assets/images/icons/transfer.svg +5 -0
- package/assets/images/icons/trash-2.svg +8 -0
- package/assets/images/icons/upgrade.svg +4 -0
- package/components/ActionLogo.vue +42 -0
- package/components/ActionMetadata.vue +35 -26
- package/components/AuthorityAvatar.vue +37 -0
- package/components/ChainLogo.vue +14 -563
- package/components/CopyClipboard.vue +58 -0
- package/components/metadata/Bridge.vue +26 -6
- package/components/metadata/CrossTransfer.vue +16 -4
- package/components/metadata/GasTopup.vue +7 -1
- package/components/metadata/Permit2.vue +6 -1
- package/components/metadata/Signers.vue +66 -0
- package/components/metadata/Swap.vue +25 -25
- package/components/metadata/Transfer.vue +6 -2
- package/contracts/MultisigAgnosticForwarder.ts +1413 -0
- package/contracts/MultisigForwarder.ts +859 -0
- package/contracts/factories/MultisigAgnosticForwarder__factory.ts +2051 -0
- package/contracts/factories/MultisigForwarder__factory.ts +721 -0
- package/contracts/factories/index.ts +2 -0
- package/contracts/index.ts +4 -0
- package/package.json +14 -9
- package/utils/formatter.ts +2 -2
- package/utils/helper.ts +2 -1
- package/utils/metadata.ts +232 -59
- package/utils/network.ts +388 -74
- package/utils/services.ts +8 -1
- package/utils/utils.d.ts +143 -134
package/utils/network.ts
CHANGED
|
@@ -1,30 +1,72 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
+
import {
|
|
3
|
+
polygon,
|
|
4
|
+
arbitrum,
|
|
5
|
+
mainnet,
|
|
6
|
+
base,
|
|
7
|
+
optimism,
|
|
8
|
+
polygonZkEvm,
|
|
9
|
+
bsc,
|
|
10
|
+
avalanche,
|
|
11
|
+
fantom,
|
|
12
|
+
gnosis,
|
|
13
|
+
aurora,
|
|
14
|
+
fuse,
|
|
15
|
+
scroll,
|
|
16
|
+
opBNB,
|
|
17
|
+
mode,
|
|
18
|
+
blast,
|
|
19
|
+
linea
|
|
20
|
+
} from "viem/chains";
|
|
21
|
+
import {
|
|
22
|
+
AVO_PROD_CHAIN_NAME,
|
|
23
|
+
AVO_PROD_CHAIN_ID,
|
|
24
|
+
AVO_PROD_RPC_URL,
|
|
25
|
+
AVO_PROD_EXPLORER_URL,
|
|
26
|
+
AVO_STAGING_CHAIN_NAME,
|
|
27
|
+
AVO_STAGING_CHAIN_ID,
|
|
28
|
+
AVO_STAGING_RPC_URL,
|
|
29
|
+
AVO_STAGING_EXPLORER_URL,
|
|
30
|
+
} from "./avocado";
|
|
31
|
+
import { defineChain } from "viem";
|
|
2
32
|
|
|
3
|
-
export const bridgeDisabledNetworks = [
|
|
33
|
+
export const bridgeDisabledNetworks = [];
|
|
4
34
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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 },
|
|
27
66
|
},
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
export const networks: Network[] = [
|
|
28
70
|
{
|
|
29
71
|
name: "Polygon",
|
|
30
72
|
debankName: "matic",
|
|
@@ -32,9 +74,13 @@ export const networks: Network[] = [
|
|
|
32
74
|
zerionName: "polygon",
|
|
33
75
|
color: "#7A4ADD",
|
|
34
76
|
chainId: 137,
|
|
77
|
+
viemChain: polygon,
|
|
35
78
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
36
79
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
37
80
|
explorerUrl: "https://polygonscan.com",
|
|
81
|
+
apiURL: "https://api.polygonscan.com/api",
|
|
82
|
+
fakeTransactionHash:
|
|
83
|
+
"0x906c551abd5873a428505b6530ac14d91367820706c7ee525f6d7313265d1c92",
|
|
38
84
|
get serverRpcUrl() {
|
|
39
85
|
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
|
|
40
86
|
},
|
|
@@ -53,11 +99,15 @@ export const networks: Network[] = [
|
|
|
53
99
|
debankName: "arb",
|
|
54
100
|
ankrName: "arbitrum",
|
|
55
101
|
zerionName: "arbitrum",
|
|
102
|
+
viemChain: arbitrum,
|
|
56
103
|
color: "#2D374B",
|
|
57
104
|
chainId: 42161,
|
|
58
105
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
59
106
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
107
|
+
fakeTransactionHash:
|
|
108
|
+
"0x9fa291c3b09d31f19b1fa5dd05f30169d1364036d5f7c14b026410bc07bd8843",
|
|
60
109
|
explorerUrl: "https://arbiscan.io",
|
|
110
|
+
apiURL: "https://api.arbiscan.io/api",
|
|
61
111
|
get serverRpcUrl() {
|
|
62
112
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
63
113
|
},
|
|
@@ -71,15 +121,70 @@ export const networks: Network[] = [
|
|
|
71
121
|
rpcUrls: ["https://arb1.arbitrum.io/rpc"],
|
|
72
122
|
},
|
|
73
123
|
},
|
|
124
|
+
{
|
|
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",
|
|
160
|
+
get serverRpcUrl() {
|
|
161
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
162
|
+
},
|
|
163
|
+
usdcAddress: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
164
|
+
balanceResolverAddress: "0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C",
|
|
165
|
+
params: {
|
|
166
|
+
rpcUrls: ["https://rpc.ankr.com/base"],
|
|
167
|
+
chainName: "Base",
|
|
168
|
+
nativeCurrency: {
|
|
169
|
+
name: "Ethereum",
|
|
170
|
+
symbol: "ETH",
|
|
171
|
+
decimals: 18,
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
74
175
|
{
|
|
75
176
|
name: "Optimism",
|
|
76
177
|
debankName: "op",
|
|
77
178
|
ankrName: "optimism",
|
|
78
179
|
zerionName: "optimism",
|
|
79
180
|
color: "#FF0420",
|
|
181
|
+
viemChain: optimism,
|
|
80
182
|
chainId: 10,
|
|
183
|
+
apiURL: "https://api-optimistic.etherscan.io/api",
|
|
81
184
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
82
185
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
186
|
+
fakeTransactionHash:
|
|
187
|
+
"0xee7311d68059732b05088f2144dfec6c7a4f5fd0433eb85306afcd6bdf17cebc",
|
|
83
188
|
explorerUrl: "https://optimistic.etherscan.io",
|
|
84
189
|
get serverRpcUrl() {
|
|
85
190
|
return process.env?.OPTIMISM_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -95,26 +200,28 @@ export const networks: Network[] = [
|
|
|
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
|
{
|
|
@@ -125,6 +232,10 @@ export const networks: Network[] = [
|
|
|
125
232
|
color: "#F3BA2F",
|
|
126
233
|
chainId: 56,
|
|
127
234
|
explorerUrl: "https://bscscan.com",
|
|
235
|
+
viemChain: bsc,
|
|
236
|
+
fakeTransactionHash:
|
|
237
|
+
"0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7",
|
|
238
|
+
apiURL: "https://api.bscscan.com/api",
|
|
128
239
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
129
240
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
130
241
|
get serverRpcUrl() {
|
|
@@ -140,14 +251,72 @@ export const networks: Network[] = [
|
|
|
140
251
|
},
|
|
141
252
|
},
|
|
142
253
|
},
|
|
254
|
+
{
|
|
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",
|
|
268
|
+
get serverRpcUrl() {
|
|
269
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
270
|
+
},
|
|
271
|
+
params: {
|
|
272
|
+
chainName: "Avalanche Network",
|
|
273
|
+
nativeCurrency: {
|
|
274
|
+
name: "Avalanche",
|
|
275
|
+
symbol: "AVAX",
|
|
276
|
+
decimals: 18,
|
|
277
|
+
},
|
|
278
|
+
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
{
|
|
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,
|
|
290
|
+
get serverRpcUrl() {
|
|
291
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
292
|
+
},
|
|
293
|
+
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
294
|
+
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
295
|
+
fakeTransactionHash:
|
|
296
|
+
"0x1e9a8405d660172314124e06896212c0786d7fb1550b89410d4bc87e9e8054e4",
|
|
297
|
+
params: {
|
|
298
|
+
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
299
|
+
chainName: "Fantom",
|
|
300
|
+
nativeCurrency: {
|
|
301
|
+
name: "Fantom",
|
|
302
|
+
symbol: "FTM",
|
|
303
|
+
decimals: 18,
|
|
304
|
+
},
|
|
305
|
+
},
|
|
306
|
+
},
|
|
143
307
|
{
|
|
144
308
|
name: "Gnosis",
|
|
145
309
|
debankName: "xdai",
|
|
146
310
|
zerionName: "xdai",
|
|
147
311
|
color: "#04795C",
|
|
312
|
+
ankrName: "gnosis",
|
|
313
|
+
viemChain: gnosis,
|
|
148
314
|
chainId: 100,
|
|
149
315
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
150
316
|
explorerUrl: "https://gnosisscan.io",
|
|
317
|
+
fakeTransactionHash:
|
|
318
|
+
"0x1513033806310a2c3b29f2276f8aa7388461b0ef9f8499c297e68c12187c179b",
|
|
319
|
+
apiURL: "https://api.gnosisscan.io/api",
|
|
151
320
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
152
321
|
get serverRpcUrl() {
|
|
153
322
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -162,33 +331,16 @@ export const networks: Network[] = [
|
|
|
162
331
|
},
|
|
163
332
|
},
|
|
164
333
|
},
|
|
165
|
-
{
|
|
166
|
-
name: "Polygon zkEVM",
|
|
167
|
-
chainId: 1101,
|
|
168
|
-
color: "#8544f6",
|
|
169
|
-
explorerUrl: "https://zkevm.polygonscan.com",
|
|
170
|
-
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
171
|
-
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
172
|
-
get serverRpcUrl() {
|
|
173
|
-
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
174
|
-
},
|
|
175
|
-
params: {
|
|
176
|
-
chainName: "polygon zkEVM",
|
|
177
|
-
rpcUrls: ["https://zkevm-rpc.com"],
|
|
178
|
-
|
|
179
|
-
nativeCurrency: {
|
|
180
|
-
name: "Ethereum",
|
|
181
|
-
symbol: "ETH",
|
|
182
|
-
decimals: 18,
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
334
|
{
|
|
187
335
|
name: "Aurora",
|
|
188
336
|
chainId: 1313161554,
|
|
189
337
|
zerionName: "aurora",
|
|
190
338
|
color: "#78d64b",
|
|
339
|
+
viemChain: aurora,
|
|
191
340
|
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
341
|
+
apiURL:'https://explorer.mainnet.aurora.dev/api/v2',
|
|
342
|
+
fakeTransactionHash:
|
|
343
|
+
"0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6",
|
|
192
344
|
get serverRpcUrl() {
|
|
193
345
|
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
|
|
194
346
|
},
|
|
@@ -205,32 +357,166 @@ export const networks: Network[] = [
|
|
|
205
357
|
},
|
|
206
358
|
},
|
|
207
359
|
{
|
|
208
|
-
name: "
|
|
209
|
-
chainId:
|
|
210
|
-
zerionName: "
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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",
|
|
214
369
|
get serverRpcUrl() {
|
|
215
|
-
return process.env?.
|
|
370
|
+
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
|
|
216
371
|
},
|
|
217
|
-
usdcAddress: "
|
|
218
|
-
balanceResolverAddress: "
|
|
372
|
+
usdcAddress: "",
|
|
373
|
+
balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
219
374
|
params: {
|
|
220
|
-
rpcUrls: ["https://
|
|
221
|
-
chainName: "
|
|
375
|
+
rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
|
|
376
|
+
chainName: "Fuse",
|
|
222
377
|
nativeCurrency: {
|
|
223
|
-
name: "Fantom",
|
|
224
|
-
symbol: "FTM",
|
|
225
378
|
decimals: 18,
|
|
379
|
+
name: "Fuse",
|
|
380
|
+
symbol: "fuse",
|
|
226
381
|
},
|
|
227
382
|
},
|
|
228
383
|
},
|
|
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",
|
|
394
|
+
get serverRpcUrl() {
|
|
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",
|
|
422
|
+
nativeCurrency: {
|
|
423
|
+
name: "BNB",
|
|
424
|
+
symbol: "BNB",
|
|
425
|
+
decimals: 18,
|
|
426
|
+
},
|
|
427
|
+
},
|
|
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
|
+
// },
|
|
229
512
|
{
|
|
230
513
|
name: AVO_PROD_CHAIN_NAME,
|
|
231
514
|
chainId: AVO_PROD_CHAIN_ID,
|
|
515
|
+
apiURL:null,
|
|
232
516
|
isAvocado: true,
|
|
233
517
|
balanceResolverAddress: "",
|
|
518
|
+
fakeTransactionHash: "",
|
|
519
|
+
viemChain: avocado,
|
|
234
520
|
color: "#16A34A",
|
|
235
521
|
usdcAddress: "",
|
|
236
522
|
serverRpcUrl: AVO_PROD_RPC_URL,
|
|
@@ -248,10 +534,13 @@ export const networks: Network[] = [
|
|
|
248
534
|
},
|
|
249
535
|
{
|
|
250
536
|
name: AVO_STAGING_CHAIN_NAME,
|
|
537
|
+
apiURL: null,
|
|
251
538
|
chainId: AVO_STAGING_CHAIN_ID,
|
|
252
539
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
253
540
|
color: "#16A34A",
|
|
254
541
|
explorerUrl: AVO_STAGING_EXPLORER_URL,
|
|
542
|
+
viemChain: avocadoStaging,
|
|
543
|
+
fakeTransactionHash: "",
|
|
255
544
|
isAvocado: true,
|
|
256
545
|
balanceResolverAddress: "",
|
|
257
546
|
usdcAddress: "",
|
|
@@ -268,6 +557,26 @@ export const networks: Network[] = [
|
|
|
268
557
|
},
|
|
269
558
|
];
|
|
270
559
|
|
|
560
|
+
export const chainUsdcAddresses = [
|
|
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" },
|
|
573
|
+
{
|
|
574
|
+
chainId: 1313161554,
|
|
575
|
+
address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
576
|
+
},
|
|
577
|
+
{ chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
|
|
578
|
+
];
|
|
579
|
+
|
|
271
580
|
export const getNetworkByChainId = (
|
|
272
581
|
chainId: ChainId | number | string
|
|
273
582
|
): Network => {
|
|
@@ -280,12 +589,16 @@ export const availableNetworks = networks.filter(
|
|
|
280
589
|
|
|
281
590
|
export const chainIdToName = (chainId: ChainId | number | string) => {
|
|
282
591
|
const network = getNetworkByChainId(chainId);
|
|
283
|
-
return network
|
|
592
|
+
return network?.name;
|
|
284
593
|
};
|
|
285
594
|
|
|
286
595
|
export const getRpcURLByChainId = (chainId: ChainId | number | string) => {
|
|
287
|
-
|
|
288
|
-
|
|
596
|
+
try {
|
|
597
|
+
const network = getNetworkByChainId(chainId);
|
|
598
|
+
return network.params.rpcUrls[0];
|
|
599
|
+
} catch (e) {
|
|
600
|
+
return "";
|
|
601
|
+
}
|
|
289
602
|
};
|
|
290
603
|
|
|
291
604
|
export const RPCMap = networks.reduce((acc, network) => {
|
|
@@ -327,5 +640,6 @@ export const getExplorerUrl = (
|
|
|
327
640
|
suffix: `/${string}` = "/"
|
|
328
641
|
) => {
|
|
329
642
|
const network = getNetworkByChainId(chainId);
|
|
643
|
+
if (!network) return "";
|
|
330
644
|
return `${network.explorerUrl}${suffix}`;
|
|
331
645
|
};
|
package/utils/services.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
export const fetchTokenByAddress = async (
|
|
2
2
|
address: string,
|
|
3
|
-
chainId: string | number
|
|
3
|
+
chainId: string | number,
|
|
4
|
+
tokens?: ITokenPrice[]
|
|
4
5
|
) => {
|
|
5
6
|
if (!address || !chainId) return null;
|
|
7
|
+
|
|
8
|
+
if (tokens?.length) {
|
|
9
|
+
const token = tokens.find((token) => token.address?.toLocaleLowerCase() === address?.toLocaleLowerCase() && token.chain_id == chainId);
|
|
10
|
+
if (token) return token;
|
|
11
|
+
}
|
|
12
|
+
|
|
6
13
|
const [token] = (await $fetch(`${blockQueryURL}/${chainId}/tokens`, {
|
|
7
14
|
params: {
|
|
8
15
|
sparkline: false,
|