@instadapp/avocado-base 0.0.0-dev.9807f71 → 0.0.0-dev.991c44c

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.
Files changed (84) hide show
  1. package/abi/forwarder.json +1253 -149
  2. package/abi/multisigForwarder.json +697 -0
  3. package/app.vue +7 -0
  4. package/assets/images/icons/arrow-left.svg +5 -0
  5. package/assets/images/icons/arrow-right.svg +5 -0
  6. package/assets/images/icons/avocado.svg +4 -0
  7. package/assets/images/icons/bridge-2.svg +3 -0
  8. package/assets/images/icons/bridge.svg +7 -0
  9. package/assets/images/icons/calendar.svg +8 -0
  10. package/assets/images/icons/change-threshold.svg +4 -0
  11. package/assets/images/icons/check-circle.svg +4 -0
  12. package/assets/images/icons/chevron-down.svg +4 -0
  13. package/assets/images/icons/clipboard.svg +7 -0
  14. package/assets/images/icons/clock-circle.svg +5 -0
  15. package/assets/images/icons/copy.svg +5 -0
  16. package/assets/images/icons/cross-transfer.svg +7 -0
  17. package/assets/images/icons/dapp.svg +4 -0
  18. package/assets/images/icons/deploy.svg +12 -0
  19. package/assets/images/icons/error-circle.svg +6 -0
  20. package/assets/images/icons/exclamation-circle.svg +13 -0
  21. package/assets/images/icons/exclamation-octagon.svg +13 -0
  22. package/assets/images/icons/exclamation-triangle.svg +5 -0
  23. package/assets/images/icons/external-link.svg +6 -0
  24. package/assets/images/icons/eye.svg +4 -0
  25. package/assets/images/icons/flowers.svg +8 -0
  26. package/assets/images/icons/gas-emoji.svg +193 -0
  27. package/assets/images/icons/gas.svg +14 -0
  28. package/assets/images/icons/gift.svg +153 -0
  29. package/assets/images/icons/globe.svg +110 -0
  30. package/assets/images/icons/hamburger.svg +6 -0
  31. package/assets/images/icons/hammer.svg +5 -0
  32. package/assets/images/icons/info-2.svg +12 -0
  33. package/assets/images/icons/instadapp-pro.svg +4 -0
  34. package/assets/images/icons/logout.svg +3 -0
  35. package/assets/images/icons/moon.svg +3 -0
  36. package/assets/images/icons/multi-send.svg +7 -0
  37. package/assets/images/icons/network.svg +13 -0
  38. package/assets/images/icons/options.svg +5 -0
  39. package/assets/images/icons/permit-sign.svg +11 -0
  40. package/assets/images/icons/plus-circle.svg +6 -0
  41. package/assets/images/icons/plus.svg +5 -0
  42. package/assets/images/icons/power-off-bg.svg +24 -0
  43. package/assets/images/icons/power-off.svg +19 -0
  44. package/assets/images/icons/power-on.svg +19 -0
  45. package/assets/images/icons/qr.svg +20 -0
  46. package/assets/images/icons/question-circle.svg +14 -0
  47. package/assets/images/icons/refresh.svg +6 -0
  48. package/assets/images/icons/reject-proposal.svg +6 -0
  49. package/assets/images/icons/search.svg +12 -0
  50. package/assets/images/icons/sun.svg +3 -0
  51. package/assets/images/icons/transfer.svg +5 -0
  52. package/assets/images/icons/trash-2.svg +8 -0
  53. package/assets/images/icons/upgrade.svg +4 -0
  54. package/assets/images/icons/wave.svg +214 -0
  55. package/assets/images/icons/x.svg +5 -0
  56. package/components/ActionLogo.vue +40 -0
  57. package/components/ActionMetadata.vue +76 -0
  58. package/components/AuthorityAvatar.vue +38 -0
  59. package/components/ChainLogo.vue +14 -416
  60. package/components/CopyClipboard.vue +64 -0
  61. package/components/metadata/Bridge.vue +59 -0
  62. package/components/metadata/CrossTransfer.vue +71 -0
  63. package/components/metadata/GasTopup.vue +39 -0
  64. package/components/metadata/Permit2.vue +42 -0
  65. package/components/metadata/Signers.vue +63 -0
  66. package/components/metadata/Swap.vue +74 -0
  67. package/components/metadata/Transfer.vue +50 -0
  68. package/components.d.ts +13 -0
  69. package/contracts/Forwarder.ts +856 -2
  70. package/contracts/MultisigForwarder.ts +859 -0
  71. package/contracts/factories/Forwarder__factory.ts +816 -16
  72. package/contracts/factories/MultisigForwarder__factory.ts +721 -0
  73. package/contracts/factories/index.ts +1 -0
  74. package/contracts/index.ts +2 -0
  75. package/nuxt.config.ts +17 -1
  76. package/package.json +9 -4
  77. package/utils/avocado.ts +2 -0
  78. package/utils/bignumber.ts +20 -0
  79. package/utils/formatter.ts +49 -6
  80. package/utils/helper.ts +8 -0
  81. package/utils/metadata.ts +372 -134
  82. package/utils/network.ts +194 -49
  83. package/utils/services.ts +21 -0
  84. package/utils/utils.d.ts +128 -84
