@instadapp/avocado-base 0.0.0-dev.fc86158 → 0.0.0-dev.fcdcc0f

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 (83) 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/info-2.svg +12 -0
  32. package/assets/images/icons/instadapp-pro.svg +4 -0
  33. package/assets/images/icons/logout.svg +3 -0
  34. package/assets/images/icons/moon.svg +3 -0
  35. package/assets/images/icons/multi-send.svg +7 -0
  36. package/assets/images/icons/network.svg +13 -0
  37. package/assets/images/icons/options.svg +5 -0
  38. package/assets/images/icons/permit-sign.svg +11 -0
  39. package/assets/images/icons/plus-circle.svg +6 -0
  40. package/assets/images/icons/plus.svg +5 -0
  41. package/assets/images/icons/power-off-bg.svg +24 -0
  42. package/assets/images/icons/power-off.svg +19 -0
  43. package/assets/images/icons/power-on.svg +19 -0
  44. package/assets/images/icons/qr.svg +20 -0
  45. package/assets/images/icons/question-circle.svg +14 -0
  46. package/assets/images/icons/refresh.svg +6 -0
  47. package/assets/images/icons/reject-proposal.svg +6 -0
  48. package/assets/images/icons/search.svg +12 -0
  49. package/assets/images/icons/sun.svg +3 -0
  50. package/assets/images/icons/transfer.svg +5 -0
  51. package/assets/images/icons/trash-2.svg +8 -0
  52. package/assets/images/icons/upgrade.svg +4 -0
  53. package/assets/images/icons/wave.svg +214 -0
  54. package/assets/images/icons/x.svg +5 -0
  55. package/components/ActionLogo.vue +38 -0
  56. package/components/ActionMetadata.vue +72 -0
  57. package/components/AuthorityAvatar.vue +38 -0
  58. package/components/ChainLogo.vue +14 -556
  59. package/components/CopyClipboard.vue +64 -0
  60. package/components/metadata/Bridge.vue +59 -0
  61. package/components/metadata/CrossTransfer.vue +71 -0
  62. package/components/metadata/GasTopup.vue +39 -0
  63. package/components/metadata/Permit2.vue +42 -0
  64. package/components/metadata/Signers.vue +62 -0
  65. package/components/metadata/Swap.vue +74 -0
  66. package/components/metadata/Transfer.vue +50 -0
  67. package/components.d.ts +13 -0
  68. package/contracts/Forwarder.ts +856 -2
  69. package/contracts/MultisigForwarder.ts +859 -0
  70. package/contracts/factories/Forwarder__factory.ts +816 -16
  71. package/contracts/factories/MultisigForwarder__factory.ts +721 -0
  72. package/contracts/factories/index.ts +1 -0
  73. package/contracts/index.ts +2 -0
  74. package/nuxt.config.ts +17 -1
  75. package/package.json +9 -4
  76. package/utils/avocado.ts +2 -0
  77. package/utils/bignumber.ts +20 -0
  78. package/utils/formatter.ts +49 -6
  79. package/utils/helper.ts +8 -0
  80. package/utils/metadata.ts +335 -133
  81. package/utils/network.ts +157 -82
  82. package/utils/services.ts +21 -0
  83. package/utils/utils.d.ts +129 -96
package/utils/network.ts CHANGED
@@ -1,36 +1,29 @@
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
13
  export const bridgeDisabledNetworks = [1101];
4
14
 
5
15
  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
