@instadapp/avocado-base 0.0.0-dev.08c3664 → 0.0.0-dev.0a0d048

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.
package/utils/network.ts CHANGED
@@ -1,30 +1,69 @@
1
1
  import { ethers } from "ethers";
2
+ import {
3
+ polygon,
4
+ arbitrum,
5
+ mainnet,
6
+ base,
7
+ optimism,
8
+ polygonZkEvm,
9
+ bsc,
10
+ avalanche,
11
+ fantom,
12
+ gnosis,
13
+ aurora,
14
+ fuse,
15
+ scroll,
16
+ opBNB,
17
+ } from "viem/chains";
18
+ import {
19
+ AVO_PROD_CHAIN_NAME,
20
+ AVO_PROD_CHAIN_ID,
21
+ AVO_PROD_RPC_URL,
22
+ AVO_PROD_EXPLORER_URL,
23
+ AVO_STAGING_CHAIN_NAME,
24
+ AVO_STAGING_CHAIN_ID,
25
+ AVO_STAGING_RPC_URL,
26
+ AVO_STAGING_EXPLORER_URL,
27
+ } from "./avocado";
28
+ import { defineChain } from "viem";
2
29
 
3
- export const bridgeDisabledNetworks = [1101];
30
+ export const bridgeDisabledNetworks = [];
4
31
 
