@instadapp/avocado-base 0.0.0-dev.2b4b2a8 → 0.0.0-dev.2bb2029

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