@instadapp/avocado-base 0.0.0-dev.822475d → 0.0.0-dev.8596b31

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 (41) hide show
  1. package/abi/multisigForwarder.json +697 -0
  2. package/app.vue +7 -0
  3. package/assets/images/icons/change-threshold.svg +4 -0
  4. package/assets/images/icons/cross-transfer.svg +7 -0
  5. package/assets/images/icons/dapp.svg +4 -0
  6. package/assets/images/icons/deploy.svg +12 -0
  7. package/assets/images/icons/gas.svg +12 -5
  8. package/assets/images/icons/hammer.svg +5 -0
  9. package/assets/images/icons/info-2.svg +12 -0
  10. package/assets/images/icons/instadapp-pro.svg +4 -0
  11. package/assets/images/icons/multi-send.svg +7 -0
  12. package/assets/images/icons/permit-sign.svg +11 -0
  13. package/assets/images/icons/plus-circle.svg +6 -0
  14. package/assets/images/icons/refresh.svg +4 -4
  15. package/assets/images/icons/reject-proposal.svg +6 -0
  16. package/assets/images/icons/transfer.svg +5 -0
  17. package/assets/images/icons/trash-2.svg +8 -0
  18. package/assets/images/icons/upgrade.svg +4 -0
  19. package/components/ActionLogo.vue +40 -0
  20. package/components/ActionMetadata.vue +45 -17
  21. package/components/AuthorityAvatar.vue +38 -0
  22. package/components/ChainLogo.vue +14 -556
  23. package/components/CopyClipboard.vue +64 -0
  24. package/components/metadata/Bridge.vue +30 -8
  25. package/components/metadata/CrossTransfer.vue +19 -5
  26. package/components/metadata/GasTopup.vue +10 -2
  27. package/components/metadata/Permit2.vue +6 -1
  28. package/components/metadata/Signers.vue +63 -0
  29. package/components/metadata/Swap.vue +12 -4
  30. package/components/metadata/Transfer.vue +14 -7
  31. package/contracts/MultisigForwarder.ts +859 -0
  32. package/contracts/factories/MultisigForwarder__factory.ts +721 -0
  33. package/contracts/factories/index.ts +1 -0
  34. package/contracts/index.ts +2 -0
  35. package/package.json +5 -3
  36. package/utils/formatter.ts +1 -1
  37. package/utils/helper.ts +8 -0
  38. package/utils/metadata.ts +248 -133
  39. package/utils/network.ts +197 -74
  40. package/utils/services.ts +8 -1
  41. package/utils/utils.d.ts +130 -126
