@instadapp/avocado-base 0.0.0-dev.637be1b → 0.0.0-dev.66e8334

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 (77) 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/instadapp-pro.svg +4 -0
  31. package/assets/images/icons/logout.svg +3 -0
  32. package/assets/images/icons/moon.svg +3 -0
  33. package/assets/images/icons/multi-send.svg +7 -0
  34. package/assets/images/icons/network.svg +13 -0
  35. package/assets/images/icons/options.svg +5 -0
  36. package/assets/images/icons/permit-sign.svg +11 -0
  37. package/assets/images/icons/plus-circle.svg +6 -0
  38. package/assets/images/icons/plus.svg +5 -0
  39. package/assets/images/icons/power-off-bg.svg +24 -0
  40. package/assets/images/icons/power-off.svg +19 -0
  41. package/assets/images/icons/power-on.svg +19 -0
  42. package/assets/images/icons/qr.svg +20 -0
  43. package/assets/images/icons/question-circle.svg +14 -0
  44. package/assets/images/icons/refresh.svg +6 -0
  45. package/assets/images/icons/reject-proposal.svg +6 -0
  46. package/assets/images/icons/search.svg +12 -0
  47. package/assets/images/icons/sun.svg +3 -0
  48. package/assets/images/icons/transfer.svg +5 -0
  49. package/assets/images/icons/trash-2.svg +8 -0
  50. package/assets/images/icons/upgrade.svg +4 -0
  51. package/assets/images/icons/wave.svg +214 -0
  52. package/assets/images/icons/x.svg +5 -0
  53. package/components/ActionLogo.vue +38 -0
  54. package/components/ActionMetadata.vue +72 -0
  55. package/components/AuthorityAvatar.vue +26 -0
  56. package/components/ChainLogo.vue +5 -563
  57. package/components/CopyClipboard.vue +64 -0
  58. package/components/metadata/Bridge.vue +59 -0
  59. package/components/metadata/CrossTransfer.vue +71 -0
  60. package/components/metadata/GasTopup.vue +39 -0
  61. package/components/metadata/Permit2.vue +42 -0
  62. package/components/metadata/Signers.vue +45 -0
  63. package/components/metadata/Swap.vue +74 -0
  64. package/components/metadata/Transfer.vue +50 -0
  65. package/components.d.ts +13 -0
  66. package/contracts/Forwarder.ts +856 -2
  67. package/contracts/factories/Forwarder__factory.ts +816 -16
  68. package/nuxt.config.ts +17 -1
  69. package/package.json +9 -4
  70. package/utils/avocado.ts +2 -0
  71. package/utils/bignumber.ts +20 -0
  72. package/utils/formatter.ts +22 -13
  73. package/utils/helper.ts +19 -0
  74. package/utils/metadata.ts +343 -133
  75. package/utils/network.ts +143 -86
  76. package/utils/services.ts +21 -0
  77. package/utils/utils.d.ts +128 -97
package/utils/network.ts CHANGED
@@ -1,34 +1,24 @@
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",
@@ -51,6 +41,7 @@ export const networks: Network[] = [
51
41
  debankName: "arb",
52
42
  ankrName: "arbitrum",
53
43
  zerionName: "arbitrum",
44
+ color: "#2D374B",
54
45
  chainId: 42161,
55
46
  usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
56
47
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
@@ -68,11 +59,54 @@ export const networks: Network[] = [
68
59
  rpcUrls: ["https://arb1.arbitrum.io/rpc"],
69
60
  },
70
61
  },
