@instadapp/avocado-base 0.0.0-dev.0e37fd2 → 0.0.0-dev.0e696bd
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/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/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 +72 -0
- package/components/AuthorityAvatar.vue +26 -0
- package/components/ChainLogo.vue +99 -442
- 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 +45 -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/factories/Forwarder__factory.ts +816 -16
- 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 +49 -6
- package/utils/helper.ts +19 -0
- package/utils/metadata.ts +343 -133
- package/utils/network.ts +136 -77
- package/utils/services.ts +21 -0
- package/utils/utils.d.ts +128 -96
package/utils/network.ts
CHANGED
|
@@ -3,30 +3,12 @@ import { ethers } from "ethers";
|
|
|
3
3
|
export const bridgeDisabledNetworks = [1101];
|
|
4
4
|
|
|
5
5
|
export const networks: Network[] = [
|
|
6
|
-
{
|
|
7
|
-
name: "Mainnet",
|
|
8
|
-
debankName: "eth",
|
|
9
|
-
ankrName: "eth",
|
|
10
|
-
chainId: 1,
|
|
11
|
-
explorerUrl: "https://etherscan.io",
|
|
12
|
-
get serverRpcUrl() {
|
|
13
|
-
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
14
|
-
},
|
|
15
|
-
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
16
|
-
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
17
|
-
params: {
|
|
18
|
-
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
19
|
-
nativeCurrency: {
|
|
20
|
-
name: "Ethereum",
|
|
21
|
-
symbol: "ETH",
|
|
22
|
-
decimals: 18,
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
6
|
{
|
|
27
7
|
name: "Polygon",
|
|
28
8
|
debankName: "matic",
|
|
29
9
|
ankrName: "polygon",
|
|
10
|
+
zerionName: "polygon",
|
|
11
|
+
color: "#7A4ADD",
|
|
30
12
|
chainId: 137,
|
|
31
13
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
32
14
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
@@ -48,6 +30,8 @@ export const networks: Network[] = [
|
|
|
48
30
|
name: "Arbitrum",
|
|
49
31
|
debankName: "arb",
|
|
50
32
|
ankrName: "arbitrum",
|
|
33
|
+
zerionName: "arbitrum",
|
|
34
|
+
color: "#2D374B",
|
|
51
35
|
chainId: 42161,
|
|
52
36
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
53
37
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
@@ -65,10 +49,54 @@ export const networks: Network[] = [
|
|
|
65
49
|
rpcUrls: ["https://arb1.arbitrum.io/rpc"],
|
|
66
50
|
},
|
|
67
51
|
},
|
|
52
|
+
{
|
|
53
|
+
name: "Ethereum",
|
|
54
|
+
debankName: "eth",
|
|
55
|
+
ankrName: "eth",
|
|
56
|
+
zerionName: "ethereum",
|
|
57
|
+
chainId: 1,
|
|
58
|
+
explorerUrl: "https://etherscan.io",
|
|
59
|
+
color: "#5D5FEF",
|
|
60
|
+
get serverRpcUrl() {
|
|
61
|
+
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
62
|
+
},
|
|
63
|
+
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
64
|
+
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
65
|
+
params: {
|
|
66
|
+
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
67
|
+
nativeCurrency: {
|
|
68
|
+
name: "Ethereum",
|
|
69
|
+
symbol: "ETH",
|
|
70
|
+
decimals: 18,
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Base',
|
|
76
|
+
chainId: 8453,
|
|
77
|
+
color: '#1E2024',
|
|
78
|
+
explorerUrl: 'https://basescan.org',
|
|
79
|
+
get serverRpcUrl() {
|
|
80
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
81
|
+
},
|
|
82
|
+
usdcAddress: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
|
|
83
|
+
balanceResolverAddress: '0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C',
|
|
84
|
+
params: {
|
|
85
|
+
rpcUrls: ['https://rpc.ankr.com/base'],
|
|
86
|
+
chainName: "Base",
|
|
87
|
+
nativeCurrency: {
|
|
88
|
+
name: "Ethereum",
|
|
89
|
+
symbol: "ETH",
|
|
90
|
+
decimals: 18,
|
|
91
|
+
},
|
|
92
|
+
}
|
|
93
|
+
},
|
|
68
94
|
{
|
|
69
95
|
name: "Optimism",
|
|
70
96
|
debankName: "op",
|
|
71
97
|
ankrName: "optimism",
|
|
98
|
+
zerionName: "optimism",
|
|
99
|
+
color: "#FF0420",
|
|
72
100
|
chainId: 10,
|
|
73
101
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
74
102
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
@@ -83,34 +111,35 @@ export const networks: Network[] = [
|
|
|
83
111
|
symbol: "ETH",
|
|
84
112
|
decimals: 18,
|
|
85
113
|
},
|
|
86
|
-
rpcUrls: ["https://
|
|
114
|
+
rpcUrls: ["https://rpc.ankr.com/optimism"],
|
|
87
115
|
},
|
|
88
116
|
},
|
|
89
117
|
{
|
|
90
|
-
name: "
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
explorerUrl: "https://snowtrace.io",
|
|
118
|
+
name: "Polygon zkEVM",
|
|
119
|
+
chainId: 1101,
|
|
120
|
+
color: "#8544f6",
|
|
121
|
+
explorerUrl: "https://zkevm.polygonscan.com",
|
|
122
|
+
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
123
|
+
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
97
124
|
get serverRpcUrl() {
|
|
98
|
-
return process.env?.
|
|
125
|
+
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
99
126
|
},
|
|
100
127
|
params: {
|
|
101
|
-
chainName: "
|
|
128
|
+
chainName: "polygon zkEVM",
|
|
129
|
+
rpcUrls: ["https://zkevm-rpc.com"],
|
|
102
130
|
nativeCurrency: {
|
|
103
|
-
name: "
|
|
104
|
-
symbol: "
|
|
131
|
+
name: "Ethereum",
|
|
132
|
+
symbol: "ETH",
|
|
105
133
|
decimals: 18,
|
|
106
134
|
},
|
|
107
|
-
rpcUrls: ["https://api.avax.network/ext/bc/C/rpc"],
|
|
108
135
|
},
|
|
109
136
|
},
|
|
110
137
|
{
|
|
111
138
|
name: "BSC",
|
|
112
139
|
debankName: "bsc",
|
|
113
140
|
ankrName: "bsc",
|
|
141
|
+
zerionName: "binance-smart-chain",
|
|
142
|
+
color: "#F3BA2F",
|
|
114
143
|
chainId: 56,
|
|
115
144
|
explorerUrl: "https://bscscan.com",
|
|
116
145
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
@@ -128,10 +157,56 @@ export const networks: Network[] = [
|
|
|
128
157
|
},
|
|
129
158
|
},
|
|
130
159
|
},
|
|
160
|
+
{
|
|
161
|
+
name: "Avalanche",
|
|
162
|
+
debankName: "avax",
|
|
163
|
+
ankrName: "avalanche",
|
|
164
|
+
zerionName: "avalanche",
|
|
165
|
+
color: "#EB5757",
|
|
166
|
+
chainId: 43114,
|
|
167
|
+
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
168
|
+
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
169
|
+
explorerUrl: "https://snowtrace.io",
|
|
170
|
+
get serverRpcUrl() {
|
|
171
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
172
|
+
},
|
|
173
|
+
params: {
|
|
174
|
+
chainName: "Avalanche Network",
|
|
175
|
+
nativeCurrency: {
|
|
176
|
+
name: "Avalanche",
|
|
177
|
+
symbol: "AVAX",
|
|
178
|
+
decimals: 18,
|
|
179
|
+
},
|
|
180
|
+
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: "Fantom",
|
|
185
|
+
chainId: 250,
|
|
186
|
+
zerionName: "fantom",
|
|
187
|
+
explorerUrl: "https://ftmscan.com",
|
|
188
|
+
ankrName: "fantom",
|
|
189
|
+
color: "#1969ff",
|
|
190
|
+
get serverRpcUrl() {
|
|
191
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
192
|
+
},
|
|
193
|
+
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
194
|
+
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
195
|
+
params: {
|
|
196
|
+
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
197
|
+
chainName: "Fantom",
|
|
198
|
+
nativeCurrency: {
|
|
199
|
+
name: "Fantom",
|
|
200
|
+
symbol: "FTM",
|
|
201
|
+
decimals: 18,
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
},
|
|
131
205
|
{
|
|
132
206
|
name: "Gnosis",
|
|
133
207
|
debankName: "xdai",
|
|
134
|
-
|
|
208
|
+
zerionName: "xdai",
|
|
209
|
+
color: "#04795C",
|
|
135
210
|
chainId: 100,
|
|
136
211
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
137
212
|
explorerUrl: "https://gnosisscan.io",
|
|
@@ -149,29 +224,11 @@ export const networks: Network[] = [
|
|
|
149
224
|
},
|
|
150
225
|
},
|
|
151
226
|
},
|
|
152
|
-
{
|
|
153
|
-
name: "Polygon zkEVM",
|
|
154
|
-
chainId: 1101,
|
|
155
|
-
explorerUrl: "https://zkevm.polygonscan.com",
|
|
156
|
-
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
157
|
-
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
158
|
-
get serverRpcUrl() {
|
|
159
|
-
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
160
|
-
},
|
|
161
|
-
params: {
|
|
162
|
-
chainName: "polygon zkEVM",
|
|
163
|
-
rpcUrls: ["https://rpc.ankr.com/polygon_zkevm"],
|
|
164
|
-
|
|
165
|
-
nativeCurrency: {
|
|
166
|
-
name: "Ethereum",
|
|
167
|
-
symbol: "ETH",
|
|
168
|
-
decimals: 18,
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
227
|
{
|
|
173
228
|
name: "Aurora",
|
|
174
229
|
chainId: 1313161554,
|
|
230
|
+
zerionName: "aurora",
|
|
231
|
+
color: "#78d64b",
|
|
175
232
|
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
176
233
|
get serverRpcUrl() {
|
|
177
234
|
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -188,30 +245,12 @@ export const networks: Network[] = [
|
|
|
188
245
|
},
|
|
189
246
|
},
|
|
190
247
|
},
|
|
191
|
-
{
|
|
192
|
-
name: "Fantom Opera",
|
|
193
|
-
chainId: 250,
|
|
194
|
-
explorerUrl: "https://ftmscan.com",
|
|
195
|
-
get serverRpcUrl() {
|
|
196
|
-
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
197
|
-
},
|
|
198
|
-
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
199
|
-
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
200
|
-
params: {
|
|
201
|
-
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
202
|
-
chainName: "Fantom Opera",
|
|
203
|
-
nativeCurrency: {
|
|
204
|
-
name: "Fantom",
|
|
205
|
-
symbol: "FTM",
|
|
206
|
-
decimals: 18,
|
|
207
|
-
},
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
248
|
{
|
|
211
249
|
name: AVO_PROD_CHAIN_NAME,
|
|
212
250
|
chainId: AVO_PROD_CHAIN_ID,
|
|
213
251
|
isAvocado: true,
|
|
214
252
|
balanceResolverAddress: "",
|
|
253
|
+
color: "#16A34A",
|
|
215
254
|
usdcAddress: "",
|
|
216
255
|
serverRpcUrl: AVO_PROD_RPC_URL,
|
|
217
256
|
explorerUrl: AVO_PROD_EXPLORER_URL,
|
|
@@ -230,6 +269,7 @@ export const networks: Network[] = [
|
|
|
230
269
|
name: AVO_STAGING_CHAIN_NAME,
|
|
231
270
|
chainId: AVO_STAGING_CHAIN_ID,
|
|
232
271
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
272
|
+
color: "#16A34A",
|
|
233
273
|
explorerUrl: AVO_STAGING_EXPLORER_URL,
|
|
234
274
|
isAvocado: true,
|
|
235
275
|
balanceResolverAddress: "",
|
|
@@ -247,6 +287,22 @@ export const networks: Network[] = [
|
|
|
247
287
|
},
|
|
248
288
|
];
|
|
249
289
|
|
|
290
|
+
export const chainUsdcAddresses = [
|
|
291
|
+
{ chainId: 1, address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' },
|
|
292
|
+
{ chainId: 10, address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607' },
|
|
293
|
+
{ chainId: 56, address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d' },
|
|
294
|
+
{ chainId: 100, address: '0xddafbb505ad214d7b80b1f830fccc89b60fb7a83' },
|
|
295
|
+
{ chainId: 137, address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174' },
|
|
296
|
+
{ chainId: 250, address: '0x04068da6c83afcfa0e13ba15a6696662335d5b75' },
|
|
297
|
+
{ chainId: 42161, address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8' },
|
|
298
|
+
{ chainId: 42161, address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' },
|
|
299
|
+
{ chainId: 43114, address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' },
|
|
300
|
+
{ chainId: 43114, address: '0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664' },
|
|
301
|
+
{ chainId: 1101, address: '0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035' },
|
|
302
|
+
{ chainId: 1313161554, address: '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802' },
|
|
303
|
+
{ chainId: 8453, address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA'}
|
|
304
|
+
];
|
|
305
|
+
|
|
250
306
|
export const getNetworkByChainId = (
|
|
251
307
|
chainId: ChainId | number | string
|
|
252
308
|
): Network => {
|
|
@@ -274,13 +330,16 @@ export const RPCMap = networks.reduce((acc, network) => {
|
|
|
274
330
|
|
|
275
331
|
export const networkIds = networks.map((network) => network.chainId);
|
|
276
332
|
|
|
277
|
-
const rpcInstances: Record<string, ethers.providers.
|
|
278
|
-
const serverRpcInstances: Record<
|
|
333
|
+
const rpcInstances: Record<string, ethers.providers.StaticJsonRpcProvider> = {};
|
|
334
|
+
const serverRpcInstances: Record<
|
|
335
|
+
string,
|
|
336
|
+
ethers.providers.StaticJsonRpcProvider
|
|
337
|
+
> = {};
|
|
279
338
|
|
|
280
339
|
export const getServerRpcProvider = (chainId: number | string) => {
|
|
281
340
|
if (!rpcInstances[chainId]) {
|
|
282
341
|
const network = networks.find((n) => n.chainId == chainId);
|
|
283
|
-
serverRpcInstances[chainId] = new ethers.providers.
|
|
342
|
+
serverRpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
|
|
284
343
|
network?.serverRpcUrl
|
|
285
344
|
);
|
|
286
345
|
}
|
|
@@ -290,7 +349,7 @@ export const getServerRpcProvider = (chainId: number | string) => {
|
|
|
290
349
|
|
|
291
350
|
export const getRpcProvider = (chainId: number | string) => {
|
|
292
351
|
if (!rpcInstances[chainId]) {
|
|
293
|
-
rpcInstances[chainId] = new ethers.providers.
|
|
352
|
+
rpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
|
|
294
353
|
getRpcURLByChainId(Number(chainId))
|
|
295
354
|
);
|
|
296
355
|
}
|
|
@@ -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,100 +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
|
-
|
|
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
|
+
| 63400;
|
|
16
|
+
|
|
17
|
+
type ISlackMessageType = "danger" | "error" | "success" | "banner";
|
|
18
|
+
|
|
19
|
+
type MetadataTypes = keyof typeof MetadataEnums;
|
|
20
|
+
|
|
21
|
+
type PayloadFunction = (data: any, type: MetadataTypes) => any;
|
|
22
|
+
|
|
23
|
+
type IPayload = Record<MetadataTypes, PayloadFunction>;
|
|
24
|
+
|
|
25
|
+
interface Network {
|
|
26
|
+
name: string;
|
|
27
|
+
debankName?: string;
|
|
28
|
+
ankrName?: string;
|
|
29
|
+
zerionName?: string;
|
|
30
|
+
chainId: ChainId;
|
|
31
|
+
color: string;
|
|
32
|
+
isAvocado?: boolean;
|
|
33
|
+
serverRpcUrl: string | undefined;
|
|
34
|
+
balanceResolverAddress?: string;
|
|
35
|
+
usdcAddress: string;
|
|
36
|
+
explorerUrl: string;
|
|
37
|
+
params: {
|
|
38
|
+
chainName?: string;
|
|
39
|
+
iconUrls?: string[];
|
|
40
|
+
rpcUrls: string[];
|
|
41
|
+
nativeCurrency?: {
|
|
42
|
+
name: string;
|
|
43
|
+
symbol: string;
|
|
44
|
+
decimals: number;
|
|
45
|
+
};
|
|
35
46
|
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
type SignMetadataProps = {
|
|
50
|
+
token: string;
|
|
51
|
+
spender: string;
|
|
52
|
+
amount: string;
|
|
53
|
+
expiration: string;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
type DappMetadataProps = {
|
|
57
|
+
name: string;
|
|
58
|
+
url: string;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
type SendMetadataProps = {
|
|
62
|
+
token: string;
|
|
63
|
+
amount: string;
|
|
64
|
+
receiver: string;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
type CrossSendMetadataProps = {
|
|
68
|
+
fromToken: string;
|
|
69
|
+
toToken: string;
|
|
70
|
+
toChainId: string;
|
|
71
|
+
amount: string;
|
|
72
|
+
receiver: string;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
type AuthMetadataProps = {
|
|
76
|
+
address: string;
|
|
77
|
+
chainId: string;
|
|
78
|
+
remove: boolean;
|
|
36
79
|
};
|
|
80
|
+
|
|
81
|
+
type UpgradeMetadataProps = {
|
|
82
|
+
version: string;
|
|
83
|
+
walletImpl: string;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
type TopupMetadataProps = {
|
|
87
|
+
amount: string;
|
|
88
|
+
token: string;
|
|
89
|
+
onBehalf: string;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
type BridgeMetadataProps = {
|
|
93
|
+
amount: string;
|
|
94
|
+
receiver: string;
|
|
95
|
+
fromToken: string;
|
|
96
|
+
toToken: string;
|
|
97
|
+
toChainId: string;
|
|
98
|
+
bridgeFee: string;
|
|
99
|
+
nativeToken: string;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
type SwapMetadataProps = {
|
|
103
|
+
sellToken: string;
|
|
104
|
+
buyToken: string;
|
|
105
|
+
sellAmount: string;
|
|
106
|
+
buyAmount: string;
|
|
107
|
+
receiver: string;
|
|
108
|
+
protocol?: string;
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
type MetadataProps = {
|
|
112
|
+
type: MetadataTypes,
|
|
113
|
+
encodedData: string;
|
|
114
|
+
version?: string;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
interface ITokenPrice {
|
|
118
|
+
address: string;
|
|
119
|
+
chain_id: string;
|
|
120
|
+
name: string;
|
|
121
|
+
symbol: string;
|
|
122
|
+
decimals: number;
|
|
123
|
+
logo_url: string;
|
|
124
|
+
price: string;
|
|
125
|
+
coingecko_id: string;
|
|
126
|
+
sparkline_price_7d: number[];
|
|
127
|
+
}
|
|
128
|
+
|
|
37
129
|
}
|
|
38
130
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
spender: string;
|
|
42
|
-
amount: string;
|
|
43
|
-
expiration: string;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
type DappMetadataProps = {
|
|
47
|
-
name: string;
|
|
48
|
-
url: string;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
type SendMetadataProps = {
|
|
52
|
-
token: string;
|
|
53
|
-
amount: string;
|
|
54
|
-
receiver: string;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
type UpgradeMetadataProps = {
|
|
58
|
-
version: string;
|
|
59
|
-
walletImpl: string;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
type TopupMetadataProps = {
|
|
63
|
-
amount: string;
|
|
64
|
-
token: string;
|
|
65
|
-
onBehalf: string;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
type BridgeMetadataProps = {
|
|
69
|
-
amount: string;
|
|
70
|
-
receiver: string;
|
|
71
|
-
fromToken: string;
|
|
72
|
-
toToken: string;
|
|
73
|
-
toChainId: string;
|
|
74
|
-
bridgeFee: string;
|
|
75
|
-
nativeToken: string;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
type SwapMetadataProps = {
|
|
79
|
-
sellToken: string;
|
|
80
|
-
buyToken: string;
|
|
81
|
-
sellAmount: string;
|
|
82
|
-
buyAmount: string;
|
|
83
|
-
receiver: string;
|
|
84
|
-
protocol?: string;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
type MetadataProps = {
|
|
88
|
-
type:
|
|
89
|
-
| "transfer"
|
|
90
|
-
| "bridge"
|
|
91
|
-
| "swap"
|
|
92
|
-
| "multi"
|
|
93
|
-
| "gas-topup"
|
|
94
|
-
| "upgrade"
|
|
95
|
-
| "dapp"
|
|
96
|
-
| "deploy"
|
|
97
|
-
| "permit2";
|
|
98
|
-
encodedData: string;
|
|
99
|
-
version?: string;
|
|
100
|
-
};
|
|
131
|
+
export { }
|
|
132
|
+
|