package/utils/network.ts CHANGED
@@ -1,36 +1,31 @@
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 = [1101];
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
- 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
18
  {
27
19
  name: "Polygon",
28
20
  debankName: "matic",
29
21
  ankrName: "polygon",
22
+ zerionName: "polygon",
23
+ color: "#7A4ADD",
30
24
  chainId: 137,
31
25
  balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
32
26
  usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
33
27
  explorerUrl: "https://polygonscan.com",
28
+ apiURL: "https://api.polygonscan.com",
34
29
  get serverRpcUrl() {
35
30
  return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
36
31
  },
@@ -48,10 +43,13 @@ export const networks: Network[] = [
48
43
  name: "Arbitrum",
49
44
  debankName: "arb",
50
45
  ankrName: "arbitrum",
46
+ zerionName: "arbitrum",
47
+ color: "#2D374B",
51
48
  chainId: 42161,
52
49
  usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
53
50
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
54
51
  explorerUrl: "https://arbiscan.io",
52
+ apiURL: "https://api.arbiscan.io",
55
53
  get serverRpcUrl() {
56
54
  return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
57
55
  },
@@ -65,11 +63,59 @@ export const networks: Network[] = [
65
63
  rpcUrls: ["https://arb1.arbitrum.io/rpc"],
66
64
  },
67
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
+ },
68
111
  {
69
112
  name: "Optimism",
70
113
  debankName: "op",
71
114
  ankrName: "optimism",
115
+ zerionName: "optimism",
116
+ color: "#FF0420",
72
117
  chainId: 10,
118
+ apiURL: "https://api-optimistic.etherscan.io",
73
119
  usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
74
120
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
75
121
  explorerUrl: "https://optimistic.etherscan.io",
@@ -83,36 +129,40 @@ export const networks: Network[] = [
83
129
  symbol: "ETH",
84
130
  decimals: 18,
85
131
  },
86
- rpcUrls: ["https://mainnet.optimism.io"],
132
+ rpcUrls: ["https://rpc.ankr.com/optimism"],
87
133
  },
88
134
  },
89
135
  {
90
- name: "Avalanche",
91
- debankName: "avax",
92
- ankrName: "avalanche",
93
- chainId: 43114,
94
- usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
95
- balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
96
- 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",
97
144
  get serverRpcUrl() {
98
- return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
145
+ return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
99
146
  },
100
147
  params: {
101
- chainName: "Avalanche Network",
148
+ chainName: "polygon zkEVM",
149
+ rpcUrls: ["https://zkevm-rpc.com"],
102
150
  nativeCurrency: {
103
- name: "Avalanche",
104
- symbol: "AVAX",
151
+ name: "Ethereum",
152
+ symbol: "ETH",
105
153
  decimals: 18,
106
154
  },
107
- rpcUrls: ["https://api.avax.network/ext/bc/C/rpc"],
108
155
  },
109
156
  },