62
+ {
63
+ name: "Ethereum",
64
+ debankName: "eth",
65
+ ankrName: "eth",
66
+ zerionName: "ethereum",
67
+ chainId: 1,
68
+ explorerUrl: "https://etherscan.io",
69
+ color: "#5D5FEF",
70
+ get serverRpcUrl() {
71
+ return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
72
+ },
73
+ balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
74
+ usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
75
+ params: {
76
+ rpcUrls: ["https://rpc.ankr.com/eth"],
77
+ nativeCurrency: {
78
+ name: "Ethereum",
79
+ symbol: "ETH",
80
+ decimals: 18,
81
+ },
82
+ },
83
+ },
84
+ {
85
+ name: 'Base',
86
+ chainId: 8453,
87
+ color: '#1E2024',
88
+ explorerUrl: 'https://basescan.org',
89
+ get serverRpcUrl() {
90
+ return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
91
+ },
92
+ usdcAddress: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
93
+ balanceResolverAddress: '0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C',
94
+ params: {
95
+ rpcUrls: ['https://rpc.ankr.com/base'],
96
+ chainName: "Base",
97
+ nativeCurrency: {
98
+ name: "Ethereum",
99
+ symbol: "ETH",
100
+ decimals: 18,
101
+ },
102
+ }
103
+ },
71
104
  {
72
105
  name: "Optimism",
73
106
  debankName: "op",
74
107
  ankrName: "optimism",
75
108
  zerionName: "optimism",
109
+ color: "#FF0420",
76
110
  chainId: 10,
77
111
  usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
78
112
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
@@ -91,25 +125,23 @@ export const networks: Network[] = [
91
125
  },
92
126
  },
93
127
  {
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",
128
+ name: "Polygon zkEVM",
129
+ chainId: 1101,
130
+ color: "#8544f6",
131
+ explorerUrl: "https://zkevm.polygonscan.com",
132
+ balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
133
+ usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
102
134
  get serverRpcUrl() {
103
- return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
135
+ return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
104
136
  },
105
137
  params: {
106
- chainName: "Avalanche Network",
138
+ chainName: "polygon zkEVM",
139
+ rpcUrls: ["https://zkevm-rpc.com"],
107
140
  nativeCurrency: {
108
- name: "Avalanche",
109
- symbol: "AVAX",
141
+ name: "Ethereum",
142
+ symbol: "ETH",
110
143
  decimals: 18,
111
144
  },
112
- rpcUrls: ["https://api.avax.network/ext/bc/C/rpc"],
113
145
  },
114
146
  },
115
147
  {
@@ -117,6 +149,7 @@ export const networks: Network[] = [
117
149
  debankName: "bsc",
118
150
  ankrName: "bsc",
119
151
  zerionName: "binance-smart-chain",
152
+ color: "#F3BA2F",
120
153
  chainId: 56,
121
154
  explorerUrl: "https://bscscan.com",
122
155
  usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
@@ -135,72 +168,35 @@ export const networks: Network[] = [
135
168
  },
136
169
  },
137
170
  {
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",
171
+ name: "Avalanche",
172
+ debankName: "avax",
173
+ ankrName: "avalanche",
174
+ zerionName: "avalanche",
175
+ color: "#EB5757",
176
+ chainId: 43114,
177
+ usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
178
+ balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
179
+ explorerUrl: "https://snowtrace.io",
164
180
  get serverRpcUrl() {
165
- return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
181
+ return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
166
182
  },
167
183
  params: {
168
- chainName: "polygon zkEVM",
169
- rpcUrls: ["https://rpc.ankr.com/polygon_zkevm"],
170
-
184
+ chainName: "Avalanche Network",
171
185
  nativeCurrency: {
172
- name: "Ethereum",
173
- symbol: "ETH",
186
+ name: "Avalanche",
187
+ symbol: "AVAX",
174
188
  decimals: 18,
175
189
  },
190
+ rpcUrls: ["https://rpc.ankr.com/avalanche"],
176
191
  },
177
192
  },
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
193
  {
199
194
  name: "Fantom",
200
195
  chainId: 250,
201
196
  zerionName: "fantom",
202
197
  explorerUrl: "https://ftmscan.com",
203
198
  ankrName: "fantom",
199
+ color: "#1969ff",
204
200
  get serverRpcUrl() {
205
201
  return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
206
202
  },
@@ -216,11 +212,55 @@ export const networks: Network[] = [
216
212
  },
217
213
  },
218
214
  },
