@instadapp/avocado-base 0.0.0-dev.4daadee → 0.0.0-dev.50ceb02

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 +81 -0
  58. package/components/AuthorityAvatar.vue +38 -0
  59. package/components/ChainLogo.vue +14 -556
  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 +381 -134
  82. package/utils/network.ts +176 -73
  83. package/utils/services.ts +21 -0
  84. package/utils/utils.d.ts +128 -96
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",
@@ -87,32 +133,36 @@ export const networks: Network[] = [
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,69 +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
  },
172
272
  // {
173
- // name: "Aurora",
174
- // chainId: 1313161554,
175
- // explorerUrl: "https://explorer.mainnet.aurora.dev",
273
+ // name: "Fuse",
274
+ // chainId: 122,
275
+ // zerionName: "fuse",
276
+ // color: "#78d64b",
277
+ // explorerUrl: "https://explorer.fuse.io",
176
278
  // get serverRpcUrl() {
177
- // return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
279
+ // return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
178
280
  // },
179
- // usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
281
+ // usdcAddress: "",
180
282
  // balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
181
283
  // params: {
182
- // rpcUrls: ["https://mainnet.aurora.dev"],
183
- // chainName: "Aurora",
284
+ // rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
285
+ // chainName: "Fuse",
184
286
  // nativeCurrency: {
185
287
  // decimals: 18,
186
- // name: "Aurora ETH",
187
- // symbol: "AETH",
288
+ // name: "Fuse",
289
+ // symbol: "fuse",
188
290
  // },
189
291
  // },
190
292
  // },
191
- {
192
- name: "Fantom",
193
- chainId: 250,
194
- explorerUrl: "https://ftmscan.com",
195
- ankrName: "fantom",
196
- get serverRpcUrl() {
197
- return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
198
- },
199
- usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
200
- balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
201
- params: {
202
- rpcUrls: ["https://rpc.ankr.com/fantom"],
203
- chainName: "Fantom",
204
- nativeCurrency: {
205
- name: "Fantom",
206
- symbol: "FTM",
207
- decimals: 18,
208
- },
209
- },
210
- },
211
293
  {
212
294
  name: AVO_PROD_CHAIN_NAME,
213
295
  chainId: AVO_PROD_CHAIN_ID,
214
296
  isAvocado: true,
215
297
  balanceResolverAddress: "",
298
+ color: "#16A34A",
216
299
  usdcAddress: "",
217
300
  serverRpcUrl: AVO_PROD_RPC_URL,
218
301
  explorerUrl: AVO_PROD_EXPLORER_URL,
@@ -231,6 +314,7 @@ export const networks: Network[] = [
231
314
  name: AVO_STAGING_CHAIN_NAME,
232
315
  chainId: AVO_STAGING_CHAIN_ID,
233
316
  serverRpcUrl: AVO_STAGING_RPC_URL,
317
+ color: "#16A34A",
234
318
  explorerUrl: AVO_STAGING_EXPLORER_URL,
235
319
  isAvocado: true,
236
320
  balanceResolverAddress: "",
@@ -248,6 +332,25 @@ export const networks: Network[] = [
248
332
  },
249
333
  ];
250
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
+
251
354
  export const getNetworkByChainId = (
252
355
  chainId: ChainId | number | string
253
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,100 +1,132 @@
1
- type ChainId =
2
- | 1
3
- | 137
4
- | 42161
5
- | 10
6
- | 56
7
- | 43114
8
- | 100
9
- | 1101
10
- | 250
11
- | 634
12
- | 1313161554
13
- | 63400;
14
-
15
- type ISlackMessageType = "danger" | "error" | "success" | "banner";
16
-
17
- interface Network {
18
- name: string;
19
- debankName?: string;
20
- ankrName?: string;
21
- chainId: ChainId;
22
- isAvocado?: boolean;
23
- serverRpcUrl: string | undefined;
24
- balanceResolverAddress?: string;
25
- usdcAddress: string;
26
- explorerUrl: string;
27
- params: {
28
- chainName?: string;
29
- iconUrls?: string[];
30
- rpcUrls: string[];
31
- nativeCurrency?: {
32
- name: string;
33
- symbol: string;
34
- 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
+ };
35
48
  };
49
+ }
50
+
51
+ type SignMetadataProps = {
52
+ token: string;
53
+ spender: string;
54
+ amount: string;
55
+ expiration: string;
36
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
+ }
37
130
  }
38
131
 
39
- type SignMetadataProps = {
40
- token: string;
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
- };
132
+ export {};