@defillama/sdk 5.0.236 → 5.0.238
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/build/ChainApi.js +13 -0
- package/build/abi/tron.js +7 -1
- package/build/providers.json +1 -1
- package/build/util/LlamaProvider.js +2 -0
- package/build/util/blocks.js +292 -84
- package/build/util/chainUtils/data.json +69 -0
- package/build/util/coins.js +14 -3
- package/build/util/common.js +4 -1
- package/build/util/computeTVL.js +1 -1
- package/build/util/env.d.ts +1 -0
- package/build/util/env.js +17 -0
- package/build/util/indexer.js +120 -14
- package/build/util/logs.d.ts +3 -0
- package/build/util/logs.js +57 -26
- package/build/util/updateProviderList.js +2 -1
- package/package.json +3 -3
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"chainKeyToChainLabelMap": {
|
|
3
3
|
"0g": "0G",
|
|
4
4
|
"Ethereum": "Ethereum",
|
|
5
|
+
"ab_chain": "AB Chain",
|
|
5
6
|
"abstract": "Abstract",
|
|
6
7
|
"acala": "Acala",
|
|
7
8
|
"ace": "Endurance",
|
|
@@ -24,7 +25,9 @@
|
|
|
24
25
|
"alphasec": "AlphaSec",
|
|
25
26
|
"althea": "Althea",
|
|
26
27
|
"alv": "ALV",
|
|
28
|
+
"amadeus": "Amadeus",
|
|
27
29
|
"ancient8": "Ancient8",
|
|
30
|
+
"andromeda": "Andromeda",
|
|
28
31
|
"anubi": "Anubis",
|
|
29
32
|
"ao": "AO",
|
|
30
33
|
"ap3x": "Apex Fusion",
|
|
@@ -39,11 +42,13 @@
|
|
|
39
42
|
"artela": "Artela",
|
|
40
43
|
"arweave": "Arweave",
|
|
41
44
|
"assetchain": "Asset Chain",
|
|
45
|
+
"assetmantle": "AssetMantle",
|
|
42
46
|
"astar": "Astar",
|
|
43
47
|
"astrzk": "Astar zkEVM",
|
|
44
48
|
"aura": "Aura Network",
|
|
45
49
|
"aurora": "Aurora",
|
|
46
50
|
"avax": "Avalanche",
|
|
51
|
+
"axelar": "Axelar",
|
|
47
52
|
"axiome": "Axiome",
|
|
48
53
|
"b3": "B3",
|
|
49
54
|
"babylon": "Babylon Genesis",
|
|
@@ -99,6 +104,7 @@
|
|
|
99
104
|
"celo": "Celo",
|
|
100
105
|
"chainflip": "Chainflip",
|
|
101
106
|
"chainx": "BEVM",
|
|
107
|
+
"cheqd": "Cheqd",
|
|
102
108
|
"chia": "Chia",
|
|
103
109
|
"chihuahua": "Chihuahua",
|
|
104
110
|
"chromia": "Chromia",
|
|
@@ -114,28 +120,33 @@
|
|
|
114
120
|
"constellation": "Constellation",
|
|
115
121
|
"cookiechain": "CookieChain",
|
|
116
122
|
"core": "CORE",
|
|
123
|
+
"coreum": "Coreum",
|
|
117
124
|
"corn": "Corn",
|
|
118
125
|
"cosmos": "CosmosHub",
|
|
119
126
|
"coti": "Coti",
|
|
120
127
|
"crab": "Crab",
|
|
121
128
|
"crescent": "Crescent",
|
|
122
129
|
"cronos": "Cronos",
|
|
130
|
+
"cronos_pos_chain": "Cronos POS",
|
|
123
131
|
"cronos_zkevm": "Cronos zkEVM",
|
|
124
132
|
"cross": "CROSS",
|
|
125
133
|
"crossfi": "CrossFi",
|
|
126
134
|
"csc": "CSC",
|
|
127
135
|
"cube": "Cube",
|
|
136
|
+
"cudos": "Cudos",
|
|
128
137
|
"curio": "Curio",
|
|
129
138
|
"cyeth": "Cyber",
|
|
130
139
|
"dango": "Dango Mainnet",
|
|
131
140
|
"darwinia": "Darwinia",
|
|
132
141
|
"dash": "Dash",
|
|
133
142
|
"dchainmainnet": "DChain",
|
|
143
|
+
"decentr": "Decentr",
|
|
134
144
|
"defichain": "DefiChain",
|
|
135
145
|
"defichain_evm": "DeFiChain EVM",
|
|
136
146
|
"defiverse": "DeFiVerse",
|
|
137
147
|
"degen": "Degen",
|
|
138
148
|
"deri_chain": "Deri Chain",
|
|
149
|
+
"derive_v3": "Derive V3",
|
|
139
150
|
"dexalot": "Dexalot",
|
|
140
151
|
"dexit": "Dexit",
|
|
141
152
|
"dfio_meta_main": "Defi Oracle Meta",
|
|
@@ -198,6 +209,7 @@
|
|
|
198
209
|
"fluent": "Fluent",
|
|
199
210
|
"flynet": "Flynet",
|
|
200
211
|
"fogo": "Fogo",
|
|
212
|
+
"forma": "Forma",
|
|
201
213
|
"formnetwork": "Form Network",
|
|
202
214
|
"fraxtal": "Fraxtal",
|
|
203
215
|
"fsc": "FSC",
|
|
@@ -205,6 +217,7 @@
|
|
|
205
217
|
"fuel": "Fuel Ignition",
|
|
206
218
|
"fuel-ignition": "Fuel-ignition",
|
|
207
219
|
"functionx": "FunctionX",
|
|
220
|
+
"funki": "Funki",
|
|
208
221
|
"fuse": "Fuse",
|
|
209
222
|
"fusion": "Fusion",
|
|
210
223
|
"gala": "Gala",
|
|
@@ -214,6 +227,7 @@
|
|
|
214
227
|
"genshiro": "Genshiro",
|
|
215
228
|
"gensyn": "Gensyn",
|
|
216
229
|
"ggchain": "GGCHAIN",
|
|
230
|
+
"glue": "Glue",
|
|
217
231
|
"goat": "GOAT",
|
|
218
232
|
"gochain": "GoChain",
|
|
219
233
|
"godwoken": "Godwoken",
|
|
@@ -251,6 +265,7 @@
|
|
|
251
265
|
"idex": "XCHAIN",
|
|
252
266
|
"igra": "Igra",
|
|
253
267
|
"immutablex": "Immutable X",
|
|
268
|
+
"impacthub": "Impact Hub",
|
|
254
269
|
"imx": "Immutable zkEVM",
|
|
255
270
|
"inertia": "Inertia",
|
|
256
271
|
"inevm": "inEVM",
|
|
@@ -263,8 +278,10 @@
|
|
|
263
278
|
"iota": "IOTA",
|
|
264
279
|
"iotaevm": "IOTA EVM",
|
|
265
280
|
"iotex": "IoTeX",
|
|
281
|
+
"iris": "IRISnet",
|
|
266
282
|
"irys_mainnet_beta": "Irys",
|
|
267
283
|
"islm": "HAQQ",
|
|
284
|
+
"jackal": "Jackal",
|
|
268
285
|
"jbc": "JBC",
|
|
269
286
|
"joc": "JOC",
|
|
270
287
|
"joltify": "Joltify",
|
|
@@ -291,6 +308,7 @@
|
|
|
291
308
|
"krown": "Krown Network",
|
|
292
309
|
"kujira": "Kujira",
|
|
293
310
|
"kusama": "Kusama",
|
|
311
|
+
"kyve": "KYVE",
|
|
294
312
|
"lac": "LaChain Network",
|
|
295
313
|
"lachain": "Lachain",
|
|
296
314
|
"lamden": "Lamden",
|
|
@@ -317,6 +335,7 @@
|
|
|
317
335
|
"massa": "Massa",
|
|
318
336
|
"matchain": "Matchain",
|
|
319
337
|
"mayachain": "Mayachain",
|
|
338
|
+
"medibloc": "MediBloc",
|
|
320
339
|
"meer": "MEER",
|
|
321
340
|
"megaeth": "MegaETH",
|
|
322
341
|
"merlin": "Merlin",
|
|
@@ -369,15 +388,18 @@
|
|
|
369
388
|
"nova": "Nova Network",
|
|
370
389
|
"nuls": "Nuls",
|
|
371
390
|
"numbers": "Numbers",
|
|
391
|
+
"nym": "Nym",
|
|
372
392
|
"oas": "Oasys",
|
|
373
393
|
"oasis": "Oasis Emerald",
|
|
374
394
|
"obyte": "Obyte",
|
|
375
395
|
"occ": "EDU Chain",
|
|
396
|
+
"octra": "Octra",
|
|
376
397
|
"odyssey": "Odyssey",
|
|
377
398
|
"off_chain": "Off Chain",
|
|
378
399
|
"ogpu": "OpenGPU",
|
|
379
400
|
"okexchain": "OKTChain",
|
|
380
401
|
"omax": "Omax",
|
|
402
|
+
"omniflix": "OmniFlix",
|
|
381
403
|
"ontology": "Ontology",
|
|
382
404
|
"ontology_evm": "OntologyEVM",
|
|
383
405
|
"onus": "Onus",
|
|
@@ -395,9 +417,11 @@
|
|
|
395
417
|
"paradex": "Paradex",
|
|
396
418
|
"parallel": "Parallel",
|
|
397
419
|
"parex": "Parex",
|
|
420
|
+
"passage": "Passage",
|
|
398
421
|
"peaq": "Peaq",
|
|
399
422
|
"pearl": "Pearl",
|
|
400
423
|
"pendulum": "Pendulum",
|
|
424
|
+
"pentagonchain": "Pentagon Chain",
|
|
401
425
|
"penumbra": "Penumbra",
|
|
402
426
|
"pepu": "Pepu",
|
|
403
427
|
"perennial": "Perennial",
|
|
@@ -437,6 +461,7 @@
|
|
|
437
461
|
"rari": "Rari",
|
|
438
462
|
"rbn": "Redbelly",
|
|
439
463
|
"real": "re.al",
|
|
464
|
+
"realio": "Realio",
|
|
440
465
|
"redstone": "Redstone",
|
|
441
466
|
"reef": "Reef",
|
|
442
467
|
"regen": "Regen",
|
|
@@ -466,7 +491,10 @@
|
|
|
466
491
|
"seda": "Seda",
|
|
467
492
|
"sei": "Sei",
|
|
468
493
|
"seleman": "SELEMAN",
|
|
494
|
+
"sentinel": "Sentinel",
|
|
495
|
+
"sge": "SGE",
|
|
469
496
|
"shape": "Shape",
|
|
497
|
+
"shentu": "Shentu",
|
|
470
498
|
"shibarium": "Shibarium",
|
|
471
499
|
"shiden": "Shiden",
|
|
472
500
|
"shido": "Shido",
|
|
@@ -487,6 +515,7 @@
|
|
|
487
515
|
"soon_bsc": "svmBNB",
|
|
488
516
|
"sophon": "Sophon",
|
|
489
517
|
"sora": "Sora",
|
|
518
|
+
"source": "Source",
|
|
490
519
|
"space_and_time": "Space and Time",
|
|
491
520
|
"spark": "Spark",
|
|
492
521
|
"spn": "Superposition",
|
|
@@ -563,6 +592,7 @@
|
|
|
563
592
|
"wemix": "WEMIX3.0",
|
|
564
593
|
"winr": "WINR Chain",
|
|
565
594
|
"witnet": "Witnet",
|
|
595
|
+
"wormchain": "Wormchain",
|
|
566
596
|
"xai": "Xai",
|
|
567
597
|
"xdai": "Gnosis",
|
|
568
598
|
"xdaiarb": "XdaiArb",
|
|
@@ -595,6 +625,7 @@
|
|
|
595
625
|
"chainLabelsToKeyMap": {
|
|
596
626
|
"0G": "0g",
|
|
597
627
|
"AB": "new",
|
|
628
|
+
"AB Chain": "ab_chain",
|
|
598
629
|
"ADI": "adi",
|
|
599
630
|
"AFX L1": "afx",
|
|
600
631
|
"AILayer": "ailayer",
|
|
@@ -616,7 +647,9 @@
|
|
|
616
647
|
"Allora": "allora",
|
|
617
648
|
"AlphaSec": "alphasec",
|
|
618
649
|
"Althea": "althea",
|
|
650
|
+
"Amadeus": "amadeus",
|
|
619
651
|
"Ancient8": "ancient8",
|
|
652
|
+
"Andromeda": "andromeda",
|
|
620
653
|
"Anubis": "anubi",
|
|
621
654
|
"ApeChain": "apechain",
|
|
622
655
|
"Apex Fusion": "ap3x",
|
|
@@ -631,11 +664,13 @@
|
|
|
631
664
|
"Artela": "artela",
|
|
632
665
|
"Arweave": "arweave",
|
|
633
666
|
"Asset Chain": "assetchain",
|
|
667
|
+
"AssetMantle": "assetmantle",
|
|
634
668
|
"Astar": "astar",
|
|
635
669
|
"Astar zkEVM": "astrzk",
|
|
636
670
|
"Aura Network": "aura",
|
|
637
671
|
"Aurora": "aurora",
|
|
638
672
|
"Avalanche": "avax",
|
|
673
|
+
"Axelar": "axelar",
|
|
639
674
|
"Axiome": "axiome",
|
|
640
675
|
"B3": "b3",
|
|
641
676
|
"BCHyper": "bcypher",
|
|
@@ -697,6 +732,7 @@
|
|
|
697
732
|
"Celestia": "celestia",
|
|
698
733
|
"Celo": "celo",
|
|
699
734
|
"Chainflip": "chainflip",
|
|
735
|
+
"Cheqd": "cheqd",
|
|
700
736
|
"Chia": "chia",
|
|
701
737
|
"Chihuahua": "chihuahua",
|
|
702
738
|
"Chiliz": "chz",
|
|
@@ -709,6 +745,7 @@
|
|
|
709
745
|
"Conflux": "conflux",
|
|
710
746
|
"Constellation": "constellation",
|
|
711
747
|
"CookieChain": "cookiechain",
|
|
748
|
+
"Coreum": "coreum",
|
|
712
749
|
"Corn": "corn",
|
|
713
750
|
"Cosmos": "cosmos",
|
|
714
751
|
"CosmosHub": "cosmos",
|
|
@@ -716,9 +753,11 @@
|
|
|
716
753
|
"Crab": "crab",
|
|
717
754
|
"Crescent": "crescent",
|
|
718
755
|
"Cronos": "cronos",
|
|
756
|
+
"Cronos POS": "cronos_pos_chain",
|
|
719
757
|
"Cronos zkEVM": "cronos_zkevm",
|
|
720
758
|
"CrossFi": "crossfi",
|
|
721
759
|
"Cube": "cube",
|
|
760
|
+
"Cudos": "cudos",
|
|
722
761
|
"Curio": "curio",
|
|
723
762
|
"Cyber": "cyeth",
|
|
724
763
|
"DChain": "dchainmainnet",
|
|
@@ -732,11 +771,13 @@
|
|
|
732
771
|
"Data Network": "sty",
|
|
733
772
|
"DeFiChain EVM": "defichain_evm",
|
|
734
773
|
"DeFiVerse": "defiverse",
|
|
774
|
+
"Decentr": "decentr",
|
|
735
775
|
"Defi Oracle Meta": "dfio_meta_main",
|
|
736
776
|
"DefiChain": "defichain",
|
|
737
777
|
"Degen": "degen",
|
|
738
778
|
"Deri Chain": "deri_chain",
|
|
739
779
|
"Derive Chain": "lyra",
|
|
780
|
+
"Derive V3": "derive_v3",
|
|
740
781
|
"Dexalot": "dexalot",
|
|
741
782
|
"Dexit": "dexit",
|
|
742
783
|
"Doge": "doge",
|
|
@@ -795,10 +836,12 @@
|
|
|
795
836
|
"Flynet": "flynet",
|
|
796
837
|
"Fogo": "fogo",
|
|
797
838
|
"Form Network": "formnetwork",
|
|
839
|
+
"Forma": "forma",
|
|
798
840
|
"Fraxtal": "fraxtal",
|
|
799
841
|
"Fuel": "fuel",
|
|
800
842
|
"Fuel Ignition": "fuel",
|
|
801
843
|
"FunctionX": "functionx",
|
|
844
|
+
"Funki": "funki",
|
|
802
845
|
"Fuse": "fuse",
|
|
803
846
|
"Fusion": "fusion",
|
|
804
847
|
"GANchain": "gan",
|
|
@@ -811,6 +854,7 @@
|
|
|
811
854
|
"Genesys": "genesys",
|
|
812
855
|
"Genshiro": "genshiro",
|
|
813
856
|
"Gensyn": "gensyn",
|
|
857
|
+
"Glue": "glue",
|
|
814
858
|
"Gnosis": "xdai",
|
|
815
859
|
"GoChain": "gochain",
|
|
816
860
|
"Goat": "goat",
|
|
@@ -850,10 +894,12 @@
|
|
|
850
894
|
"INRI": "inri",
|
|
851
895
|
"IOTA": "iota",
|
|
852
896
|
"IOTA EVM": "iotaevm",
|
|
897
|
+
"IRISnet": "iris",
|
|
853
898
|
"Icon": "icon",
|
|
854
899
|
"Igra": "igra",
|
|
855
900
|
"Immutable X": "immutablex",
|
|
856
901
|
"Immutable zkEVM": "imx",
|
|
902
|
+
"Impact Hub": "impacthub",
|
|
857
903
|
"Inertia": "inertia",
|
|
858
904
|
"Initia": "initia",
|
|
859
905
|
"Injective": "injective",
|
|
@@ -864,12 +910,14 @@
|
|
|
864
910
|
"Irys": "irys_mainnet_beta",
|
|
865
911
|
"JBC": "jbc",
|
|
866
912
|
"JOC": "joc",
|
|
913
|
+
"Jackal": "jackal",
|
|
867
914
|
"Joltify": "joltify",
|
|
868
915
|
"Juno": "juno",
|
|
869
916
|
"Jupnet": "jupnet",
|
|
870
917
|
"K2": "karak",
|
|
871
918
|
"KCC": "kcc",
|
|
872
919
|
"KUB": "bitkub",
|
|
920
|
+
"KYVE": "kyve",
|
|
873
921
|
"Kadena": "kadena",
|
|
874
922
|
"Kaia": "klaytn",
|
|
875
923
|
"Kalshi": "kalshi",
|
|
@@ -922,6 +970,7 @@
|
|
|
922
970
|
"Massa": "massa",
|
|
923
971
|
"Matchain": "matchain",
|
|
924
972
|
"Mayachain": "mayachain",
|
|
973
|
+
"MediBloc": "medibloc",
|
|
925
974
|
"MegaETH": "megaeth",
|
|
926
975
|
"MemeCore": "m",
|
|
927
976
|
"Merlin": "merlin",
|
|
@@ -975,6 +1024,7 @@
|
|
|
975
1024
|
"Nova Network": "nova",
|
|
976
1025
|
"Nuls": "nuls",
|
|
977
1026
|
"Numbers": "numbers",
|
|
1027
|
+
"Nym": "nym",
|
|
978
1028
|
"OKExChain": "okexchain",
|
|
979
1029
|
"OKTChain": "okexchain",
|
|
980
1030
|
"OKXChain": "okexchain",
|
|
@@ -986,9 +1036,11 @@
|
|
|
986
1036
|
"Oasis Sapphire": "sapphire",
|
|
987
1037
|
"Oasys": "oas",
|
|
988
1038
|
"Obyte": "obyte",
|
|
1039
|
+
"Octra": "octra",
|
|
989
1040
|
"Odyssey": "odyssey",
|
|
990
1041
|
"Off Chain": "off_chain",
|
|
991
1042
|
"Omax": "omax",
|
|
1043
|
+
"OmniFlix": "omniflix",
|
|
992
1044
|
"Ontology": "ontology",
|
|
993
1045
|
"OntologyEVM": "ontology_evm",
|
|
994
1046
|
"Onus": "onus",
|
|
@@ -1008,10 +1060,12 @@
|
|
|
1008
1060
|
"Paradex": "paradex",
|
|
1009
1061
|
"Parallel": "parallel",
|
|
1010
1062
|
"Parex": "parex",
|
|
1063
|
+
"Passage": "passage",
|
|
1011
1064
|
"Peaq": "peaq",
|
|
1012
1065
|
"Pearl": "pearl",
|
|
1013
1066
|
"Pego": "pg",
|
|
1014
1067
|
"Pendulum": "pendulum",
|
|
1068
|
+
"Pentagon Chain": "pentagonchain",
|
|
1015
1069
|
"Penumbra": "penumbra",
|
|
1016
1070
|
"Pepu": "pepu",
|
|
1017
1071
|
"Perennial": "perennial",
|
|
@@ -1059,6 +1113,7 @@
|
|
|
1059
1113
|
"Rari": "rari",
|
|
1060
1114
|
"Ravencoin": "rvn",
|
|
1061
1115
|
"Rayls": "rls",
|
|
1116
|
+
"Realio": "realio",
|
|
1062
1117
|
"Redbelly": "rbn",
|
|
1063
1118
|
"Redstone": "redstone",
|
|
1064
1119
|
"Reef": "reef",
|
|
@@ -1073,6 +1128,7 @@
|
|
|
1073
1128
|
"Rootstock": "rsk",
|
|
1074
1129
|
"Rubin": "rubin",
|
|
1075
1130
|
"SELEMAN": "seleman",
|
|
1131
|
+
"SGE": "sge",
|
|
1076
1132
|
"SKALE": "skale",
|
|
1077
1133
|
"SKALE Europa": "europa",
|
|
1078
1134
|
"SX Network": "sx",
|
|
@@ -1088,8 +1144,10 @@
|
|
|
1088
1144
|
"Secret": "secret",
|
|
1089
1145
|
"Seda": "seda",
|
|
1090
1146
|
"Sei": "sei",
|
|
1147
|
+
"Sentinel": "sentinel",
|
|
1091
1148
|
"Sentrix": "srx",
|
|
1092
1149
|
"Shape": "shape",
|
|
1150
|
+
"Shentu": "shentu",
|
|
1093
1151
|
"Shibarium": "shibarium",
|
|
1094
1152
|
"Shiden": "shiden",
|
|
1095
1153
|
"Shido": "shido",
|
|
@@ -1106,6 +1164,7 @@
|
|
|
1106
1164
|
"Soon Network": "soon",
|
|
1107
1165
|
"Sophon": "sophon",
|
|
1108
1166
|
"Sora": "sora",
|
|
1167
|
+
"Source": "source",
|
|
1109
1168
|
"Space and Time": "space_and_time",
|
|
1110
1169
|
"Spark": "spark",
|
|
1111
1170
|
"Stable": "stable",
|
|
@@ -1186,6 +1245,7 @@
|
|
|
1186
1245
|
"Wax": "wax",
|
|
1187
1246
|
"Witnet": "witnet",
|
|
1188
1247
|
"World Chain": "wc",
|
|
1248
|
+
"Wormchain": "wormchain",
|
|
1189
1249
|
"X Layer": "xlayer",
|
|
1190
1250
|
"XCHAIN": "idex",
|
|
1191
1251
|
"XDC": "xdc",
|
|
@@ -1251,21 +1311,25 @@
|
|
|
1251
1311
|
"corn": "2026-06-30",
|
|
1252
1312
|
"crab": "2026-01-01",
|
|
1253
1313
|
"crossfi": "2026-09-09",
|
|
1314
|
+
"csc": "2026-09-29",
|
|
1254
1315
|
"cube": "2026-06-24",
|
|
1255
1316
|
"curio": "2026-06-24",
|
|
1256
1317
|
"dchainmainnet": "2026-06-24",
|
|
1257
1318
|
"degen": "2026-08-31",
|
|
1258
1319
|
"dexit": "2024-01-20",
|
|
1320
|
+
"dfk": "2026-08-28",
|
|
1259
1321
|
"dfs": "2026-06-24",
|
|
1260
1322
|
"dogechain": "2026-08-08",
|
|
1261
1323
|
"duckchain": "2026-07-20",
|
|
1262
1324
|
"echelon": "2023-10-20",
|
|
1263
1325
|
"elys": "2025-12-29",
|
|
1326
|
+
"embr": "2026-06-01",
|
|
1264
1327
|
"enuls": "2026-03-25",
|
|
1265
1328
|
"eon": "2026-02-12",
|
|
1266
1329
|
"eos_evm": "2026-02-12",
|
|
1267
1330
|
"eteria": "2026-08-03",
|
|
1268
1331
|
"eventum": "2026-07-01",
|
|
1332
|
+
"everscale": "2026-09-29",
|
|
1269
1333
|
"evmos": "2026-05-18",
|
|
1270
1334
|
"fhe": "2026-06-01",
|
|
1271
1335
|
"findora": "2026-09-03",
|
|
@@ -1307,12 +1371,14 @@
|
|
|
1307
1371
|
"moonriver": "2026-07-31",
|
|
1308
1372
|
"mxczkevm": "2026-09-01",
|
|
1309
1373
|
"nahmii": "2026-06-30",
|
|
1374
|
+
"neon_evm": "2026-10-01",
|
|
1310
1375
|
"neutron": "2026-07-01",
|
|
1311
1376
|
"nos": "2026-06-24",
|
|
1312
1377
|
"nova": "2026-08-03",
|
|
1313
1378
|
"nuls": "2026-03-25",
|
|
1314
1379
|
"odyssey": "2026-09-02",
|
|
1315
1380
|
"onus": "2026-06-05",
|
|
1381
|
+
"pacaswap": "2026-10-01",
|
|
1316
1382
|
"parex": "2026-08-12",
|
|
1317
1383
|
"perennial": "2026-06-30",
|
|
1318
1384
|
"planq": "2026-06-05",
|
|
@@ -1321,6 +1387,7 @@
|
|
|
1321
1387
|
"polynomial": "2026-02-13",
|
|
1322
1388
|
"pryzm": "2026-02-09",
|
|
1323
1389
|
"qom": "2026-01-20",
|
|
1390
|
+
"quicksilver": "2026-08-01",
|
|
1324
1391
|
"rari": "2026-06-14",
|
|
1325
1392
|
"real": "2026-02-12",
|
|
1326
1393
|
"redstone": "2026-05-18",
|
|
@@ -1330,6 +1397,8 @@
|
|
|
1330
1397
|
"rss3_vsl": "2026-09-03",
|
|
1331
1398
|
"saakuru": "2026-03-16",
|
|
1332
1399
|
"saga": "2026-02-16",
|
|
1400
|
+
"secret": "2026-09-01",
|
|
1401
|
+
"shimmer_evm": "2026-09-30",
|
|
1333
1402
|
"sifchain": "2026-09-01",
|
|
1334
1403
|
"soon_base": "2026-05-25",
|
|
1335
1404
|
"spn": "2026-09-08",
|
package/build/util/coins.js
CHANGED
|
@@ -52,14 +52,19 @@ async function fetchWithProFallback(body, subRoute) {
|
|
|
52
52
|
params: { source: "internal", apikey: coinsApiKey },
|
|
53
53
|
}));
|
|
54
54
|
}
|
|
55
|
-
const
|
|
56
|
-
|
|
55
|
+
const nowCacheTTL = 1000 * 60 * 30; // 30 minutes, matches priceUpdateTime in computeTVL
|
|
56
|
+
let lastNowCacheClear = +Date.now();
|
|
57
|
+
function seedNowPriceCache() {
|
|
58
|
+
return {
|
|
57
59
|
"coingecko:tether": {
|
|
58
60
|
price: 1,
|
|
59
61
|
symbol: "USDT",
|
|
60
62
|
timestamp: Math.floor(Date.now() / 1e3 + 3600), // an hour from script start time
|
|
61
63
|
},
|
|
62
|
-
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const priceCacheAll = {
|
|
67
|
+
now: seedNowPriceCache()
|
|
63
68
|
};
|
|
64
69
|
const mcapCacheAll = {};
|
|
65
70
|
async function getPrices(readKeys, timestamp) {
|
|
@@ -68,6 +73,12 @@ async function getPrices(readKeys, timestamp) {
|
|
|
68
73
|
async function getPricesData(readKeys, timestamp, dataType) {
|
|
69
74
|
if (!readKeys.length)
|
|
70
75
|
return {};
|
|
76
|
+
// expire the "now" caches so current prices are never served older than nowCacheTTL
|
|
77
|
+
if (+Date.now() - lastNowCacheClear > nowCacheTTL) {
|
|
78
|
+
lastNowCacheClear = +Date.now();
|
|
79
|
+
priceCacheAll.now = seedNowPriceCache();
|
|
80
|
+
delete mcapCacheAll.now;
|
|
81
|
+
}
|
|
71
82
|
const cacheAllObject = dataType === "price" ? priceCacheAll : mcapCacheAll;
|
|
72
83
|
const subRoute = dataType === "price" ? "prices" : "mcaps";
|
|
73
84
|
const aggregatedRes = {};
|
package/build/util/common.js
CHANGED
|
@@ -76,7 +76,10 @@ function convertToBigInt(value) {
|
|
|
76
76
|
let final;
|
|
77
77
|
let exponent = +e;
|
|
78
78
|
if (exponent >= 0) {
|
|
79
|
-
|
|
79
|
+
const decimals = decimal || '';
|
|
80
|
+
final = exponent >= decimals.length
|
|
81
|
+
? lead + decimals + '0'.repeat(exponent - decimals.length)
|
|
82
|
+
: lead + decimals.slice(0, exponent);
|
|
80
83
|
}
|
|
81
84
|
else {
|
|
82
85
|
// NOTE: unforutenately BigInt doesn't support negative exponents, so this ends up being 0
|
package/build/util/computeTVL.js
CHANGED
|
@@ -6,7 +6,7 @@ const generalUtil_1 = require("../generalUtil");
|
|
|
6
6
|
const coins_1 = require("./coins");
|
|
7
7
|
const currentPriceCache = {};
|
|
8
8
|
const priceCaches = {};
|
|
9
|
-
let lastPriceUpdate =
|
|
9
|
+
let lastPriceUpdate = +Date.now();
|
|
10
10
|
const confidenceThreshold = 0.5;
|
|
11
11
|
const priceUpdateTime = 1000 * 60 * 30; // 30 minutes
|
|
12
12
|
async function computeTVL(balances, timestamp, { debug = false } = {}) {
|
package/build/util/env.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const ENV_CONSTANTS: {
|
|
|
5
5
|
export declare function getChainId(chain: string, chainId: number): number;
|
|
6
6
|
export declare function getMaxParallelRequests(chain: string): number;
|
|
7
7
|
export declare function getParallelGetLogsLimit(chain: string, providerUrl?: string): number;
|
|
8
|
+
export declare function getBlockServiceUrl(): string | undefined;
|
|
8
9
|
export declare function getParallelGetBlocksLimit(chain: string): number;
|
|
9
10
|
export declare function getEnvRPC(chain: string): string | undefined;
|
|
10
11
|
export declare function getEnvValue(key: string, defaultValue?: string): string;
|
package/build/util/env.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.ENV_CONSTANTS = exports.whitelistedEnvConstants = void 0;
|
|
|
5
5
|
exports.getChainId = getChainId;
|
|
6
6
|
exports.getMaxParallelRequests = getMaxParallelRequests;
|
|
7
7
|
exports.getParallelGetLogsLimit = getParallelGetLogsLimit;
|
|
8
|
+
exports.getBlockServiceUrl = getBlockServiceUrl;
|
|
8
9
|
exports.getParallelGetBlocksLimit = getParallelGetBlocksLimit;
|
|
9
10
|
exports.getEnvRPC = getEnvRPC;
|
|
10
11
|
exports.getEnvValue = getEnvValue;
|
|
@@ -22,6 +23,7 @@ exports.whitelistedEnvConstants = [
|
|
|
22
23
|
'ELASTICSEARCH_CONFIG', 'GRAPH_API_KEY', 'LLAMA_INDEXER_V2_ENDPOINT', 'LLAMA_INDEXER_V2_API_KEY', 'LLAMA_INDEXER_TIMEOUT_MS',
|
|
23
24
|
'LLAMA_INDEXER_V4_ENDPOINT', 'LLAMA_INDEXER_V4_API_KEY', 'LLAMA_INDEXER_PREFER_V4', 'LLAMA_INDEXER_V4_ONLY_CHAINS',
|
|
24
25
|
'LLAMA_INDEXER_SQL_ENDPOINT', 'LLAMA_INDEXER_SQL_USER', 'LLAMA_INDEXER_SQL_PASSWORD',
|
|
26
|
+
'BLOCK_SERVICE_URL', 'BLOCK_SERVICE_URL_DISABLED',
|
|
25
27
|
];
|
|
26
28
|
const isDebugLevel3 = process.env.LLAMA_SDK_DEBUG_LEVEL_3 === 'true';
|
|
27
29
|
const defaultEnvValues = {
|
|
@@ -82,6 +84,21 @@ function getParallelGetLogsLimit(chain, providerUrl) {
|
|
|
82
84
|
return +(defaultAlchemyLimit);
|
|
83
85
|
return +(getEnvValue(`${chain}_RPC_GET_LOGS_CONCURRENCY_LIMIT`, defaultLimit));
|
|
84
86
|
}
|
|
87
|
+
// url of a block-service deployment, lookups go there first and fall back to the local search
|
|
88
|
+
let blockServiceUrl;
|
|
89
|
+
let blockServiceUrlSet = false;
|
|
90
|
+
function getBlockServiceUrl() {
|
|
91
|
+
if (!blockServiceUrlSet) {
|
|
92
|
+
blockServiceUrl = _getBlockServiceUrl();
|
|
93
|
+
blockServiceUrlSet = true;
|
|
94
|
+
}
|
|
95
|
+
return blockServiceUrl;
|
|
96
|
+
}
|
|
97
|
+
function _getBlockServiceUrl() {
|
|
98
|
+
const url = getEnvValue('BLOCK_SERVICE_URL');
|
|
99
|
+
const disabled = getEnvValue('BLOCK_SERVICE_URL_DISABLED') === 'true';
|
|
100
|
+
return disabled ? undefined : url === null || url === void 0 ? void 0 : url.replace(/\/$/, '');
|
|
101
|
+
}
|
|
85
102
|
function getParallelGetBlocksLimit(chain) {
|
|
86
103
|
const defaultLimit = getEnvValue('GET_BLOCKS_CONCURRENCY_LIMIT', '5');
|
|
87
104
|
return +(getEnvValue(`${chain}_RPC_GET_BLOCKS_CONCURRENCY_LIMIT`, defaultLimit));
|