215
+ {
216
+ name: "Gnosis",
217
+ debankName: "xdai",
218
+ zerionName: "xdai",
219
+ color: "#04795C",
220
+ chainId: 100,
221
+ balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
222
+ explorerUrl: "https://gnosisscan.io",
223
+ usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
224
+ get serverRpcUrl() {
225
+ return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
226
+ },
227
+ params: {
228
+ chainName: "Gnosis Safe",
229
+ rpcUrls: ["https://rpc.ankr.com/gnosis"],
230
+ nativeCurrency: {
231
+ name: "xdaistable",
232
+ symbol: "xDAI",
233
+ decimals: 18,
234
+ },
235
+ },
236
+ },
237
+ {
238
+ name: "Aurora",
239
+ chainId: 1313161554,
240
+ zerionName: "aurora",
241
+ color: "#78d64b",
242
+ explorerUrl: "https://explorer.mainnet.aurora.dev",
243
+ get serverRpcUrl() {
244
+ return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
245
+ },
246
+ usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
247
+ balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
248
+ params: {
249
+ rpcUrls: ["https://mainnet.aurora.dev"],
250
+ chainName: "Aurora",
251
+ nativeCurrency: {
252
+ decimals: 18,
253
+ name: "Aurora ETH",
254
+ symbol: "AETH",
255
+ },
256
+ },
257
+ },
219
258
  {
220
259
  name: AVO_PROD_CHAIN_NAME,
221
260
  chainId: AVO_PROD_CHAIN_ID,
222
261
  isAvocado: true,
223
262
  balanceResolverAddress: "",
263
+ color: "#16A34A",
224
264
  usdcAddress: "",
225
265
  serverRpcUrl: AVO_PROD_RPC_URL,
226
266
  explorerUrl: AVO_PROD_EXPLORER_URL,
@@ -239,6 +279,7 @@ export const networks: Network[] = [
239
279
  name: AVO_STAGING_CHAIN_NAME,
240
280
  chainId: AVO_STAGING_CHAIN_ID,
241
281
  serverRpcUrl: AVO_STAGING_RPC_URL,
282
+ color: "#16A34A",
242
283
  explorerUrl: AVO_STAGING_EXPLORER_URL,
243
284
  isAvocado: true,
244
285
  balanceResolverAddress: "",
@@ -256,6 +297,22 @@ export const networks: Network[] = [
256
297
  },
257
298
  ];
258
299
 
300
+ export const chainUsdcAddresses = [
301
+ { chainId: 1, address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' },
302
+ { chainId: 10, address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607' },
303
+ { chainId: 56, address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d' },
304
+ { chainId: 100, address: '0xddafbb505ad214d7b80b1f830fccc89b60fb7a83' },
305
+ { chainId: 137, address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174' },
306
+ { chainId: 250, address: '0x04068da6c83afcfa0e13ba15a6696662335d5b75' },
307
+ { chainId: 42161, address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8' },
308
+ { chainId: 42161, address: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' },
309
+ { chainId: 43114, address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' },
310
+ { chainId: 43114, address: '0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664' },
311
+ { chainId: 1101, address: '0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035' },
312
+ { chainId: 1313161554, address: '0xB12BFcA5A55806AaF64E99521918A4bf0fC40802' },
313
+ { chainId: 8453, address: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA'}
314
+ ];
315
+
259
316
  export const getNetworkByChainId = (
260
317
  chainId: ChainId | number | string
261
318
  ): 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,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
- 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
+ params: {
38
+ chainName?: string;
39
+ iconUrls?: string[];
40
+ rpcUrls: string[];
41
+ nativeCurrency?: {
42
+ name: string;
43
+ symbol: string;
44
+ decimals: number;
45
+ };
36
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;
37
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
+
38
129
  }
39
130
 
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
- };
131
+ export { }
132
+