package/utils/network.ts CHANGED
@@ -1,30 +1,20 @@
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: "Ethereum",
8
- debankName: "eth",
9
- ankrName: "eth",
10
- zerionName: "ethereum",
11
- chainId: 1,
12
- explorerUrl: "https://etherscan.io",
13
- color: "#5D5FEF",
14
- get serverRpcUrl() {
15
- return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
16
- },
17
- balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
18
- usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
19
- params: {
20
- rpcUrls: ["https://rpc.ankr.com/eth"],
21
- nativeCurrency: {
22
- name: "Ethereum",
23
- symbol: "ETH",
24
- decimals: 18,
25
- },
26
- },
27
- },
28
18
  {
29
19
  name: "Polygon",
30
20
  debankName: "matic",
@@ -35,6 +25,7 @@ export const networks: Network[] = [
35
25
  balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
36
26
  usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
37
27
  explorerUrl: "https://polygonscan.com",
28
+ apiURL: "https://api.polygonscan.com",
38
29
  get serverRpcUrl() {
39
30
  return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
40
31
  },
@@ -58,6 +49,7 @@ export const networks: Network[] = [
58
49
  usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
59
50
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
60
51
  explorerUrl: "https://arbiscan.io",
52
+ apiURL: "https://api.arbiscan.io",
61
53
  get serverRpcUrl() {
62
54
  return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
63
55
  },
@@ -71,6 +63,51 @@ export const networks: Network[] = [
71
63
  rpcUrls: ["https://arb1.arbitrum.io/rpc"],
72
64
  },
73
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
+ },
74
111
  {
75
112
  name: "Optimism",
76
113
  debankName: "op",
@@ -78,6 +115,7 @@ export const networks: Network[] = [
78
115
  zerionName: "optimism",
79
116
  color: "#FF0420",
80
117
  chainId: 10,
118
+ apiURL: "https://api-optimistic.etherscan.io",
81
119
  usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
82
120
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
83
121
  explorerUrl: "https://optimistic.etherscan.io",
@@ -95,26 +133,25 @@ export const networks: Network[] = [
95
133
  },
96
134
  },
97
135
  {
98
- name: "Avalanche",
99
- debankName: "avax",
100
- ankrName: "avalanche",
101
- zerionName: "avalanche",
102
- color: "#EB5757",
103
- chainId: 43114,
104
- usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
105
- balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
106
- 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",
107
144
  get serverRpcUrl() {
108
- return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
145
+ return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
109
146
  },
110
147
  params: {
111
- chainName: "Avalanche Network",
148
+ chainName: "polygon zkEVM",
149
+ rpcUrls: ["https://zkevm-rpc.com"],
112
150
  nativeCurrency: {
113
- name: "Avalanche",
114
- symbol: "AVAX",
151
+ name: "Ethereum",
152
+ symbol: "ETH",
115
153
  decimals: 18,
116
154
  },
117
- rpcUrls: ["https://rpc.ankr.com/avalanche"],
118
155
  },
119
156
  },
120
157
  {
@@ -125,6 +162,7 @@ export const networks: Network[] = [
125
162
  color: "#F3BA2F",
126
163
  chainId: 56,
127
164
  explorerUrl: "https://bscscan.com",
165
+ apiURL: "https://api.bscscan.com",
128
166
  usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
129
167
  balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
130
168
  get serverRpcUrl() {
@@ -140,14 +178,62 @@ export const networks: Network[] = [
140
178
  },
141
179
  },
142
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
+ },
143
227
  {
144
228
  name: "Gnosis",
145
229
  debankName: "xdai",
146
230
  zerionName: "xdai",
147
231
  color: "#04795C",
232
+ ankrName: "gnosis",
148
233
  chainId: 100,
149
234
  balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
150
235
  explorerUrl: "https://gnosisscan.io",
236
+ apiURL: "https://api.gnosisscan.io",
151
237
  usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
152
238
  get serverRpcUrl() {
153
239
  return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
@@ -162,27 +248,6 @@ export const networks: Network[] = [
162
248
  },
163
249
  },
164
250
  },
165
- {
166
- name: "Polygon zkEVM",
167
- chainId: 1101,
168
- color: "#8544f6",
169
- explorerUrl: "https://zkevm.polygonscan.com",
170
- balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
171
- usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
172
- get serverRpcUrl() {
173
- return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
174
- },
175
- params: {
176
- chainName: "polygon zkEVM",
177
- rpcUrls: ["https://zkevm-rpc.com"],
178
-
179
- nativeCurrency: {
180
- name: "Ethereum",
181
- symbol: "ETH",
182
- decimals: 18,
183
- },
184
- },
185
- },
186
251
  {
187
252
  name: "Aurora",
188
253
  chainId: 1313161554,
@@ -205,23 +270,58 @@ export const networks: Network[] = [
205
270
  },
206
271
  },
207
272
  {
208
- name: "Fantom",
209
- chainId: 250,
210
- zerionName: "fantom",
211
- explorerUrl: "https://ftmscan.com",
212
- ankrName: "fantom",
213
- color: "#1969ff",
273
+ name: "Fuse",
274
+ chainId: 122,
275
+ zerionName: "fuse",
276
+ color: "#78d64b",
277
+ explorerUrl: "https://explorer.fuse.io",
214
278
  get serverRpcUrl() {
215
- return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
279
+ return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
216
280
  },
217
- usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
218
- balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
281
+ usdcAddress: "",
282
+ balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
219
283
  params: {
220
- rpcUrls: ["https://rpc.ankr.com/fantom"],
221
- chainName: "Fantom",
284
+ rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
285
+ chainName: "Fuse",
222
286
  nativeCurrency: {
223
- name: "Fantom",
224
- symbol: "FTM",
287
+ decimals: 18,
288
+ name: "Fuse",
289
+ symbol: "fuse",
290
+ },
291
+ },
292
+ },
293
+ {
294
+ name: "Scroll",
295
+ chainId: 534352,
296
+ color: "#78d64b",
297
+ explorerUrl: "https://scrollscan.com",
298
+ get serverRpcUrl() {
299
+ return process.env?.SCROLL_RPC_URL || this.params.rpcUrls[0];
300
+ },
301
+ params: {
302
+ rpcUrls: ["https://rpc.scroll.io"],
303
+ chainName: "Scroll",
304
+ nativeCurrency: {
305
+ name: "Ethereum",
306
+ symbol: "ETH",
307
+ decimals: 18,
308
+ },
309
+ },
310
+ },
311
+ {
312
+ name: "opBNB",
313
+ chainId: 204,
314
+ color: "#78d64b",
315
+ explorerUrl: "https://opbnbscan.com",
316
+ get serverRpcUrl() {
317
+ return process.env?.OPBNB_RPC_URL || this.params.rpcUrls[0];
318
+ },
319
+ params: {
320
+ rpcUrls: ["https://opbnb-mainnet-rpc.bnbchain.org"],
321
+ chainName: "opBNB",
322
+ nativeCurrency: {
323
+ name: "BNB",
324
+ symbol: "BNB",
225
325
  decimals: 18,
226
326
  },
227
327
  },
@@ -268,6 +368,25 @@ export const networks: Network[] = [
268
368
  },
269
369
  ];
270
370
 
371
+ export const chainUsdcAddresses = [
372
+ { chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
373
+ { chainId: 10, address: "0x7f5c764cbc14f9669b88837ca1490cca17c31607" },
374
+ { chainId: 56, address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" },
375
+ { chainId: 100, address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83" },
376
+ { chainId: 137, address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" },
377
+ { chainId: 250, address: "0x04068da6c83afcfa0e13ba15a6696662335d5b75" },
378
+ { chainId: 42161, address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" },
379
+ { chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" },
380
+ { chainId: 43114, address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e" },
381
+ { chainId: 43114, address: "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664" },
382
+ { chainId: 1101, address: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035" },
383
+ {
384
+ chainId: 1313161554,
385
+ address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
386
+ },
387
+ { chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
388
+ ];
389
+
271
390
  export const getNetworkByChainId = (
272
391
  chainId: ChainId | number | string
273
392
  ): Network => {
@@ -280,12 +399,16 @@ export const availableNetworks = networks.filter(
280
399
 
281
400
  export const chainIdToName = (chainId: ChainId | number | string) => {
282
401
  const network = getNetworkByChainId(chainId);
283
- return network.name;
402
+ return network?.name;
284
403
  };
285
404
 
286
405
  export const getRpcURLByChainId = (chainId: ChainId | number | string) => {
287
- const network = getNetworkByChainId(chainId);
288
- return network.params.rpcUrls[0];
406
+ try {
407
+ const network = getNetworkByChainId(chainId);
408
+ return network.params.rpcUrls[0];
409
+ } catch (e) {
410
+ return "";
411
+ }
289
412
  };
290
413
 
291
414
  export const RPCMap = networks.reduce((acc, network) => {
package/utils/services.ts CHANGED
@@ -1,8 +1,15 @@
1
1
  export const fetchTokenByAddress = async (
2
2
  address: string,
3
- chainId: string | number
3
+ chainId: string | number,
4
+ tokens?: ITokenPrice[]
4
5
  ) => {
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
+
6
13
  const [token] = (await $fetch(`${blockQueryURL}/${chainId}/tokens`, {
7
14
  params: {
8
15
  sparkline: false,
package/utils/utils.d.ts CHANGED
@@ -1,130 +1,134 @@
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
- color: string;
24
- isAvocado?: boolean;
25
- serverRpcUrl: string | undefined;
26
- balanceResolverAddress?: string;
27
- usdcAddress: string;
28
- explorerUrl: string;
29
- params: {
30
- chainName?: string;
31
- iconUrls?: string[];
32
- rpcUrls: string[];
33
- nativeCurrency?: {
34
- name: string;
35
- symbol: string;
36
- 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
+ | 534352
17
+ | 204
18
+ | 63400;
19
+
20
+ type ISlackMessageType = "danger" | "error" | "success" | "banner";
21
+
22
+ type MetadataTypes = keyof typeof MetadataEnums;
23
+
24
+ type PayloadFunction = (data: any, type: MetadataTypes) => any;
25
+
26
+ type IPayload = Record<MetadataTypes, PayloadFunction>;
27
+
28
+ interface Network {
29
+ name: string;
30
+ debankName?: string;
31
+ ankrName?: string;
32
+ zerionName?: string;
33
+ chainId: ChainId;
34
+ color: string;
35
+ isAvocado?: boolean;
36
+ serverRpcUrl: string | undefined;
37
+ balanceResolverAddress?: string;
38
+ usdcAddress?: string;
39
+ explorerUrl: string;
40
+ apiURL?: string;
41
+ params: {
42
+ chainName?: string;
43
+ iconUrls?: string[];
44
+ rpcUrls: string[];
45
+ nativeCurrency?: {
46
+ name: string;
47
+ symbol: string;
48
+ decimals: number;
49
+ };
37
50
  };
51
+ }
52
+
53
+ type SignMetadataProps = {
54
+ token: string;
55
+ spender: string;
56
+ amount: string;
57
+ expiration: string;
58
+ };
59
+
60
+ type DappMetadataProps = {
61
+ name: string;
62
+ url: string;
63
+ };
64
+
65
+ type SendMetadataProps = {
66
+ token: string;
67
+ amount: string;
68
+ receiver: string;
69
+ };
70
+
71
+ type CrossSendMetadataProps = {
72
+ fromToken: string;
73
+ toToken: string;
74
+ toChainId: string;
75
+ amount: string;
76
+ receiver: string;
38
77
  };
39
- }
40
78
 
41
- type SignMetadataProps = {
42
- token: string;
43
- spender: string;
44
- amount: string;
45
- expiration: string;
46
- };
47
-
48
- type DappMetadataProps = {
49
- name: string;
50
- url: string;
51
- };
52
-
53
- type SendMetadataProps = {
54
- token: string;
55
- amount: string;
56
- receiver: string;
57
- };
58
-
59
- type CrossSendMetadataProps = {
60
- fromToken: string;
61
- toToken: string;
62
- toChainId: string;
63
- amount: string;
64
- receiver: string;
65
- };
66
-
67
- type AuthMetadataProps = {
68
- address: string;
69
- chainId: string;
70
- remove: boolean;
71
- };
72
-
73
- type UpgradeMetadataProps = {
74
- version: string;
75
- walletImpl: string;
76
- };
77
-
78
- type TopupMetadataProps = {
79
- amount: string;
80
- token: string;
81
- onBehalf: string;
82
- };
83
-
84
- type BridgeMetadataProps = {
85
- amount: string;
86
- receiver: string;
87
- fromToken: string;
88
- toToken: string;
89
- toChainId: string;
90
- bridgeFee: string;
91
- nativeToken: string;
92
- };
93
-
94
- type SwapMetadataProps = {
95
- sellToken: string;
96
- buyToken: string;
97
- sellAmount: string;
98
- buyAmount: string;
99
- receiver: string;
100
- protocol?: string;
101
- };
102
-
103
- type MetadataProps = {
104
- type:
105
- | "transfer"
106
- | "bridge"
107
- | "swap"
108
- | "multi"
109
- | "gas-topup"
110
- | "upgrade"
111
- | "dapp"
112
- | "deploy"
113
- | "permit2"
114
- | "cross-transfer"
115
- | "auth";
116
- encodedData: string;
117
- version?: string;
118
- };
119
-
120
- interface ITokenPrice {
121
- address: string;
122
- chain_id: string;
123
- name: string;
124
- symbol: string;
125
- decimals: number;
126
- logo_url: string;
127
- price: string;
128
- coingecko_id: string;
129
- sparkline_price_7d: number[];
79
+ type AuthMetadataProps = {
80
+ address: string;
81
+ chainId: string;
82
+ remove: boolean;
83
+ };
84
+
85
+ type UpgradeMetadataProps = {
86
+ version: string;
87
+ walletImpl: string;
88
+ };
89
+
90
+ type TopupMetadataProps = {
91
+ amount: string;
92
+ token: string;
93
+ onBehalf: string;
94
+ };
95
+
96
+ type BridgeMetadataProps = {
97
+ amount: string;
98
+ receiver: string;
99
+ fromToken: string;
100
+ toToken: string;
101
+ toChainId: string;
102
+ bridgeFee: string;
103
+ nativeToken: string;
104
+ };
105
+
106
+ type SwapMetadataProps = {
107
+ sellToken: string;
108
+ buyToken: string;
109
+ sellAmount: string;
110
+ buyAmount: string;
111
+ receiver: string;
112
+ protocol?: string;
113
+ };
114
+
115
+ type MetadataProps = {
116
+ type: MetadataTypes;
117
+ encodedData: string;
118
+ version?: string;
119
+ };
120
+
121
+ interface ITokenPrice {
122
+ address: string;
123
+ chain_id: string;
124
+ name: string;
125
+ symbol: string;
126
+ decimals: number;
127
+ logo_url: string;
128
+ price: string;
129
+ coingecko_id: string;
130
+ sparkline_price_7d: number[];
131
+ }
130
132
  }
133
+
134
+ export {};