@instadapp/avocado-base 0.0.0-dev.02731e3 → 0.0.0-dev.06ca699
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/abi/forwarder.json +1253 -149
- package/abi/multisigForwarder.json +697 -0
- package/app.vue +7 -0
- package/assets/images/icons/arrow-left.svg +5 -0
- package/assets/images/icons/arrow-right.svg +5 -0
- package/assets/images/icons/avocado.svg +4 -0
- package/assets/images/icons/bridge-2.svg +3 -0
- package/assets/images/icons/bridge.svg +7 -0
- package/assets/images/icons/calendar.svg +8 -0
- package/assets/images/icons/change-threshold.svg +4 -0
- package/assets/images/icons/check-circle.svg +4 -0
- package/assets/images/icons/chevron-down.svg +4 -0
- package/assets/images/icons/clipboard.svg +7 -0
- package/assets/images/icons/clock-circle.svg +5 -0
- package/assets/images/icons/copy.svg +5 -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/error-circle.svg +6 -0
- package/assets/images/icons/exclamation-circle.svg +13 -0
- package/assets/images/icons/exclamation-octagon.svg +13 -0
- package/assets/images/icons/exclamation-triangle.svg +5 -0
- package/assets/images/icons/external-link.svg +6 -0
- package/assets/images/icons/eye.svg +4 -0
- package/assets/images/icons/flowers.svg +8 -0
- package/assets/images/icons/gas-emoji.svg +193 -0
- package/assets/images/icons/gas.svg +14 -0
- package/assets/images/icons/gift.svg +153 -0
- package/assets/images/icons/globe.svg +110 -0
- package/assets/images/icons/hamburger.svg +6 -0
- package/assets/images/icons/info-2.svg +12 -0
- package/assets/images/icons/instadapp-pro.svg +4 -0
- package/assets/images/icons/logout.svg +3 -0
- package/assets/images/icons/moon.svg +3 -0
- package/assets/images/icons/multi-send.svg +7 -0
- package/assets/images/icons/network.svg +13 -0
- package/assets/images/icons/options.svg +5 -0
- package/assets/images/icons/permit-sign.svg +11 -0
- package/assets/images/icons/plus-circle.svg +6 -0
- package/assets/images/icons/plus.svg +5 -0
- package/assets/images/icons/power-off-bg.svg +24 -0
- package/assets/images/icons/power-off.svg +19 -0
- package/assets/images/icons/power-on.svg +19 -0
- package/assets/images/icons/qr.svg +20 -0
- package/assets/images/icons/question-circle.svg +14 -0
- package/assets/images/icons/refresh.svg +6 -0
- package/assets/images/icons/reject-proposal.svg +6 -0
- package/assets/images/icons/search.svg +12 -0
- package/assets/images/icons/sun.svg +3 -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/assets/images/icons/wave.svg +214 -0
- package/assets/images/icons/x.svg +5 -0
- package/components/ActionLogo.vue +38 -0
- package/components/ActionMetadata.vue +76 -0
- package/components/AuthorityAvatar.vue +38 -0
- package/components/ChainLogo.vue +14 -556
- package/components/CopyClipboard.vue +64 -0
- package/components/metadata/Bridge.vue +59 -0
- package/components/metadata/CrossTransfer.vue +71 -0
- package/components/metadata/GasTopup.vue +39 -0
- package/components/metadata/Permit2.vue +42 -0
- package/components/metadata/Signers.vue +63 -0
- package/components/metadata/Swap.vue +74 -0
- package/components/metadata/Transfer.vue +50 -0
- package/components.d.ts +13 -0
- package/contracts/Forwarder.ts +856 -2
- package/contracts/MultisigForwarder.ts +859 -0
- package/contracts/factories/Forwarder__factory.ts +816 -16
- package/contracts/factories/MultisigForwarder__factory.ts +721 -0
- package/contracts/factories/index.ts +1 -0
- package/contracts/index.ts +2 -0
- package/nuxt.config.ts +17 -1
- package/package.json +9 -4
- package/utils/avocado.ts +2 -0
- package/utils/bignumber.ts +20 -0
- package/utils/formatter.ts +1 -1
- package/utils/helper.ts +8 -0
- package/utils/metadata.ts +332 -148
- package/utils/network.ts +166 -82
- package/utils/services.ts +21 -0
- package/utils/utils.d.ts +128 -107
package/utils/network.ts
CHANGED
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
+
import {
|
|
3
|
+
AVO_PROD_CHAIN_NAME,
|
|
4
|
+
AVO_PROD_CHAIN_ID,
|
|
5
|
+
AVO_PROD_RPC_URL,
|
|
6
|
+
AVO_PROD_EXPLORER_URL,
|
|
7
|
+
AVO_STAGING_CHAIN_NAME,
|
|
8
|
+
AVO_STAGING_CHAIN_ID,
|
|
9
|
+
AVO_STAGING_RPC_URL,
|
|
10
|
+
AVO_STAGING_EXPLORER_URL,
|
|
11
|
+
} from "./avocado";
|
|
2
12
|
|
|
3
|
-
export const bridgeDisabledNetworks = [
|
|
13
|
+
export const bridgeDisabledNetworks = [];
|
|
14
|
+
|
|
15
|
+
export const networksSimulationNotSupported = [1313161554, 1101];
|
|
4
16
|
|
|
5
17
|
export const networks: Network[] = [
|
|
6
|
-
{
|
|
7
|
-
name: "Mainnet",
|
|
8
|
-
debankName: "eth",
|
|
9
|
-
ankrName: "eth",
|
|
10
|
-
zerionName: "ethereum",
|
|
11
|
-
chainId: 1,
|
|
12
|
-
explorerUrl: "https://etherscan.io",
|
|
13
|
-
color: "#5D5FEF",
|
|
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
|
-
},
|
|
27
|
-
},
|
|
28
18
|
{
|
|
29
19
|
name: "Polygon",
|
|
30
20
|
debankName: "matic",
|
|
@@ -35,6 +25,7 @@ export const networks: Network[] = [
|
|
|
35
25
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
36
26
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
37
27
|
explorerUrl: "https://polygonscan.com",
|
|
28
|
+
apiURL: "https://api.polygonscan.com",
|
|
38
29
|
get serverRpcUrl() {
|
|
39
30
|
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
|
|
40
31
|
},
|
|
@@ -58,6 +49,7 @@ export const networks: Network[] = [
|
|
|
58
49
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
59
50
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
60
51
|
explorerUrl: "https://arbiscan.io",
|
|
52
|
+
apiURL: "https://api.arbiscan.io",
|
|
61
53
|
get serverRpcUrl() {
|
|
62
54
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
63
55
|
},
|
|
@@ -71,6 +63,51 @@ export const networks: Network[] = [
|
|
|
71
63
|
rpcUrls: ["https://arb1.arbitrum.io/rpc"],
|
|
72
64
|
},
|
|
73
65
|
},
|
|
66
|
+
{
|
|
67
|
+
name: "Ethereum",
|
|
68
|
+
debankName: "eth",
|
|
69
|
+
ankrName: "eth",
|
|
70
|
+
zerionName: "ethereum",
|
|
71
|
+
chainId: 1,
|
|
72
|
+
explorerUrl: "https://etherscan.io",
|
|
73
|
+
apiURL: "https://api.etherscan.io",
|
|
74
|
+
color: "#5D5FEF",
|
|
75
|
+
get serverRpcUrl() {
|
|
76
|
+
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
77
|
+
},
|
|
78
|
+
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
79
|
+
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
80
|
+
params: {
|
|
81
|
+
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
82
|
+
nativeCurrency: {
|
|
83
|
+
name: "Ethereum",
|
|
84
|
+
symbol: "ETH",
|
|
85
|
+
decimals: 18,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "Base",
|
|
91
|
+
chainId: 8453,
|
|
92
|
+
color: "#1E2024",
|
|
93
|
+
ankrName: "base",
|
|
94
|
+
explorerUrl: "https://basescan.org",
|
|
95
|
+
apiURL: "https://api.basescan.org",
|
|
96
|
+
get serverRpcUrl() {
|
|
97
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
98
|
+
},
|
|
99
|
+
usdcAddress: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
100
|
+
balanceResolverAddress: "0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C",
|
|
101
|
+
params: {
|
|
102
|
+
rpcUrls: ["https://rpc.ankr.com/base"],
|
|
103
|
+
chainName: "Base",
|
|
104
|
+
nativeCurrency: {
|
|
105
|
+
name: "Ethereum",
|
|
106
|
+
symbol: "ETH",
|
|
107
|
+
decimals: 18,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
},
|
|
74
111
|
{
|
|
75
112
|
name: "Optimism",
|
|
76
113
|
debankName: "op",
|
|
@@ -78,6 +115,7 @@ export const networks: Network[] = [
|
|
|
78
115
|
zerionName: "optimism",
|
|
79
116
|
color: "#FF0420",
|
|
80
117
|
chainId: 10,
|
|
118
|
+
apiURL: "https://api-optimistic.etherscan.io",
|
|
81
119
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
82
120
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
83
121
|
explorerUrl: "https://optimistic.etherscan.io",
|
|
@@ -95,26 +133,25 @@ export const networks: Network[] = [
|
|
|
95
133
|
},
|
|
96
134
|
},
|
|
97
135
|
{
|
|
98
|
-
name: "
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
explorerUrl: "https://snowtrace.io",
|
|
136
|
+
name: "Polygon zkEVM",
|
|
137
|
+
chainId: 1101,
|
|
138
|
+
color: "#8544f6",
|
|
139
|
+
ankrName: "polygon_zkevm",
|
|
140
|
+
explorerUrl: "https://zkevm.polygonscan.com",
|
|
141
|
+
apiURL: "https://api-zkevm.polygonscan.com",
|
|
142
|
+
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
143
|
+
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
107
144
|
get serverRpcUrl() {
|
|
108
|
-
return process.env?.
|
|
145
|
+
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
109
146
|
},
|
|
110
147
|
params: {
|
|
111
|
-
chainName: "
|
|
148
|
+
chainName: "polygon zkEVM",
|
|
149
|
+
rpcUrls: ["https://zkevm-rpc.com"],
|
|
112
150
|
nativeCurrency: {
|
|
113
|
-
name: "
|
|
114
|
-
symbol: "
|
|
151
|
+
name: "Ethereum",
|
|
152
|
+
symbol: "ETH",
|
|
115
153
|
decimals: 18,
|
|
116
154
|
},
|
|
117
|
-
rpcUrls: ["https://api.avax.network/ext/bc/C/rpc"],
|
|
118
155
|
},
|
|
119
156
|
},
|
|
120
157
|
{
|
|
@@ -125,6 +162,7 @@ export const networks: Network[] = [
|
|
|
125
162
|
color: "#F3BA2F",
|
|
126
163
|
chainId: 56,
|
|
127
164
|
explorerUrl: "https://bscscan.com",
|
|
165
|
+
apiURL: "https://api.bscscan.com",
|
|
128
166
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
129
167
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
130
168
|
get serverRpcUrl() {
|
|
@@ -140,14 +178,62 @@ export const networks: Network[] = [
|
|
|
140
178
|
},
|
|
141
179
|
},
|
|
142
180
|
},
|
|
181
|
+
{
|
|
182
|
+
name: "Avalanche",
|
|
183
|
+
debankName: "avax",
|
|
184
|
+
ankrName: "avalanche",
|
|
185
|
+
zerionName: "avalanche",
|
|
186
|
+
color: "#EB5757",
|
|
187
|
+
chainId: 43114,
|
|
188
|
+
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
189
|
+
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
190
|
+
explorerUrl: "https://snowtrace.io",
|
|
191
|
+
apiURL: "https://api.snowtrace.io",
|
|
192
|
+
get serverRpcUrl() {
|
|
193
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
194
|
+
},
|
|
195
|
+
params: {
|
|
196
|
+
chainName: "Avalanche Network",
|
|
197
|
+
nativeCurrency: {
|
|
198
|
+
name: "Avalanche",
|
|
199
|
+
symbol: "AVAX",
|
|
200
|
+
decimals: 18,
|
|
201
|
+
},
|
|
202
|
+
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: "Fantom",
|
|
207
|
+
chainId: 250,
|
|
208
|
+
zerionName: "fantom",
|
|
209
|
+
explorerUrl: "https://ftmscan.com",
|
|
210
|
+
ankrName: "fantom",
|
|
211
|
+
color: "#1969ff",
|
|
212
|
+
get serverRpcUrl() {
|
|
213
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
214
|
+
},
|
|
215
|
+
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
216
|
+
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
217
|
+
params: {
|
|
218
|
+
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
219
|
+
chainName: "Fantom",
|
|
220
|
+
nativeCurrency: {
|
|
221
|
+
name: "Fantom",
|
|
222
|
+
symbol: "FTM",
|
|
223
|
+
decimals: 18,
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
},
|
|
143
227
|
{
|
|
144
228
|
name: "Gnosis",
|
|
145
229
|
debankName: "xdai",
|
|
146
230
|
zerionName: "xdai",
|
|
147
231
|
color: "#04795C",
|
|
232
|
+
ankrName: "gnosis",
|
|
148
233
|
chainId: 100,
|
|
149
234
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
150
235
|
explorerUrl: "https://gnosisscan.io",
|
|
236
|
+
apiURL: "https://api.gnosisscan.io",
|
|
151
237
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
152
238
|
get serverRpcUrl() {
|
|
153
239
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -163,65 +249,44 @@ export const networks: Network[] = [
|
|
|
163
249
|
},
|
|
164
250
|
},
|
|
165
251
|
{
|
|
166
|
-
name: "
|
|
167
|
-
chainId:
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
252
|
+
name: "Aurora",
|
|
253
|
+
chainId: 1313161554,
|
|
254
|
+
zerionName: "aurora",
|
|
255
|
+
color: "#78d64b",
|
|
256
|
+
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
172
257
|
get serverRpcUrl() {
|
|
173
|
-
return process.env?.
|
|
258
|
+
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
|
|
174
259
|
},
|
|
260
|
+
usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
261
|
+
balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
175
262
|
params: {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
263
|
+
rpcUrls: ["https://mainnet.aurora.dev"],
|
|
264
|
+
chainName: "Aurora",
|
|
179
265
|
nativeCurrency: {
|
|
180
|
-
name: "Ethereum",
|
|
181
|
-
symbol: "ETH",
|
|
182
266
|
decimals: 18,
|
|
267
|
+
name: "Aurora ETH",
|
|
268
|
+
symbol: "AETH",
|
|
183
269
|
},
|
|
184
270
|
},
|
|
185
271
|
},
|
|
186
|
-
// {
|
|
187
|
-
// name: "Aurora",
|
|
188
|
-
// chainId: 1313161554,
|
|
189
|
-
// zerionName: "aurora",
|
|
190
|
-
// explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
191
|
-
// get serverRpcUrl() {
|
|
192
|
-
// return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
|
|
193
|
-
// },
|
|
194
|
-
// usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
195
|
-
// balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
196
|
-
// params: {
|
|
197
|
-
// rpcUrls: ["https://mainnet.aurora.dev"],
|
|
198
|
-
// chainName: "Aurora",
|
|
199
|
-
// nativeCurrency: {
|
|
200
|
-
// decimals: 18,
|
|
201
|
-
// name: "Aurora ETH",
|
|
202
|
-
// symbol: "AETH",
|
|
203
|
-
// },
|
|
204
|
-
// },
|
|
205
|
-
// },
|
|
206
272
|
{
|
|
207
|
-
name: "
|
|
208
|
-
chainId:
|
|
209
|
-
zerionName: "
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
color: "#1969ff",
|
|
273
|
+
name: "Fuse",
|
|
274
|
+
chainId: 122,
|
|
275
|
+
zerionName: "fuse",
|
|
276
|
+
color: "#78d64b",
|
|
277
|
+
explorerUrl: "https://explorer.fuse.io",
|
|
213
278
|
get serverRpcUrl() {
|
|
214
|
-
return process.env?.
|
|
279
|
+
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
|
|
215
280
|
},
|
|
216
|
-
usdcAddress: "
|
|
217
|
-
balanceResolverAddress: "
|
|
281
|
+
usdcAddress: "",
|
|
282
|
+
balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
218
283
|
params: {
|
|
219
|
-
rpcUrls: ["https://
|
|
220
|
-
chainName: "
|
|
284
|
+
rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
|
|
285
|
+
chainName: "Fuse",
|
|
221
286
|
nativeCurrency: {
|
|
222
|
-
name: "Fantom",
|
|
223
|
-
symbol: "FTM",
|
|
224
287
|
decimals: 18,
|
|
288
|
+
name: "Fuse",
|
|
289
|
+
symbol: "fuse",
|
|
225
290
|
},
|
|
226
291
|
},
|
|
227
292
|
},
|
|
@@ -267,6 +332,25 @@ export const networks: Network[] = [
|
|
|
267
332
|
},
|
|
268
333
|
];
|
|
269
334
|
|
|
335
|
+
export const chainUsdcAddresses = [
|
|
336
|
+
{ chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
|
|
337
|
+
{ chainId: 10, address: "0x7f5c764cbc14f9669b88837ca1490cca17c31607" },
|
|
338
|
+
{ chainId: 56, address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" },
|
|
339
|
+
{ chainId: 100, address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83" },
|
|
340
|
+
{ chainId: 137, address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" },
|
|
341
|
+
{ chainId: 250, address: "0x04068da6c83afcfa0e13ba15a6696662335d5b75" },
|
|
342
|
+
{ chainId: 42161, address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" },
|
|
343
|
+
{ chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" },
|
|
344
|
+
{ chainId: 43114, address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e" },
|
|
345
|
+
{ chainId: 43114, address: "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664" },
|
|
346
|
+
{ chainId: 1101, address: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035" },
|
|
347
|
+
{
|
|
348
|
+
chainId: 1313161554,
|
|
349
|
+
address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
350
|
+
},
|
|
351
|
+
{ chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
|
|
352
|
+
];
|
|
353
|
+
|
|
270
354
|
export const getNetworkByChainId = (
|
|
271
355
|
chainId: ChainId | number | string
|
|
272
356
|
): Network => {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const fetchTokenByAddress = async (
|
|
2
|
+
address: string,
|
|
3
|
+
chainId: string | number,
|
|
4
|
+
tokens?: ITokenPrice[]
|
|
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
|
+
|
|
13
|
+
const [token] = (await $fetch(`${blockQueryURL}/${chainId}/tokens`, {
|
|
14
|
+
params: {
|
|
15
|
+
sparkline: false,
|
|
16
|
+
"addresses[]": [address],
|
|
17
|
+
},
|
|
18
|
+
})) as ITokenPrice[];
|
|
19
|
+
|
|
20
|
+
return token;
|
|
21
|
+
};
|
package/utils/utils.d.ts
CHANGED
|
@@ -1,111 +1,132 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
declare global {
|
|
2
|
+
type ChainId =
|
|
3
|
+
| 1
|
|
4
|
+
| 137
|
|
5
|
+
| 42161
|
|
6
|
+
| 10
|
|
7
|
+
| 56
|
|
8
|
+
| 43114
|
|
9
|
+
| 100
|
|
10
|
+
| 1101
|
|
11
|
+
| 250
|
|
12
|
+
| 634
|
|
13
|
+
| 1313161554
|
|
14
|
+
| 8453
|
|
15
|
+
| 122
|
|
16
|
+
| 63400;
|
|
17
|
+
|
|
18
|
+
type ISlackMessageType = "danger" | "error" | "success" | "banner";
|
|
19
|
+
|
|
20
|
+
type MetadataTypes = keyof typeof MetadataEnums;
|
|
21
|
+
|
|
22
|
+
type PayloadFunction = (data: any, type: MetadataTypes) => any;
|
|
23
|
+
|
|
24
|
+
type IPayload = Record<MetadataTypes, PayloadFunction>;
|
|
25
|
+
|
|
26
|
+
interface Network {
|
|
27
|
+
name: string;
|
|
28
|
+
debankName?: string;
|
|
29
|
+
ankrName?: string;
|
|
30
|
+
zerionName?: string;
|
|
31
|
+
chainId: ChainId;
|
|
32
|
+
color: string;
|
|
33
|
+
isAvocado?: boolean;
|
|
34
|
+
serverRpcUrl: string | undefined;
|
|
35
|
+
balanceResolverAddress?: string;
|
|
36
|
+
usdcAddress: string;
|
|
37
|
+
explorerUrl: string;
|
|
38
|
+
apiURL?: string;
|
|
39
|
+
params: {
|
|
40
|
+
chainName?: string;
|
|
41
|
+
iconUrls?: string[];
|
|
42
|
+
rpcUrls: string[];
|
|
43
|
+
nativeCurrency?: {
|
|
44
|
+
name: string;
|
|
45
|
+
symbol: string;
|
|
46
|
+
decimals: number;
|
|
47
|
+
};
|
|
37
48
|
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
type SignMetadataProps = {
|
|
52
|
+
token: string;
|
|
53
|
+
spender: string;
|
|
54
|
+
amount: string;
|
|
55
|
+
expiration: string;
|
|
38
56
|
};
|
|
57
|
+
|
|
58
|
+
type DappMetadataProps = {
|
|
59
|
+
name: string;
|
|
60
|
+
url: string;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
type SendMetadataProps = {
|
|
64
|
+
token: string;
|
|
65
|
+
amount: string;
|
|
66
|
+
receiver: string;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
type CrossSendMetadataProps = {
|
|
70
|
+
fromToken: string;
|
|
71
|
+
toToken: string;
|
|
72
|
+
toChainId: string;
|
|
73
|
+
amount: string;
|
|
74
|
+
receiver: string;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
type AuthMetadataProps = {
|
|
78
|
+
address: string;
|
|
79
|
+
chainId: string;
|
|
80
|
+
remove: boolean;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
type UpgradeMetadataProps = {
|
|
84
|
+
version: string;
|
|
85
|
+
walletImpl: string;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
type TopupMetadataProps = {
|
|
89
|
+
amount: string;
|
|
90
|
+
token: string;
|
|
91
|
+
onBehalf: string;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
type BridgeMetadataProps = {
|
|
95
|
+
amount: string;
|
|
96
|
+
receiver: string;
|
|
97
|
+
fromToken: string;
|
|
98
|
+
toToken: string;
|
|
99
|
+
toChainId: string;
|
|
100
|
+
bridgeFee: string;
|
|
101
|
+
nativeToken: string;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
type SwapMetadataProps = {
|
|
105
|
+
sellToken: string;
|
|
106
|
+
buyToken: string;
|
|
107
|
+
sellAmount: string;
|
|
108
|
+
buyAmount: string;
|
|
109
|
+
receiver: string;
|
|
110
|
+
protocol?: string;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
type MetadataProps = {
|
|
114
|
+
type: MetadataTypes;
|
|
115
|
+
encodedData: string;
|
|
116
|
+
version?: string;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
interface ITokenPrice {
|
|
120
|
+
address: string;
|
|
121
|
+
chain_id: string;
|
|
122
|
+
name: string;
|
|
123
|
+
symbol: string;
|
|
124
|
+
decimals: number;
|
|
125
|
+
logo_url: string;
|
|
126
|
+
price: string;
|
|
127
|
+
coingecko_id: string;
|
|
128
|
+
sparkline_price_7d: number[];
|
|
129
|
+
}
|
|
39
130
|
}
|
|
40
131
|
|
|
41
|
-
|
|
42
|
-
token: string;
|
|
43
|
-
spender: string;
|
|
44
|
-
amount: string;
|
|
45
|
-
expiration: string;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
type DappMetadataProps = {
|
|
49
|
-
name: string;
|
|
50
|
-
url: string;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
type SendMetadataProps = {
|
|
54
|
-
token: string;
|
|
55
|
-
amount: string;
|
|
56
|
-
receiver: string;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
type CrossSendMetadataProps = {
|
|
60
|
-
fromToken: string;
|
|
61
|
-
toToken: string;
|
|
62
|
-
toChainId: string;
|
|
63
|
-
amount: string;
|
|
64
|
-
receiver: string;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
type UpgradeMetadataProps = {
|
|
68
|
-
version: string;
|
|
69
|
-
walletImpl: string;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
type TopupMetadataProps = {
|
|
73
|
-
amount: string;
|
|
74
|
-
token: string;
|
|
75
|
-
onBehalf: string;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
type BridgeMetadataProps = {
|
|
79
|
-
amount: string;
|
|
80
|
-
receiver: string;
|
|
81
|
-
fromToken: string;
|
|
82
|
-
toToken: string;
|
|
83
|
-
toChainId: string;
|
|
84
|
-
bridgeFee: string;
|
|
85
|
-
nativeToken: string;
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
type SwapMetadataProps = {
|
|
89
|
-
sellToken: string;
|
|
90
|
-
buyToken: string;
|
|
91
|
-
sellAmount: string;
|
|
92
|
-
buyAmount: string;
|
|
93
|
-
receiver: string;
|
|
94
|
-
protocol?: string;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
type MetadataProps = {
|
|
98
|
-
type:
|
|
99
|
-
| "transfer"
|
|
100
|
-
| "bridge"
|
|
101
|
-
| "swap"
|
|
102
|
-
| "multi"
|
|
103
|
-
| "gas-topup"
|
|
104
|
-
| "upgrade"
|
|
105
|
-
| "dapp"
|
|
106
|
-
| "deploy"
|
|
107
|
-
| "permit2"
|
|
108
|
-
| "cross-transfer";
|
|
109
|
-
encodedData: string;
|
|
110
|
-
version?: string;
|
|
111
|
-
};
|
|
132
|
+
export {};
|