5
- 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
- },
32
+ export const networksSimulationNotSupported = [1313161554, 1101];
33
+
34
+ const avocado = defineChain({
35
+ id: AVO_PROD_CHAIN_ID,
36
+ name: AVO_PROD_CHAIN_NAME,
37
+ nativeCurrency: {
38
+ name: "Avocado",
39
+ symbol: "USDC",
40
+ decimals: 18,
27
41
  },
42
+ rpcUrls: {
43
+ default: { http: [AVO_PROD_RPC_URL] },
44
+ },
45
+ blockExplorers: {
46
+ default: { name: "Avoscan", url: AVO_PROD_EXPLORER_URL },
47
+ },
48
+ });
49
+
50
+ const avocadoStaging = defineChain({
51
+ id: AVO_STAGING_CHAIN_ID,
52
+ name: AVO_STAGING_CHAIN_NAME,
53
+ nativeCurrency: {
54
+ name: "Avocado",
55
+ symbol: "USDC",
56
+ decimals: 18,
57
+ },
58
+ rpcUrls: {
59
+ default: { http: [AVO_STAGING_RPC_URL] },
60
+ },
61
+ blockExplorers: {
62
+ default: { name: "Avoscan", url: AVO_STAGING_EXPLORER_URL },
63
+ },
64
+ });
65
+
66
+ export const networks: Network[] = [
28
67
  {
29
68
  name: "Polygon",
30
69
  debankName: "matic",
@@ -32,9 +71,13 @@ export const networks: Network[] = [
32
71
  zerionName: "polygon",
33
72
  color: "#7A4ADD",
34
73
  chainId: 137,
74
+ viemChain: polygon,
35
75
  balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
36
76
  usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
37
77
  explorerUrl: "https://polygonscan.com",
78
+ apiURL: "https://api.polygonscan.com",
79
+ fakeTransactionHash:
80
+ "0x906c551abd5873a428505b6530ac14d91367820706c7ee525f6d7313265d1c92",
38
81
  get serverRpcUrl() {
39
82
  return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
40
83
  },
@@ -53,11 +96,15 @@ export const networks: Network[] = [
53
96
  debankName: "arb",
54
97
  ankrName: "arbitrum",
55
98
  zerionName: "arbitrum",
99
+ viemChain: arbitrum,
56
100
  color: "#2D374B",
57
101
  chainId: 42161,
58
102
  usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
59
103
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
104
+ fakeTransactionHash:
105
+ "0x9fa291c3b09d31f19b1fa5dd05f30169d1364036d5f7c14b026410bc07bd8843",
60
106
  explorerUrl: "https://arbiscan.io",
107
+ apiURL: "https://api.arbiscan.io",
61
108
  get serverRpcUrl() {
62
109
  return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
63
110
  },
@@ -71,15 +118,70 @@ export const networks: Network[] = [
71
118
  rpcUrls: ["https://arb1.arbitrum.io/rpc"],
72
119
  },
73
120
  },
121
+ {
122
+ name: "Ethereum",
123
+ debankName: "eth",
124
+ ankrName: "eth",
125
+ zerionName: "ethereum",
126
+ viemChain: mainnet,
127
+ chainId: 1,
128
+ explorerUrl: "https://etherscan.io",
129
+ fakeTransactionHash:
130
+ "0x13232dd32cef2f641ead890a507710c96560c8c9c3d5fab6facb5ec563c49433",
131
+ apiURL: "https://api.etherscan.io",
132
+ color: "#5D5FEF",
133
+ get serverRpcUrl() {
134
+ return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
135
+ },
136
+ balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
137
+ usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
138
+ params: {
139
+ rpcUrls: ["https://rpc.ankr.com/eth"],
140
+ nativeCurrency: {
141
+ name: "Ethereum",
142
+ symbol: "ETH",
143
+ decimals: 18,
144
+ },
145
+ },
146
+ },
147
+ {
148
+ name: "Base",
149
+ chainId: 8453,
150
+ color: "#1E2024",
151
+ ankrName: "base",
152
+ viemChain: base,
153
+ explorerUrl: "https://basescan.org",
154
+ fakeTransactionHash:
155
+ "0xf7833d80da33730c4fc5d4c64151f0eaa64c0c0535be022af0228a44cc4e9c8e",
156
+ apiURL: "https://api.basescan.org",
157
+ get serverRpcUrl() {
158
+ return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
159
+ },
160
+ usdcAddress: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
161
+ balanceResolverAddress: "0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C",
162
+ params: {
163
+ rpcUrls: ["https://rpc.ankr.com/base"],
164
+ chainName: "Base",
165
+ nativeCurrency: {
166
+ name: "Ethereum",
167
+ symbol: "ETH",
168
+ decimals: 18,
169
+ },
170
+ },
171
+ },
74
172
  {
75
173
  name: "Optimism",
76
174
  debankName: "op",
77
175
  ankrName: "optimism",
78
176
  zerionName: "optimism",
79
177
  color: "#FF0420",
178
+ viemChain: optimism,
80
179
  chainId: 10,
180
+ apiURL: "https://api-optimistic.etherscan.io",
81
181
  usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
82
182
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
183
+ fakeTransactionHash:
184
+ "0xee7311d68059732b05088f2144dfec6c7a4f5fd0433eb85306afcd6bdf17cebc",
83
185
  explorerUrl: "https://optimistic.etherscan.io",
84
186
  get serverRpcUrl() {
85
187
  return process.env?.OPTIMISM_RPC_URL || this.params.rpcUrls[0];
@@ -95,26 +197,28 @@ export const networks: Network[] = [
95
197
  },
96
198
  },
97
199
  {
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",
200
+ name: "Polygon zkEVM",
201
+ chainId: 1101,
202
+ color: "#8544f6",
203
+ ankrName: "polygon_zkevm",
204
+ viemChain: polygonZkEvm,
205
+ explorerUrl: "https://zkevm.polygonscan.com",
206
+ apiURL: "https://api-zkevm.polygonscan.com",
207
+ balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
208
+ fakeTransactionHash:
209
+ "0x1077130463ade91ad4e9c43c3195298e26a99970975238128912490eea12bf41",
210
+ usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
107
211
  get serverRpcUrl() {
108
- return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
212
+ return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
109
213
  },
110
214
  params: {
111
- chainName: "Avalanche Network",
215
+ chainName: "polygon zkEVM",
216
+ rpcUrls: ["https://zkevm-rpc.com"],
112
217
  nativeCurrency: {
113
- name: "Avalanche",
114
- symbol: "AVAX",
218
+ name: "Ethereum",
219
+ symbol: "ETH",
115
220
  decimals: 18,
116
221
  },
117
- rpcUrls: ["https://rpc.ankr.com/avalanche"],
118
222
  },
119
223
  },
120
224
  {
@@ -125,6 +229,10 @@ export const networks: Network[] = [
125
229
  color: "#F3BA2F",
126
230
  chainId: 56,
127
231
  explorerUrl: "https://bscscan.com",
232
+ viemChain: bsc,
233
+ fakeTransactionHash:
234
+ "0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7",
235
+ apiURL: "https://api.bscscan.com",
128
236
  usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
129
237
  balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
130
238
  get serverRpcUrl() {
@@ -140,14 +248,71 @@ export const networks: Network[] = [
140
248
  },
141
249
  },
142
250
  },
251
+ {
252
+ name: "Avalanche",
253
+ debankName: "avax",
254
+ ankrName: "avalanche",
255
+ zerionName: "avalanche",
256
+ color: "#EB5757",
257
+ viemChain: avalanche,
258
+ chainId: 43114,
259
+ usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
260
+ balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
261
+ explorerUrl: "https://snowtrace.io",
262
+ fakeTransactionHash:
263
+ "0x233aac7402558dd4e23f938a50f983e67f5c9604233981c7ac74e63737b8294e",
264
+ apiURL: "https://api.snowtrace.io",
265
+ get serverRpcUrl() {
266
+ return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
267
+ },
268
+ params: {
269
+ chainName: "Avalanche Network",
270
+ nativeCurrency: {
271
+ name: "Avalanche",
272
+ symbol: "AVAX",
273
+ decimals: 18,
274
+ },
275
+ rpcUrls: ["https://rpc.ankr.com/avalanche"],
276
+ },
277
+ },
278
+ {
279
+ name: "Fantom",
280
+ chainId: 250,
281
+ zerionName: "fantom",
282
+ explorerUrl: "https://ftmscan.com",
283
+ ankrName: "fantom",
284
+ color: "#1969ff",
285
+ viemChain: fantom,
286
+ get serverRpcUrl() {
287
+ return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
288
+ },
289
+ usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
290
+ balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
291
+ fakeTransactionHash:
292
+ "0x1e9a8405d660172314124e06896212c0786d7fb1550b89410d4bc87e9e8054e4",
293
+ params: {
294
+ rpcUrls: ["https://rpc.ankr.com/fantom"],
295
+ chainName: "Fantom",
296
+ nativeCurrency: {
297
+ name: "Fantom",
298
+ symbol: "FTM",
299
+ decimals: 18,
300
+ },
301
+ },
302
+ },
143
303
  {
144
304
  name: "Gnosis",
145
305
  debankName: "xdai",
146
306
  zerionName: "xdai",
147
307
  color: "#04795C",
308
+ ankrName: "gnosis",
309
+ viemChain: gnosis,
148
310
  chainId: 100,
149
311
  balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
150
312
  explorerUrl: "https://gnosisscan.io",
313
+ fakeTransactionHash:
314
+ "0x1513033806310a2c3b29f2276f8aa7388461b0ef9f8499c297e68c12187c179b",
315
+ apiURL: "https://api.gnosisscan.io",
151
316
  usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
152
317
  get serverRpcUrl() {
153
318
  return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
@@ -162,33 +327,15 @@ export const networks: Network[] = [
162
327
  },
163
328
  },
164
329
  },
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
330
  {
187
331
  name: "Aurora",
188
332
  chainId: 1313161554,
189
333
  zerionName: "aurora",
190
334
  color: "#78d64b",
335
+ viemChain: aurora,
191
336
  explorerUrl: "https://explorer.mainnet.aurora.dev",
337
+ fakeTransactionHash:
338
+ "0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6",
192
339
  get serverRpcUrl() {
193
340
  return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
194
341
  },
@@ -205,32 +352,97 @@ export const networks: Network[] = [
205
352
  },
206
353
  },
207
354
  {
208
- name: "Fantom",
209
- chainId: 250,
210
- zerionName: "fantom",
211
- explorerUrl: "https://ftmscan.com",
212
- ankrName: "fantom",
213
- color: "#1969ff",
355
+ name: "Fuse",
356
+ chainId: 122,
357
+ zerionName: "fuse",
358
+ color: "#78d64b",
359
+ explorerUrl: "https://explorer.fuse.io",
360
+ viemChain: fuse,
361
+ fakeTransactionHash:
362
+ "0xf22a8031de9b978a57c728e18c6b54633356c39db4d0466e53b9b7c3ee7f8def",
214
363
  get serverRpcUrl() {
215
- return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
364
+ return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
216
365
  },
217
- usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
218
- balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
366
+ usdcAddress: "",
367
+ balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
219
368
  params: {
220
- rpcUrls: ["https://rpc.ankr.com/fantom"],
221
- chainName: "Fantom",
369
+ rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
370
+ chainName: "Fuse",
222
371
  nativeCurrency: {
223
- name: "Fantom",
224
- symbol: "FTM",
372
+ decimals: 18,
373
+ name: "Fuse",
374
+ symbol: "fuse",
375
+ },
376
+ },
377
+ },
378
+ {
379
+ name: "Scroll",
380
+ chainId: 534352,
381
+ color: "#78d64b",
382
+ explorerUrl: "https://scrollscan.com",
383
+ viemChain: scroll,
384
+ fakeTransactionHash:
385
+ "0x6bf297c414264fc8cddd47224632b4426a02138df2f50fe891eca87f6aefea01",
386
+ get serverRpcUrl() {
387
+ return process.env?.SCROLL_RPC_URL || this.params.rpcUrls[0];
388
+ },
389
+ params: {
390
+ rpcUrls: ["https://rpc.scroll.io"],
391
+ chainName: "Scroll",
392
+ nativeCurrency: {
393
+ name: "Ethereum",
394
+ symbol: "ETH",
225
395
  decimals: 18,
226
396
  },
227
397
  },
228
398
  },
399
+ {
400
+ name: "opBNB",
401
+ chainId: 204,
402
+ color: "#78d64b",
403
+ explorerUrl: "https://opbnbscan.com",
404
+ viemChain: opBNB,
405
+ fakeTransactionHash:
406
+ "0xb9438a3eae61442bc7d419d79930370ce09ac0f46e0695025751e3bfe1a931e7",
407
+ get serverRpcUrl() {
408
+ return process.env?.OPBNB_RPC_URL || this.params.rpcUrls[0];
409
+ },
410
+ params: {
411
+ rpcUrls: ["https://opbnb-mainnet-rpc.bnbchain.org"],
412
+ chainName: "opBNB",
413
+ nativeCurrency: {
414
+ name: "BNB",
415
+ symbol: "BNB",
416
+ decimals: 18,
417
+ },
418
+ },
419
+ },
420
+ // {
421
+ // name: "Manta Pacific",
422
+ // chainId: 169,
423
+ // explorerUrl: "https://pacific-explorer.manta.network",
424
+ // params: {
425
+ // rpcUrls: ["https://pacific-rpc.manta.network/http"],
426
+ // chainName: "Manta Pacific",
427
+ // nativeCurrency: {
428
+ // name: "Ethereum",
429
+ // symbol: "ETH",
430
+ // decimals: 18,
431
+ // },
432
+ // },
433
+ // color: "#78d64b",
434
+ // fakeTransactionHash: "0x3fB128aA5AC254C8539996B11C587E521AE0d3ab",
435
+ // get serverRpcUrl() {
436
+ // return process.env?.MANTA_RPC_URL || this.params.rpcUrls[0];
437
+ // },
438
+ // },
229
439
  {
230
440
  name: AVO_PROD_CHAIN_NAME,
231
441
  chainId: AVO_PROD_CHAIN_ID,
232
442
  isAvocado: true,
233
443
  balanceResolverAddress: "",
444
+ fakeTransactionHash: "",
445
+ viemChain: avocado,
234
446
  color: "#16A34A",
235
447
  usdcAddress: "",
236
448
  serverRpcUrl: AVO_PROD_RPC_URL,
@@ -252,6 +464,8 @@ export const networks: Network[] = [
252
464
  serverRpcUrl: AVO_STAGING_RPC_URL,
253
465
  color: "#16A34A",
254
466
  explorerUrl: AVO_STAGING_EXPLORER_URL,
467
+ viemChain: avocadoStaging,
468
+ fakeTransactionHash: "",
255
469
  isAvocado: true,
256
470
  balanceResolverAddress: "",
257
471
  usdcAddress: "",
@@ -268,6 +482,26 @@ export const networks: Network[] = [
268
482
  },
269
483
  ];
270
484
 
485
+ export const chainUsdcAddresses = [
486
+ { chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
487
+ { chainId: 10, address: "0x7f5c764cbc14f9669b88837ca1490cca17c31607" },
488
+ { chainId: 56, address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" },
489
+ { chainId: 100, address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83" },
490
+ { chainId: 137, address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" },
491
+ { chainId: 137, address: "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359" },
492
+ { chainId: 250, address: "0x04068da6c83afcfa0e13ba15a6696662335d5b75" },
493
+ { chainId: 42161, address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" },
494
+ { chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" },
495
+ { chainId: 43114, address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e" },
496
+ { chainId: 43114, address: "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664" },
497
+ { chainId: 1101, address: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035" },
498
+ {
499
+ chainId: 1313161554,
500
+ address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
501
+ },
502
+ { chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
503
+ ];
504
+
271
505
  export const getNetworkByChainId = (
272
506
  chainId: ChainId | number | string
273
507
  ): Network => {
@@ -280,12 +514,16 @@ export const availableNetworks = networks.filter(
280
514
 
281
515
  export const chainIdToName = (chainId: ChainId | number | string) => {
282
516
  const network = getNetworkByChainId(chainId);
283
- return network.name;
517
+ return network?.name;
284
518
  };
285
519
 
286
520
  export const getRpcURLByChainId = (chainId: ChainId | number | string) => {
287
- const network = getNetworkByChainId(chainId);
288
- return network.params.rpcUrls[0];
521
+ try {
522
+ const network = getNetworkByChainId(chainId);
523
+ return network.params.rpcUrls[0];
524
+ } catch (e) {
525
+ return "";
526
+ }
289
527
  };
290
528
 
291
529
  export const RPCMap = networks.reduce((acc, network) => {
@@ -327,5 +565,6 @@ export const getExplorerUrl = (
327
565
  suffix: `/${string}` = "/"
328
566
  ) => {
329
567
  const network = getNetworkByChainId(chainId);
568
+ if (!network) return "";
330
569
  return `${network.explorerUrl}${suffix}`;
331
570
  };
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,3 +1,5 @@
1
+ import type { Chain } from "viem";
2
+
1
3
  declare global {
2
4
  type ChainId =
3
5
  | 1
@@ -11,8 +13,13 @@ declare global {
11
13
  | 250
12
14
  | 634
13
15
  | 1313161554
14
- | 63400;
15
-
16
+ | 8453
17
+ | 122
18
+ | 534352
19
+ | 204
20
+ | 63400
21
+ | 169;
22
+
16
23
  type ISlackMessageType = "danger" | "error" | "success" | "banner";
17
24
 
18
25
  type MetadataTypes = keyof typeof MetadataEnums;
@@ -31,8 +38,11 @@ declare global {
31
38
  isAvocado?: boolean;
32
39
  serverRpcUrl: string | undefined;
33
40
  balanceResolverAddress?: string;
34
- usdcAddress: string;
41
+ usdcAddress?: string;
35
42
  explorerUrl: string;
43
+ fakeTransactionHash: string;
44
+ viemChain: Chain;
45
+ apiURL?: string;
36
46
  params: {
37
47
  chainName?: string;
38
48
  iconUrls?: string[];
@@ -108,7 +118,7 @@ declare global {
108
118
  };
109
119
 
110
120
  type MetadataProps = {
111
- type: MetadataTypes,
121
+ type: MetadataTypes;
112
122
  encodedData: string;
113
123
  version?: string;
114
124
  };
@@ -124,8 +134,6 @@ declare global {
124
134
  coingecko_id: string;
125
135
  sparkline_price_7d: number[];
126
136
  }
127
-
128
137
  }
129
138
 
130
- export { }
131
-
139
+ export {};