@instadapp/avocado-base 0.0.0-dev.822475d → 0.0.0-dev.83b0911
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/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 +50 -18
- package/components/AuthorityAvatar.vue +37 -0
- package/components/ChainLogo.vue +14 -563
- package/components/CopyClipboard.vue +58 -0
- package/components/metadata/Bridge.vue +30 -8
- package/components/metadata/CrossTransfer.vue +19 -5
- package/components/metadata/GasTopup.vue +10 -2
- package/components/metadata/Permit2.vue +6 -1
- package/components/metadata/Signers.vue +66 -0
- package/components/metadata/Swap.vue +26 -25
- package/components/metadata/Transfer.vue +14 -7
- package/contracts/MultisigForwarder.ts +859 -0
- package/contracts/factories/MultisigForwarder__factory.ts +721 -0
- package/contracts/factories/index.ts +1 -0
- package/contracts/index.ts +2 -0
- package/package.json +14 -9
- package/utils/formatter.ts +2 -2
- package/utils/helper.ts +8 -0
- package/utils/metadata.ts +329 -135
- package/utils/network.ts +356 -74
- package/utils/services.ts +8 -1
- package/utils/utils.d.ts +139 -126
package/utils/network.ts
CHANGED
|
@@ -1,30 +1,71 @@
|
|
|
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
|
+
} from "viem/chains";
|
|
20
|
+
import {
|
|
21
|
+
AVO_PROD_CHAIN_NAME,
|
|
22
|
+
AVO_PROD_CHAIN_ID,
|
|
23
|
+
AVO_PROD_RPC_URL,
|
|
24
|
+
AVO_PROD_EXPLORER_URL,
|
|
25
|
+
AVO_STAGING_CHAIN_NAME,
|
|
26
|
+
AVO_STAGING_CHAIN_ID,
|
|
27
|
+
AVO_STAGING_RPC_URL,
|
|
28
|
+
AVO_STAGING_EXPLORER_URL,
|
|
29
|
+
} from "./avocado";
|
|
30
|
+
import { defineChain } from "viem";
|
|
2
31
|
|
|
3
|
-
export const bridgeDisabledNetworks = [
|
|
32
|
+
export const bridgeDisabledNetworks = [];
|
|
4
33
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
get serverRpcUrl() {
|
|
15
|
-
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
16
|
-
},
|
|
17
|
-
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
18
|
-
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
19
|
-
params: {
|
|
20
|
-
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
21
|
-
nativeCurrency: {
|
|
22
|
-
name: "Ethereum",
|
|
23
|
-
symbol: "ETH",
|
|
24
|
-
decimals: 18,
|
|
25
|
-
},
|
|
26
|
-
},
|
|
34
|
+
export const networksSimulationNotSupported = [1313161554, 1101];
|
|
35
|
+
|
|
36
|
+
const avocado = defineChain({
|
|
37
|
+
id: AVO_PROD_CHAIN_ID,
|
|
38
|
+
name: AVO_PROD_CHAIN_NAME,
|
|
39
|
+
nativeCurrency: {
|
|
40
|
+
name: "Avocado",
|
|
41
|
+
symbol: "USDC",
|
|
42
|
+
decimals: 18,
|
|
27
43
|
},
|
|
44
|
+
rpcUrls: {
|
|
45
|
+
default: { http: [AVO_PROD_RPC_URL] },
|
|
46
|
+
},
|
|
47
|
+
blockExplorers: {
|
|
48
|
+
default: { name: "Avoscan", url: AVO_PROD_EXPLORER_URL },
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const avocadoStaging = defineChain({
|
|
53
|
+
id: AVO_STAGING_CHAIN_ID,
|
|
54
|
+
name: AVO_STAGING_CHAIN_NAME,
|
|
55
|
+
nativeCurrency: {
|
|
56
|
+
name: "Avocado",
|
|
57
|
+
symbol: "USDC",
|
|
58
|
+
decimals: 18,
|
|
59
|
+
},
|
|
60
|
+
rpcUrls: {
|
|
61
|
+
default: { http: [AVO_STAGING_RPC_URL] },
|
|
62
|
+
},
|
|
63
|
+
blockExplorers: {
|
|
64
|
+
default: { name: "Avoscan", url: AVO_STAGING_EXPLORER_URL },
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
export const networks: Network[] = [
|
|
28
69
|
{
|
|
29
70
|
name: "Polygon",
|
|
30
71
|
debankName: "matic",
|
|
@@ -32,9 +73,13 @@ export const networks: Network[] = [
|
|
|
32
73
|
zerionName: "polygon",
|
|
33
74
|
color: "#7A4ADD",
|
|
34
75
|
chainId: 137,
|
|
76
|
+
viemChain: polygon,
|
|
35
77
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
36
78
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
37
79
|
explorerUrl: "https://polygonscan.com",
|
|
80
|
+
apiURL: "https://api.polygonscan.com",
|
|
81
|
+
fakeTransactionHash:
|
|
82
|
+
"0x906c551abd5873a428505b6530ac14d91367820706c7ee525f6d7313265d1c92",
|
|
38
83
|
get serverRpcUrl() {
|
|
39
84
|
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
|
|
40
85
|
},
|
|
@@ -53,11 +98,15 @@ export const networks: Network[] = [
|
|
|
53
98
|
debankName: "arb",
|
|
54
99
|
ankrName: "arbitrum",
|
|
55
100
|
zerionName: "arbitrum",
|
|
101
|
+
viemChain: arbitrum,
|
|
56
102
|
color: "#2D374B",
|
|
57
103
|
chainId: 42161,
|
|
58
104
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
59
105
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
106
|
+
fakeTransactionHash:
|
|
107
|
+
"0x9fa291c3b09d31f19b1fa5dd05f30169d1364036d5f7c14b026410bc07bd8843",
|
|
60
108
|
explorerUrl: "https://arbiscan.io",
|
|
109
|
+
apiURL: "https://api.arbiscan.io",
|
|
61
110
|
get serverRpcUrl() {
|
|
62
111
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
63
112
|
},
|
|
@@ -71,15 +120,70 @@ export const networks: Network[] = [
|
|
|
71
120
|
rpcUrls: ["https://arb1.arbitrum.io/rpc"],
|
|
72
121
|
},
|
|
73
122
|
},
|
|
123
|
+
{
|
|
124
|
+
name: "Ethereum",
|
|
125
|
+
debankName: "eth",
|
|
126
|
+
ankrName: "eth",
|
|
127
|
+
zerionName: "ethereum",
|
|
128
|
+
viemChain: mainnet,
|
|
129
|
+
chainId: 1,
|
|
130
|
+
explorerUrl: "https://etherscan.io",
|
|
131
|
+
fakeTransactionHash:
|
|
132
|
+
"0x13232dd32cef2f641ead890a507710c96560c8c9c3d5fab6facb5ec563c49433",
|
|
133
|
+
apiURL: "https://api.etherscan.io",
|
|
134
|
+
color: "#5D5FEF",
|
|
135
|
+
get serverRpcUrl() {
|
|
136
|
+
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
137
|
+
},
|
|
138
|
+
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
139
|
+
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
140
|
+
params: {
|
|
141
|
+
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
142
|
+
nativeCurrency: {
|
|
143
|
+
name: "Ethereum",
|
|
144
|
+
symbol: "ETH",
|
|
145
|
+
decimals: 18,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: "Base",
|
|
151
|
+
chainId: 8453,
|
|
152
|
+
color: "#1E2024",
|
|
153
|
+
ankrName: "base",
|
|
154
|
+
viemChain: base,
|
|
155
|
+
explorerUrl: "https://basescan.org",
|
|
156
|
+
fakeTransactionHash:
|
|
157
|
+
"0xf7833d80da33730c4fc5d4c64151f0eaa64c0c0535be022af0228a44cc4e9c8e",
|
|
158
|
+
apiURL: "https://api.basescan.org",
|
|
159
|
+
get serverRpcUrl() {
|
|
160
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
161
|
+
},
|
|
162
|
+
usdcAddress: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
163
|
+
balanceResolverAddress: "0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C",
|
|
164
|
+
params: {
|
|
165
|
+
rpcUrls: ["https://rpc.ankr.com/base"],
|
|
166
|
+
chainName: "Base",
|
|
167
|
+
nativeCurrency: {
|
|
168
|
+
name: "Ethereum",
|
|
169
|
+
symbol: "ETH",
|
|
170
|
+
decimals: 18,
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
},
|
|
74
174
|
{
|
|
75
175
|
name: "Optimism",
|
|
76
176
|
debankName: "op",
|
|
77
177
|
ankrName: "optimism",
|
|
78
178
|
zerionName: "optimism",
|
|
79
179
|
color: "#FF0420",
|
|
180
|
+
viemChain: optimism,
|
|
80
181
|
chainId: 10,
|
|
182
|
+
apiURL: "https://api-optimistic.etherscan.io",
|
|
81
183
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
82
184
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
185
|
+
fakeTransactionHash:
|
|
186
|
+
"0xee7311d68059732b05088f2144dfec6c7a4f5fd0433eb85306afcd6bdf17cebc",
|
|
83
187
|
explorerUrl: "https://optimistic.etherscan.io",
|
|
84
188
|
get serverRpcUrl() {
|
|
85
189
|
return process.env?.OPTIMISM_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -95,26 +199,28 @@ export const networks: Network[] = [
|
|
|
95
199
|
},
|
|
96
200
|
},
|
|
97
201
|
{
|
|
98
|
-
name: "
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
balanceResolverAddress: "
|
|
106
|
-
|
|
202
|
+
name: "Polygon zkEVM",
|
|
203
|
+
chainId: 1101,
|
|
204
|
+
color: "#8544f6",
|
|
205
|
+
ankrName: "polygon_zkevm",
|
|
206
|
+
viemChain: polygonZkEvm,
|
|
207
|
+
explorerUrl: "https://zkevm.polygonscan.com",
|
|
208
|
+
apiURL: "https://api-zkevm.polygonscan.com",
|
|
209
|
+
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
210
|
+
fakeTransactionHash:
|
|
211
|
+
"0x1077130463ade91ad4e9c43c3195298e26a99970975238128912490eea12bf41",
|
|
212
|
+
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
107
213
|
get serverRpcUrl() {
|
|
108
|
-
return process.env?.
|
|
214
|
+
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
109
215
|
},
|
|
110
216
|
params: {
|
|
111
|
-
chainName: "
|
|
217
|
+
chainName: "polygon zkEVM",
|
|
218
|
+
rpcUrls: ["https://zkevm-rpc.com"],
|
|
112
219
|
nativeCurrency: {
|
|
113
|
-
name: "
|
|
114
|
-
symbol: "
|
|
220
|
+
name: "Ethereum",
|
|
221
|
+
symbol: "ETH",
|
|
115
222
|
decimals: 18,
|
|
116
223
|
},
|
|
117
|
-
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
118
224
|
},
|
|
119
225
|
},
|
|
120
226
|
{
|
|
@@ -125,6 +231,10 @@ export const networks: Network[] = [
|
|
|
125
231
|
color: "#F3BA2F",
|
|
126
232
|
chainId: 56,
|
|
127
233
|
explorerUrl: "https://bscscan.com",
|
|
234
|
+
viemChain: bsc,
|
|
235
|
+
fakeTransactionHash:
|
|
236
|
+
"0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7",
|
|
237
|
+
apiURL: "https://api.bscscan.com",
|
|
128
238
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
129
239
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
130
240
|
get serverRpcUrl() {
|
|
@@ -140,14 +250,71 @@ export const networks: Network[] = [
|
|
|
140
250
|
},
|
|
141
251
|
},
|
|
142
252
|
},
|
|
253
|
+
{
|
|
254
|
+
name: "Avalanche",
|
|
255
|
+
debankName: "avax",
|
|
256
|
+
ankrName: "avalanche",
|
|
257
|
+
zerionName: "avalanche",
|
|
258
|
+
color: "#EB5757",
|
|
259
|
+
viemChain: avalanche,
|
|
260
|
+
chainId: 43114,
|
|
261
|
+
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
262
|
+
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
263
|
+
explorerUrl: "https://snowtrace.io",
|
|
264
|
+
fakeTransactionHash:
|
|
265
|
+
"0x233aac7402558dd4e23f938a50f983e67f5c9604233981c7ac74e63737b8294e",
|
|
266
|
+
apiURL: "https://api.snowtrace.io",
|
|
267
|
+
get serverRpcUrl() {
|
|
268
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
269
|
+
},
|
|
270
|
+
params: {
|
|
271
|
+
chainName: "Avalanche Network",
|
|
272
|
+
nativeCurrency: {
|
|
273
|
+
name: "Avalanche",
|
|
274
|
+
symbol: "AVAX",
|
|
275
|
+
decimals: 18,
|
|
276
|
+
},
|
|
277
|
+
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: "Fantom",
|
|
282
|
+
chainId: 250,
|
|
283
|
+
zerionName: "fantom",
|
|
284
|
+
explorerUrl: "https://ftmscan.com",
|
|
285
|
+
ankrName: "fantom",
|
|
286
|
+
color: "#1969ff",
|
|
287
|
+
viemChain: fantom,
|
|
288
|
+
get serverRpcUrl() {
|
|
289
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
290
|
+
},
|
|
291
|
+
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
292
|
+
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
293
|
+
fakeTransactionHash:
|
|
294
|
+
"0x1e9a8405d660172314124e06896212c0786d7fb1550b89410d4bc87e9e8054e4",
|
|
295
|
+
params: {
|
|
296
|
+
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
297
|
+
chainName: "Fantom",
|
|
298
|
+
nativeCurrency: {
|
|
299
|
+
name: "Fantom",
|
|
300
|
+
symbol: "FTM",
|
|
301
|
+
decimals: 18,
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
},
|
|
143
305
|
{
|
|
144
306
|
name: "Gnosis",
|
|
145
307
|
debankName: "xdai",
|
|
146
308
|
zerionName: "xdai",
|
|
147
309
|
color: "#04795C",
|
|
310
|
+
ankrName: "gnosis",
|
|
311
|
+
viemChain: gnosis,
|
|
148
312
|
chainId: 100,
|
|
149
313
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
150
314
|
explorerUrl: "https://gnosisscan.io",
|
|
315
|
+
fakeTransactionHash:
|
|
316
|
+
"0x1513033806310a2c3b29f2276f8aa7388461b0ef9f8499c297e68c12187c179b",
|
|
317
|
+
apiURL: "https://api.gnosisscan.io",
|
|
151
318
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
152
319
|
get serverRpcUrl() {
|
|
153
320
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -162,33 +329,15 @@ export const networks: Network[] = [
|
|
|
162
329
|
},
|
|
163
330
|
},
|
|
164
331
|
},
|
|
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
332
|
{
|
|
187
333
|
name: "Aurora",
|
|
188
334
|
chainId: 1313161554,
|
|
189
335
|
zerionName: "aurora",
|
|
190
336
|
color: "#78d64b",
|
|
337
|
+
viemChain: aurora,
|
|
191
338
|
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
339
|
+
fakeTransactionHash:
|
|
340
|
+
"0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6",
|
|
192
341
|
get serverRpcUrl() {
|
|
193
342
|
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
|
|
194
343
|
},
|
|
@@ -205,32 +354,138 @@ export const networks: Network[] = [
|
|
|
205
354
|
},
|
|
206
355
|
},
|
|
207
356
|
{
|
|
208
|
-
name: "
|
|
209
|
-
chainId:
|
|
210
|
-
zerionName: "
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
357
|
+
name: "Fuse",
|
|
358
|
+
chainId: 122,
|
|
359
|
+
zerionName: "fuse",
|
|
360
|
+
color: "#78d64b",
|
|
361
|
+
explorerUrl: "https://explorer.fuse.io",
|
|
362
|
+
viemChain: fuse,
|
|
363
|
+
fakeTransactionHash:
|
|
364
|
+
"0xf22a8031de9b978a57c728e18c6b54633356c39db4d0466e53b9b7c3ee7f8def",
|
|
214
365
|
get serverRpcUrl() {
|
|
215
|
-
return process.env?.
|
|
366
|
+
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
|
|
216
367
|
},
|
|
217
|
-
usdcAddress: "
|
|
218
|
-
balanceResolverAddress: "
|
|
368
|
+
usdcAddress: "",
|
|
369
|
+
balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
219
370
|
params: {
|
|
220
|
-
rpcUrls: ["https://
|
|
221
|
-
chainName: "
|
|
371
|
+
rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
|
|
372
|
+
chainName: "Fuse",
|
|
222
373
|
nativeCurrency: {
|
|
223
|
-
|
|
224
|
-
|
|
374
|
+
decimals: 18,
|
|
375
|
+
name: "Fuse",
|
|
376
|
+
symbol: "fuse",
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
name: "Scroll",
|
|
382
|
+
chainId: 534352,
|
|
383
|
+
color: "#78d64b",
|
|
384
|
+
ankrName: 'scroll',
|
|
385
|
+
explorerUrl: "https://scrollscan.com",
|
|
386
|
+
viemChain: scroll,
|
|
387
|
+
fakeTransactionHash:
|
|
388
|
+
"0x6bf297c414264fc8cddd47224632b4426a02138df2f50fe891eca87f6aefea01",
|
|
389
|
+
get serverRpcUrl() {
|
|
390
|
+
return process.env?.SCROLL_RPC_URL || this.params.rpcUrls[0];
|
|
391
|
+
},
|
|
392
|
+
params: {
|
|
393
|
+
rpcUrls: ["https://rpc.scroll.io"],
|
|
394
|
+
chainName: "Scroll",
|
|
395
|
+
nativeCurrency: {
|
|
396
|
+
name: "Ethereum",
|
|
397
|
+
symbol: "ETH",
|
|
225
398
|
decimals: 18,
|
|
226
399
|
},
|
|
227
400
|
},
|
|
228
401
|
},
|
|
402
|
+
{
|
|
403
|
+
name: "opBNB",
|
|
404
|
+
chainId: 204,
|
|
405
|
+
color: "#78d64b",
|
|
406
|
+
explorerUrl: "https://opbnbscan.com",
|
|
407
|
+
viemChain: opBNB,
|
|
408
|
+
fakeTransactionHash:
|
|
409
|
+
"0xb9438a3eae61442bc7d419d79930370ce09ac0f46e0695025751e3bfe1a931e7",
|
|
410
|
+
get serverRpcUrl() {
|
|
411
|
+
return process.env?.OPBNB_RPC_URL || this.params.rpcUrls[0];
|
|
412
|
+
},
|
|
413
|
+
params: {
|
|
414
|
+
rpcUrls: ["https://opbnb-mainnet-rpc.bnbchain.org"],
|
|
415
|
+
chainName: "opBNB",
|
|
416
|
+
nativeCurrency: {
|
|
417
|
+
name: "BNB",
|
|
418
|
+
symbol: "BNB",
|
|
419
|
+
decimals: 18,
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
},
|
|
423
|
+
// {
|
|
424
|
+
// chainId: 34443,
|
|
425
|
+
// name: "Mode",
|
|
426
|
+
// color: "#d7ff00",
|
|
427
|
+
// explorerUrl: 'https://explorer.mode.network',
|
|
428
|
+
// fakeTransactionHash: '0xb58002db3481f2c51855a91280ec940d0bebec075c4b362b9f90c21a2b14edbe',
|
|
429
|
+
// params: {
|
|
430
|
+
// rpcUrls: ["https://1rpc.io/mode"],
|
|
431
|
+
// chainName: "Mode",
|
|
432
|
+
// nativeCurrency: {
|
|
433
|
+
// name: "Ethereum",
|
|
434
|
+
// symbol: "ETH",
|
|
435
|
+
// decimals: 18,
|
|
436
|
+
// }
|
|
437
|
+
// },
|
|
438
|
+
// get serverRpcUrl() {
|
|
439
|
+
// return process.env?.MODE_RPC_URL || this.params.rpcUrls[0];
|
|
440
|
+
// },
|
|
441
|
+
// viemChain: mode,
|
|
442
|
+
// },
|
|
443
|
+
// {
|
|
444
|
+
// chainId: 81457,
|
|
445
|
+
// name: "Blast",
|
|
446
|
+
// color: "#78d64b",
|
|
447
|
+
// explorerUrl: 'https://blastscan.io',
|
|
448
|
+
// fakeTransactionHash: '0x934ed8516242f8c08bb9e0e90bb1f989d92ceb6b0333e86ac2d555f25ac27e58',
|
|
449
|
+
// params: {
|
|
450
|
+
// rpcUrls: ['https://rpc.ankr.com/blast'],
|
|
451
|
+
// chainName: "Blast",
|
|
452
|
+
// nativeCurrency: {
|
|
453
|
+
// name: "Ethereum",
|
|
454
|
+
// symbol: "ETH",
|
|
455
|
+
// decimals: 18,
|
|
456
|
+
// }
|
|
457
|
+
// },
|
|
458
|
+
// get serverRpcUrl() {
|
|
459
|
+
// return process.env?.BLAST_RPC_URL || this.params.rpcUrls[0];
|
|
460
|
+
// },
|
|
461
|
+
// viemChain: blast,
|
|
462
|
+
// },
|
|
463
|
+
// {
|
|
464
|
+
// name: "Manta Pacific",
|
|
465
|
+
// chainId: 169,
|
|
466
|
+
// explorerUrl: "https://pacific-explorer.manta.network",
|
|
467
|
+
// params: {
|
|
468
|
+
// rpcUrls: ["https://pacific-rpc.manta.network/http"],
|
|
469
|
+
// chainName: "Manta Pacific",
|
|
470
|
+
// nativeCurrency: {
|
|
471
|
+
// name: "Ethereum",
|
|
472
|
+
// symbol: "ETH",
|
|
473
|
+
// decimals: 18,
|
|
474
|
+
// },
|
|
475
|
+
// },
|
|
476
|
+
// color: "#78d64b",
|
|
477
|
+
// fakeTransactionHash: "0x3fB128aA5AC254C8539996B11C587E521AE0d3ab",
|
|
478
|
+
// get serverRpcUrl() {
|
|
479
|
+
// return process.env?.MANTA_RPC_URL || this.params.rpcUrls[0];
|
|
480
|
+
// },
|
|
481
|
+
// },
|
|
229
482
|
{
|
|
230
483
|
name: AVO_PROD_CHAIN_NAME,
|
|
231
484
|
chainId: AVO_PROD_CHAIN_ID,
|
|
232
485
|
isAvocado: true,
|
|
233
486
|
balanceResolverAddress: "",
|
|
487
|
+
fakeTransactionHash: "",
|
|
488
|
+
viemChain: avocado,
|
|
234
489
|
color: "#16A34A",
|
|
235
490
|
usdcAddress: "",
|
|
236
491
|
serverRpcUrl: AVO_PROD_RPC_URL,
|
|
@@ -252,6 +507,8 @@ export const networks: Network[] = [
|
|
|
252
507
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
253
508
|
color: "#16A34A",
|
|
254
509
|
explorerUrl: AVO_STAGING_EXPLORER_URL,
|
|
510
|
+
viemChain: avocadoStaging,
|
|
511
|
+
fakeTransactionHash: "",
|
|
255
512
|
isAvocado: true,
|
|
256
513
|
balanceResolverAddress: "",
|
|
257
514
|
usdcAddress: "",
|
|
@@ -268,6 +525,26 @@ export const networks: Network[] = [
|
|
|
268
525
|
},
|
|
269
526
|
];
|
|
270
527
|
|
|
528
|
+
export const chainUsdcAddresses = [
|
|
529
|
+
{ chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
|
|
530
|
+
{ chainId: 10, address: "0x7f5c764cbc14f9669b88837ca1490cca17c31607" },
|
|
531
|
+
{ chainId: 56, address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" },
|
|
532
|
+
{ chainId: 100, address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83" },
|
|
533
|
+
{ chainId: 137, address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" },
|
|
534
|
+
{ chainId: 137, address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359" },
|
|
535
|
+
{ chainId: 250, address: "0x04068da6c83afcfa0e13ba15a6696662335d5b75" },
|
|
536
|
+
{ chainId: 42161, address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" },
|
|
537
|
+
{ chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" },
|
|
538
|
+
{ chainId: 43114, address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e" },
|
|
539
|
+
{ chainId: 43114, address: "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664" },
|
|
540
|
+
{ chainId: 1101, address: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035" },
|
|
541
|
+
{
|
|
542
|
+
chainId: 1313161554,
|
|
543
|
+
address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
544
|
+
},
|
|
545
|
+
{ chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
|
|
546
|
+
];
|
|
547
|
+
|
|
271
548
|
export const getNetworkByChainId = (
|
|
272
549
|
chainId: ChainId | number | string
|
|
273
550
|
): Network => {
|
|
@@ -280,12 +557,16 @@ export const availableNetworks = networks.filter(
|
|
|
280
557
|
|
|
281
558
|
export const chainIdToName = (chainId: ChainId | number | string) => {
|
|
282
559
|
const network = getNetworkByChainId(chainId);
|
|
283
|
-
return network
|
|
560
|
+
return network?.name;
|
|
284
561
|
};
|
|
285
562
|
|
|
286
563
|
export const getRpcURLByChainId = (chainId: ChainId | number | string) => {
|
|
287
|
-
|
|
288
|
-
|
|
564
|
+
try {
|
|
565
|
+
const network = getNetworkByChainId(chainId);
|
|
566
|
+
return network.params.rpcUrls[0];
|
|
567
|
+
} catch (e) {
|
|
568
|
+
return "";
|
|
569
|
+
}
|
|
289
570
|
};
|
|
290
571
|
|
|
291
572
|
export const RPCMap = networks.reduce((acc, network) => {
|
|
@@ -327,5 +608,6 @@ export const getExplorerUrl = (
|
|
|
327
608
|
suffix: `/${string}` = "/"
|
|
328
609
|
) => {
|
|
329
610
|
const network = getNetworkByChainId(chainId);
|
|
611
|
+
if (!network) return "";
|
|
330
612
|
return `${network.explorerUrl}${suffix}`;
|
|
331
613
|
};
|
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,
|