16
  {
27
17
  name: "Polygon",
28
18
  debankName: "matic",
29
19
  ankrName: "polygon",
20
+ zerionName: "polygon",
21
+ color: "#7A4ADD",
30
22
  chainId: 137,
31
23
  balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
32
24
  usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
33
25
  explorerUrl: "https://polygonscan.com",
26
+ apiURL: 'https://api.polygonscan.com',
34
27
  get serverRpcUrl() {
35
28
  return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
36
29
  },
@@ -48,10 +41,13 @@ export const networks: Network[] = [
48
41
  name: "Arbitrum",
49
42
  debankName: "arb",
50
43
  ankrName: "arbitrum",
44
+ zerionName: "arbitrum",
45
+ color: "#2D374B",
51
46
  chainId: 42161,
52
47
  usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
53
48
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
54
49
  explorerUrl: "https://arbiscan.io",
50
+ apiURL: 'https://api.arbiscan.io',
55
51
  get serverRpcUrl() {
56
52
  return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
57
53
  },
@@ -65,11 +61,58 @@ export const networks: Network[] = [
65
61
  rpcUrls: ["https://arb1.arbitrum.io/rpc"],
66
62
  },
67
63
  },
64
+ {
65
+ name: "Ethereum",
66
+ debankName: "eth",
67
+ ankrName: "eth",
68
+ zerionName: "ethereum",
69
+ chainId: 1,
70
+ explorerUrl: "https://etherscan.io",
71
+ apiURL: 'https://api.etherscan.io',
72
+ color: "#5D5FEF",
73
+ get serverRpcUrl() {
74
+ return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
75
+ },
76
+ balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
77
+ usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
78
+ params: {
79
+ rpcUrls: ["https://rpc.ankr.com/eth"],
80
+ nativeCurrency: {
81
+ name: "Ethereum",
82
+ symbol: "ETH",
83
+ decimals: 18,
84
+ },
85
+ },
86
+ },
87
+ {
88
+ name: 'Base',
89
+ chainId: 8453,
90
+ color: '#1E2024',
91
+ explorerUrl: 'https://basescan.org',
92
+ apiURL: 'https://api.basescan.org',
93
+ get serverRpcUrl() {
94
+ return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
95
+ },
96
+ usdcAddress: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
97
+ balanceResolverAddress: '0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C',
98
+ params: {
99
+ rpcUrls: ['https://rpc.ankr.com/base'],
100
+ chainName: "Base",
101
+ nativeCurrency: {
102
+ name: "Ethereum",
103
+ symbol: "ETH",
104
+ decimals: 18,
105
+ },
106
+ }
107
+ },
68
108
  {
69
109
  name: "Optimism",
70
110
  debankName: "op",
71
111
  ankrName: "optimism",
112
+ zerionName: "optimism",
113
+ color: "#FF0420",
72
114
  chainId: 10,
115
+ apiURL: 'https://api-optimistic.etherscan.io',
73
116
  usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
74
117
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
75
118
  explorerUrl: "https://optimistic.etherscan.io",
@@ -87,32 +130,35 @@ export const networks: Network[] = [
87
130
  },
88
131
  },
89
132
  {
90
- name: "Avalanche",
91
- debankName: "avax",
92
- ankrName: "avalanche",
93
- chainId: 43114,
94
- usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
95
- balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
96
- explorerUrl: "https://snowtrace.io",
133
+ name: "Polygon zkEVM",
134
+ chainId: 1101,
135
+ color: "#8544f6",
136
+ explorerUrl: "https://zkevm.polygonscan.com",
137
+ apiURL: 'https://api-zkevm.polygonscan.com',
138
+ balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
139
+ usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
97
140
  get serverRpcUrl() {
98
- return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
141
+ return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
99
142
  },
100
143
  params: {
101
- chainName: "Avalanche Network",
144
+ chainName: "polygon zkEVM",
145
+ rpcUrls: ["https://zkevm-rpc.com"],
102
146
  nativeCurrency: {
103
- name: "Avalanche",
104
- symbol: "AVAX",
147
+ name: "Ethereum",
148
+ symbol: "ETH",
105
149
  decimals: 18,
106
150
  },
107
- rpcUrls: ["https://api.avax.network/ext/bc/C/rpc"],
108
151
  },
109
152
  },
110
153
  {
111
154
  name: "BSC",
112
155
  debankName: "bsc",
113
156
  ankrName: "bsc",
157
+ zerionName: "binance-smart-chain",
158
+ color: "#F3BA2F",
114
159
  chainId: 56,
115
160
  explorerUrl: "https://bscscan.com",
161
+ apiURL: 'https://api.bscscan.com',
116
162
  usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
117
163
  balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
118
164
  get serverRpcUrl() {
@@ -128,13 +174,61 @@ export const networks: Network[] = [
128
174
  },
129
175
  },
130
176
  },
177
+ {
178
+ name: "Avalanche",
179
+ debankName: "avax",
180
+ ankrName: "avalanche",
181
+ zerionName: "avalanche",
182
+ color: "#EB5757",
183
+ chainId: 43114,
184
+ usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
185
+ balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
186
+ explorerUrl: "https://snowtrace.io",
187
+ apiURL: 'https://api.snowtrace.io',
188
+ get serverRpcUrl() {
189
+ return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
190
+ },
191
+ params: {
192
+ chainName: "Avalanche Network",
193
+ nativeCurrency: {
194
+ name: "Avalanche",
195
+ symbol: "AVAX",
196
+ decimals: 18,
197
+ },
198
+ rpcUrls: ["https://rpc.ankr.com/avalanche"],
199
+ },
200
+ },
201
+ {
202
+ name: "Fantom",
203
+ chainId: 250,
204
+ zerionName: "fantom",
205
+ explorerUrl: "https://ftmscan.com",
206
+ ankrName: "fantom",
207
+ color: "#1969ff",
208
+ get serverRpcUrl() {
209
+ return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
210
+ },
211
+ usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
212
+ balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
213
+ params: {
214
+ rpcUrls: ["https://rpc.ankr.com/fantom"],
215
+ chainName: "Fantom",
216
+ nativeCurrency: {
217
+ name: "Fantom",
218
+ symbol: "FTM",
219
+ decimals: 18,
220
+ },
221
+ },
222
+ },
131
223
  {
132
224
  name: "Gnosis",
133
225
  debankName: "xdai",
134
- ankrName: "gnosis",
226
+ zerionName: "xdai",
227
+ color: "#04795C",
135
228
  chainId: 100,
136
229
  balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
137
230
  explorerUrl: "https://gnosisscan.io",
231
+ apiURL:'https://api.gnosisscan.io',
138
232
  usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
139
233
  get serverRpcUrl() {
140
234
  return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
@@ -150,68 +244,32 @@ export const networks: Network[] = [
150
244
  },
151
245
  },
152
246
  {
153
- name: "Polygon zkEVM",
154
- chainId: 1101,
155
- explorerUrl: "https://zkevm.polygonscan.com",
156
- balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
157
- usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
247
+ name: "Aurora",
248
+ chainId: 1313161554,
249
+ zerionName: "aurora",
250
+ color: "#78d64b",
251
+ explorerUrl: "https://explorer.mainnet.aurora.dev",
158
252
  get serverRpcUrl() {
159
- return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
253
+ return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
160
254
  },
255
+ usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
256
+ balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
161
257
  params: {
162
- chainName: "polygon zkEVM",
163
- rpcUrls: ["https://rpc.ankr.com/polygon_zkevm"],
164
-
258
+ rpcUrls: ["https://mainnet.aurora.dev"],
259
+ chainName: "Aurora",
165
260
  nativeCurrency: {
166
- name: "Ethereum",
167
- symbol: "ETH",
168
261
  decimals: 18,
262
+ name: "Aurora ETH",
263
+ symbol: "AETH",
169
264
  },
170
265
  },
171
266
  },
172
- // {
173
- // name: "Aurora",
174
- // chainId: 1313161554,
175
- // explorerUrl: "https://explorer.mainnet.aurora.dev",
176
- // get serverRpcUrl() {
177
- // return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
178
- // },
179
- // usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
180
- // balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
181
- // params: {
182
- // rpcUrls: ["https://mainnet.aurora.dev"],
183
- // chainName: "Aurora",
184
- // nativeCurrency: {
185
- // decimals: 18,
186
- // name: "Aurora ETH",
187
- // symbol: "AETH",
188
- // },
189
- // },
190
- // },
191
- // {
192
- // name: "Fantom",
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",
203
- // nativeCurrency: {
204
- // name: "Fantom",
205
- // symbol: "FTM",
206
- // decimals: 18,
207
- // },
208
- // },
209
- // },
210
267
  {
211
268
  name: AVO_PROD_CHAIN_NAME,
212
269
  chainId: AVO_PROD_CHAIN_ID,
213
270
  isAvocado: true,
214
271
  balanceResolverAddress: "",
272
+ color: "#16A34A",
215
273
  usdcAddress: "",
216
274
  serverRpcUrl: AVO_PROD_RPC_URL,
217
275
  explorerUrl: AVO_PROD_EXPLORER_URL,
@@ -230,6 +288,7 @@ export const networks: Network[] = [
230
288
  name: AVO_STAGING_CHAIN_NAME,
231
289
  chainId: AVO_STAGING_CHAIN_ID,
232
290
  serverRpcUrl: AVO_STAGING_RPC_URL,
291
+ color: "#16A34A",
233
292
  explorerUrl: AVO_STAGING_EXPLORER_URL,
234
293
  isAvocado: true,
235
294
  balanceResolverAddress: "",
@@ -247,6 +306,22 @@ export const networks: Network[] = [
247
306
  },
248
307
  ];
249
308
 
309
+ export const chainUsdcAddresses = [
310
+ { chainId: 1, address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' },
311
+ { chainId: 10, address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607' },
312
+ { chainId: 56, address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d' },
313
+ { chainId: 100, address: '0xddafbb505ad214d7b80b1f830fccc89b60fb7a83' },
314
+ { chainId: 137, address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174' },
315
+ { chainId: 250, address: '0x04068da6c83afcfa0e13ba15a6696662335d5b75' },
316
+ { chainId: 42161, address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8' },
317
+ { chainId: 42161, address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' },
318
+ { chainId: 43114, address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' },
319
+ { chainId: 43114, address: '0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664' },
320
+ { chainId: 1101, address: '0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035' },
321
+ { chainId: 1313161554, address: '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802' },
322
+ { chainId: 8453, address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA'}
323
+ ];
324
+
250
325
  export const getNetworkByChainId = (
251
326
  chainId: ChainId | number | string
252
327
  ): 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,133 @@
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
+ | 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
+ apiURL?: string;
38
+ params: {
39
+ chainName?: string;
40
+ iconUrls?: string[];
41
+ rpcUrls: string[];
42
+ nativeCurrency?: {
43
+ name: string;
44
+ symbol: string;
45
+ decimals: number;
46
+ };
35
47
  };
48
+ }
49
+
50
+ type SignMetadataProps = {
51
+ token: string;
52
+ spender: string;
53
+ amount: string;
54
+ expiration: string;
55
+ };
56
+
57
+ type DappMetadataProps = {
58
+ name: string;
59
+ url: string;
60
+ };
61
+
62
+ type SendMetadataProps = {
63
+ token: string;
64
+ amount: string;
65
+ receiver: string;
66
+ };
67
+
68
+ type CrossSendMetadataProps = {
69
+ fromToken: string;
70
+ toToken: string;
71
+ toChainId: string;
72
+ amount: string;
73
+ receiver: string;
74
+ };
75
+
76
+ type AuthMetadataProps = {
77
+ address: string;
78
+ chainId: string;
79
+ remove: boolean;
36
80
  };
81
+
82
+ type UpgradeMetadataProps = {
83
+ version: string;
84
+ walletImpl: string;
85
+ };
86
+
87
+ type TopupMetadataProps = {
88
+ amount: string;
89
+ token: string;
90
+ onBehalf: string;
91
+ };
92
+
93
+ type BridgeMetadataProps = {
94
+ amount: string;
95
+ receiver: string;
96
+ fromToken: string;
97
+ toToken: string;
98
+ toChainId: string;
99
+ bridgeFee: string;
100
+ nativeToken: string;
101
+ };
102
+
103
+ type SwapMetadataProps = {
104
+ sellToken: string;
105
+ buyToken: string;
106
+ sellAmount: string;
107
+ buyAmount: string;
108
+ receiver: string;
109
+ protocol?: string;
110
+ };
111
+
112
+ type MetadataProps = {
113
+ type: MetadataTypes,
114
+ encodedData: string;
115
+ version?: string;
116
+ };
117
+
118
+ interface ITokenPrice {
119
+ address: string;
120
+ chain_id: string;
121
+ name: string;
122
+ symbol: string;
123
+ decimals: number;
124
+ logo_url: string;
125
+ price: string;
126
+ coingecko_id: string;
127
+ sparkline_price_7d: number[];
128
+ }
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 { }
133
+