110
157
  {
111
158
  name: "BSC",
112
159
  debankName: "bsc",
113
160
  ankrName: "bsc",
161
+ zerionName: "binance-smart-chain",
162
+ color: "#F3BA2F",
114
163
  chainId: 56,
115
164
  explorerUrl: "https://bscscan.com",
165
+ apiURL: "https://api.bscscan.com",
116
166
  usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
117
167
  balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
118
168
  get serverRpcUrl() {
@@ -128,13 +178,62 @@ export const networks: Network[] = [
128
178
  },
129
179
  },
130
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
+ },
131
227
  {
132
228
  name: "Gnosis",
133
229
  debankName: "xdai",
230
+ zerionName: "xdai",
231
+ color: "#04795C",
134
232
  ankrName: "gnosis",
135
233
  chainId: 100,
136
234
  balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
137
235
  explorerUrl: "https://gnosisscan.io",
236
+ apiURL: "https://api.gnosisscan.io",
138
237
  usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
139
238
  get serverRpcUrl() {
140
239
  return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
@@ -150,30 +249,53 @@ export const networks: Network[] = [
150
249
  },
151
250
  },
152
251
  {
153
- name: "Polygon zkEVM",
154
- chainId: 1101,
155
- explorerUrl: "https://zkevm.polygonscan.com",
156
- balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
157
- usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
252
+ name: "Aurora",
253
+ chainId: 1313161554,
254
+ zerionName: "aurora",
255
+ color: "#78d64b",
256
+ explorerUrl: "https://explorer.mainnet.aurora.dev",
158
257
  get serverRpcUrl() {
159
- return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
258
+ return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
160
259
  },
260
+ usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
261
+ balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
161
262
  params: {
162
- chainName: "polygon zkEVM",
163
- rpcUrls: ["https://rpc.ankr.com/polygon_zkevm"],
164
-
263
+ rpcUrls: ["https://mainnet.aurora.dev"],
264
+ chainName: "Aurora",
165
265
  nativeCurrency: {
166
- name: "Ethereum",
167
- symbol: "ETH",
168
266
  decimals: 18,
267
+ name: "Aurora ETH",
268
+ symbol: "AETH",
169
269
  },
170
270
  },
171
271
  },
272
+ // {
273
+ // name: "Fuse",
274
+ // chainId: 122,
275
+ // zerionName: "fuse",
276
+ // color: "#78d64b",
277
+ // explorerUrl: "https://explorer.fuse.io",
278
+ // get serverRpcUrl() {
279
+ // return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
280
+ // },
281
+ // usdcAddress: "",
282
+ // balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
283
+ // params: {
284
+ // rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
285
+ // chainName: "Fuse",
286
+ // nativeCurrency: {
287
+ // decimals: 18,
288
+ // name: "Fuse",
289
+ // symbol: "fuse",
290
+ // },
291
+ // },
292
+ // },
172
293
  {
173
294
  name: AVO_PROD_CHAIN_NAME,
174
295
  chainId: AVO_PROD_CHAIN_ID,
175
296
  isAvocado: true,
176
297
  balanceResolverAddress: "",
298
+ color: "#16A34A",
177
299
  usdcAddress: "",
178
300
  serverRpcUrl: AVO_PROD_RPC_URL,
179
301
  explorerUrl: AVO_PROD_EXPLORER_URL,
@@ -192,6 +314,7 @@ export const networks: Network[] = [
192
314
  name: AVO_STAGING_CHAIN_NAME,
193
315
  chainId: AVO_STAGING_CHAIN_ID,
194
316
  serverRpcUrl: AVO_STAGING_RPC_URL,
317
+ color: "#16A34A",
195
318
  explorerUrl: AVO_STAGING_EXPLORER_URL,
196
319
  isAvocado: true,
197
320
  balanceResolverAddress: "",
@@ -209,6 +332,25 @@ export const networks: Network[] = [
209
332
  },
210
333
  ];
211
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
+
212
354
  export const getNetworkByChainId = (
213
355
  chainId: ChainId | number | string
214
356
  ): Network => {
@@ -236,13 +378,16 @@ export const RPCMap = networks.reduce((acc, network) => {
236
378
 
237
379
  export const networkIds = networks.map((network) => network.chainId);
238
380
 
239
- const rpcInstances: Record<string, ethers.providers.JsonRpcProvider> = {};
240
- const serverRpcInstances: Record<string, ethers.providers.JsonRpcProvider> = {};
381
+ const rpcInstances: Record<string, ethers.providers.StaticJsonRpcProvider> = {};
382
+ const serverRpcInstances: Record<
383
+ string,
384
+ ethers.providers.StaticJsonRpcProvider
385
+ > = {};
241
386
 
242
387
  export const getServerRpcProvider = (chainId: number | string) => {
243
388
  if (!rpcInstances[chainId]) {
244
389
  const network = networks.find((n) => n.chainId == chainId);
245
- serverRpcInstances[chainId] = new ethers.providers.JsonRpcProvider(
390
+ serverRpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
246
391
  network?.serverRpcUrl
247
392
  );
248
393
  }
@@ -252,7 +397,7 @@ export const getServerRpcProvider = (chainId: number | string) => {
252
397
 
253
398
  export const getRpcProvider = (chainId: number | string) => {
254
399
  if (!rpcInstances[chainId]) {
255
- rpcInstances[chainId] = new ethers.providers.JsonRpcProvider(
400
+ rpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
256
401
  getRpcURLByChainId(Number(chainId))
257
402
  );
258
403
  }
@@ -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,88 +1,132 @@
1
- type ChainId = 1 | 137 | 42161 | 10 | 56 | 43114 | 100 | 1101 | 634 | 63400;
2
-
3
- type ISlackMessageType = "danger" | "error" | "success" | "banner";
4
-
5
- interface Network {
6
- name: string;
7
- debankName?: string;
8
- ankrName?: string;
9
- chainId: ChainId;
10
- isAvocado?: boolean;
11
- serverRpcUrl: string | undefined;
12
- balanceResolverAddress?: string;
13
- usdcAddress: string;
14
- explorerUrl: string;
15
- params: {
16
- chainName?: string;
17
- iconUrls?: string[];
18
- rpcUrls: string[];
19
- nativeCurrency?: {
20
- name: string;
21
- symbol: string;
22
- decimals: number;
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
+ };
23
48
  };
49
+ }
50
+
51
+ type SignMetadataProps = {
52
+ token: string;
53
+ spender: string;
54
+ amount: string;
55
+ expiration: string;
24
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
+ }
25
130
  }
26
131
 
27
- type SignMetadataProps = {
28
- token: string;
29
- spender: string;
30
- amount: string;
31
- expiration: string;
32
- };
33
-
34
- type DappMetadataProps = {
35
- name: string;
36
- url: string;
37
- };
38
-
39
- type SendMetadataProps = {
40
- token: string;
41
- amount: string;
42
- receiver: string;
43
- };
44
-
45
- type UpgradeMetadataProps = {
46
- version: string;
47
- walletImpl: string;
48
- };
49
-
50
- type TopupMetadataProps = {
51
- amount: string;
52
- token: string;
53
- onBehalf: string;
54
- };
55
-
56
- type BridgeMetadataProps = {
57
- amount: string;
58
- receiver: string;
59
- fromToken: string;
60
- toToken: string;
61
- toChainId: string;
62
- bridgeFee: string;
63
- nativeToken: string;
64
- };
65
-
66
- type SwapMetadataProps = {
67
- sellToken: string;
68
- buyToken: string;
69
- sellAmount: string;
70
- buyAmount: string;
71
- receiver: string;
72
- protocol?: string;
73
- };
74
-
75
- type MetadataProps = {
76
- type:
77
- | "transfer"
78
- | "bridge"
79
- | "swap"
80
- | "multi"
81
- | "gas-topup"
82
- | "upgrade"
83
- | "dapp"
84
- | "deploy"
85
- | "permit2";
86
- encodedData: string;
87
- version?: string;
88
- };
132
+ export {};