@layerzerolabs/layerzero-definitions 0.0.8

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 (83) hide show
  1. package/.turbo/turbo-build.log +70 -0
  2. package/.turbo/turbo-lint.log +4 -0
  3. package/.turbo/turbo-test.log +12 -0
  4. package/dist/A6NLZTVA.js +29 -0
  5. package/dist/A6NLZTVA.js.map +1 -0
  6. package/dist/B4OP6YNL.js +23 -0
  7. package/dist/B4OP6YNL.js.map +1 -0
  8. package/dist/HOYBOPTF.cjs +2775 -0
  9. package/dist/HOYBOPTF.cjs.map +1 -0
  10. package/dist/HR6YIID4.js +832 -0
  11. package/dist/HR6YIID4.js.map +1 -0
  12. package/dist/J7IL5CNG.js +11 -0
  13. package/dist/J7IL5CNG.js.map +1 -0
  14. package/dist/JZ4ILHYY.cjs +13 -0
  15. package/dist/JZ4ILHYY.cjs.map +1 -0
  16. package/dist/K4UVYNTR.cjs +842 -0
  17. package/dist/K4UVYNTR.cjs.map +1 -0
  18. package/dist/L6ZW7VQ7.js +11 -0
  19. package/dist/L6ZW7VQ7.js.map +1 -0
  20. package/dist/NIUFV2GQ.js +2772 -0
  21. package/dist/NIUFV2GQ.js.map +1 -0
  22. package/dist/NJ6D6EF4.cjs +28 -0
  23. package/dist/NJ6D6EF4.cjs.map +1 -0
  24. package/dist/VOROLHWT.cjs +13 -0
  25. package/dist/VOROLHWT.cjs.map +1 -0
  26. package/dist/VUOMXK5T.js +6 -0
  27. package/dist/VUOMXK5T.js.map +1 -0
  28. package/dist/WWEOK6WO.cjs +41 -0
  29. package/dist/WWEOK6WO.cjs.map +1 -0
  30. package/dist/YJF4D23A.cjs +8 -0
  31. package/dist/YJF4D23A.cjs.map +1 -0
  32. package/dist/enums.cjs +45 -0
  33. package/dist/enums.cjs.map +1 -0
  34. package/dist/enums.d.ts +815 -0
  35. package/dist/enums.d.ts.map +1 -0
  36. package/dist/enums.js +4 -0
  37. package/dist/enums.js.map +1 -0
  38. package/dist/environmentDefinition.cjs +15 -0
  39. package/dist/environmentDefinition.cjs.map +1 -0
  40. package/dist/environmentDefinition.d.ts +4 -0
  41. package/dist/environmentDefinition.d.ts.map +1 -0
  42. package/dist/environmentDefinition.js +6 -0
  43. package/dist/environmentDefinition.js.map +1 -0
  44. package/dist/environmentInstanceDefinition.cjs +15 -0
  45. package/dist/environmentInstanceDefinition.cjs.map +1 -0
  46. package/dist/environmentInstanceDefinition.d.ts +3 -0
  47. package/dist/environmentInstanceDefinition.d.ts.map +1 -0
  48. package/dist/environmentInstanceDefinition.js +6 -0
  49. package/dist/environmentInstanceDefinition.js.map +1 -0
  50. package/dist/index.cjs +110 -0
  51. package/dist/index.cjs.map +1 -0
  52. package/dist/index.d.ts +7 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +9 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/protocol.cjs +25 -0
  57. package/dist/protocol.cjs.map +1 -0
  58. package/dist/protocol.d.ts +16 -0
  59. package/dist/protocol.d.ts.map +1 -0
  60. package/dist/protocol.js +4 -0
  61. package/dist/protocol.js.map +1 -0
  62. package/dist/schema.cjs +38 -0
  63. package/dist/schema.cjs.map +1 -0
  64. package/dist/schema.d.ts +692 -0
  65. package/dist/schema.d.ts.map +1 -0
  66. package/dist/schema.js +5 -0
  67. package/dist/schema.js.map +1 -0
  68. package/dist/slugs.cjs +18 -0
  69. package/dist/slugs.cjs.map +1 -0
  70. package/dist/slugs.d.ts +2069 -0
  71. package/dist/slugs.d.ts.map +1 -0
  72. package/dist/slugs.js +5 -0
  73. package/dist/slugs.js.map +1 -0
  74. package/package.json +42 -0
  75. package/src/enums.ts +1072 -0
  76. package/src/environmentDefinition.ts +9 -0
  77. package/src/environmentInstanceDefinition.ts +8 -0
  78. package/src/index.ts +6 -0
  79. package/src/protocol.ts +19 -0
  80. package/src/schema.ts +35 -0
  81. package/src/slugs.ts +2772 -0
  82. package/tsconfig.json +28 -0
  83. package/tsup.config.ts +8 -0
package/src/enums.ts ADDED
@@ -0,0 +1,1072 @@
1
+ export enum Environment {
2
+ MAINNET = 'mainnet',
3
+ TESTNET = 'testnet',
4
+ SANDBOX = 'sandbox',
5
+ }
6
+
7
+ export enum EnvironmentInstance {
8
+ CANONICAL = 'canonical',
9
+ LOCAL = 'local',
10
+ }
11
+
12
+ export enum ChainName {
13
+ TON = 'ton',
14
+ AVALANCHE = 'avalanche',
15
+ ARBITRUM = 'arbitrum',
16
+ OPTIMISM = 'optimism',
17
+ MANTLE = 'mantle',
18
+ TRON = 'tron',
19
+ ETHEREUM = 'ethereum',
20
+ SOLANA = 'solana',
21
+ APTOS = 'aptos',
22
+ BSC = 'bsc',
23
+ INITIA = 'initia',
24
+ STARKNET = 'starknet',
25
+ POLYGON = 'polygon',
26
+ ZKPOLYGON = 'zkpolygon',
27
+ FANTOM = 'fantom',
28
+ SWIMMER = 'swimmer',
29
+ DFK = 'dfk',
30
+ HARMONY = 'harmony',
31
+ ARCANA = 'arcana',
32
+ DEXALOT = 'dexalot',
33
+ CASTLECRUSH = 'castlecrush',
34
+ GNOSIS = 'gnosis',
35
+ CELO = 'celo',
36
+ MOONBEAM = 'moonbeam',
37
+ BOBA = 'boba',
38
+ PORTAL = 'portal',
39
+ INTAIN = 'intain',
40
+ FUSE = 'fuse',
41
+ ASTAR = 'astar',
42
+ ZKSYNC = 'zksync',
43
+ SHRAPNEL = 'shrapnel',
44
+ DOS = 'dos',
45
+ KLAYTN = 'klaytn',
46
+ METIS = 'metis',
47
+ COREDAO = 'coredao',
48
+ OKX = 'okx',
49
+ METER = 'meter',
50
+ GOERLI = 'goerli',
51
+ BASE = 'base',
52
+ ZKCONSENSYS = 'zkconsensys',
53
+ SEPOLIA = 'sepolia',
54
+ MOONRIVER = 'moonriver',
55
+ AAVEGOTCHI = 'aavegotchi',
56
+ SCROLL = 'scroll',
57
+ CATHAY = 'cathay',
58
+ KAVA = 'kava',
59
+ TENET = 'tenet',
60
+ CANTO = 'canto',
61
+ ORDERLY = 'orderly',
62
+ NOVA = 'nova',
63
+ BLOCKGEN = 'blockgen',
64
+ MERITCIRCLE = 'meritcircle',
65
+ HUBBLE = 'hubble',
66
+ ZORA = 'zora',
67
+ TOMO = 'tomo',
68
+ LOOT = 'loot',
69
+ TELOS = 'telos',
70
+ AURORA = 'aurora',
71
+ OPBNB = 'opbnb',
72
+ SHIMMER = 'shimmer',
73
+ MONAD = 'monad',
74
+ LIF3 = 'lif3',
75
+ SPRUCE = 'spruce',
76
+ PGJJTK = 'pgjjtk',
77
+ ODA = 'oda',
78
+ KIWI = 'kiwi',
79
+ CONFLUX = 'conflux',
80
+ EON = 'eon',
81
+ XPLA = 'xpla',
82
+ HOLESKY = 'holesky',
83
+ INJECTIVE = 'injective',
84
+ IDEX = 'idex',
85
+ ZKATANA = 'zkatana',
86
+ MANTA = 'manta',
87
+ FRAME = 'frame',
88
+ PGN = 'pgn',
89
+ POLYGONCDK = 'polygoncdk',
90
+ ARBSEP = 'arbsep',
91
+ OPTSEP = 'optsep',
92
+ BERA = 'bera',
93
+ VENN = 'venn',
94
+ RARIBLE = 'rarible',
95
+ GUNZILLA = 'gunzilla',
96
+ RC1 = 'rc1',
97
+ ETHERLINK = 'etherlink',
98
+ KIWI2 = 'kiwi2',
99
+ BB1 = 'bb1',
100
+ JOC = 'joc',
101
+ BLAST = 'blast',
102
+ TRONDEV = 'trondev',
103
+ XAI = 'xai',
104
+ TANGIBLE = 'tangible',
105
+ BASESEP = 'basesep',
106
+ MANTLESEP = 'mantlesep',
107
+ ZKPOLYGONSEP = 'zkpolygonsep',
108
+ ZKSYNCSEP = 'zksyncsep',
109
+ ZORASEP = 'zorasep',
110
+ EXOCORE = 'exocore',
111
+ REAL = 'real',
112
+ TILTYARD = 'tiltyard',
113
+ SKALE = 'skale',
114
+ FRAXTAL = 'fraxtal',
115
+ SEI = 'sei',
116
+ MODE = 'mode',
117
+ HEDERA = 'hedera',
118
+ UNREAL = 'unreal',
119
+ MASA = 'masa',
120
+ MERLIN = 'merlin',
121
+ HOMEVERSE = 'homeverse',
122
+ ZKASTAR = 'zkastar',
123
+ AMOY = 'amoy',
124
+ DEGEN = 'degen',
125
+ XLAYER = 'xlayer',
126
+ FORM = 'form',
127
+ LL1 = 'll1',
128
+ MANTASEP = 'mantasep',
129
+ TAIKO = 'taiko',
130
+ ZIRCUIT = 'zircuit',
131
+ CAMP = 'camp',
132
+ OLIVE = 'olive',
133
+ SANKO = 'sanko',
134
+ BOB = 'bob',
135
+ CYBER = 'cyber',
136
+ BOTANIX = 'botanix',
137
+ XCHAIN = 'xchain',
138
+ ZKLINK = 'zklink',
139
+ EBI = 'ebi',
140
+ KINTO = 'kinto',
141
+ LINEASEP = 'lineasep',
142
+ IOTA = 'iota',
143
+ BESU1 = 'besu1',
144
+ BOUNCEBIT = 'bouncebit',
145
+ MORPH = 'morph',
146
+ GRAVITY = 'gravity',
147
+ BARTIO = 'bartio',
148
+ METISSEP = 'metissep',
149
+ FLARE = 'flare',
150
+ GLUE = 'glue',
151
+ OPENCAMPUS = 'opencampus',
152
+ VANAR = 'vanar',
153
+ PEAQ = 'peaq',
154
+ FI = 'fi',
155
+ CURTIS = 'curtis',
156
+ LYRA = 'lyra',
157
+ LIGHTLINK = 'lightlink',
158
+ BAHAMUT = 'bahamut',
159
+ CODEX = 'codex',
160
+ OTHERWORLD = 'otherworld',
161
+ ABSTRACT = 'abstract',
162
+ ROOT = 'root',
163
+ STORY = 'story',
164
+ TREASURE = 'treasure',
165
+ REYA = 'reya',
166
+ BITLAYER = 'bitlayer',
167
+ DM2VERSE = 'dm2verse',
168
+ APE = 'ape',
169
+ OZEAN = 'ozean',
170
+ BEVM = 'bevm',
171
+ LISK = 'lisk',
172
+ PLUME2 = 'plume2',
173
+ KEVNET = 'kevnet',
174
+ BLE = 'ble',
175
+ BL2 = 'bl2',
176
+ HYPERLIQUID = 'hyperliquid',
177
+ HYPERLIQUIDBURNED = 'hyperliquidburned',
178
+ UNICHAIN = 'unichain',
179
+ MINATO = 'minato',
180
+ WORLDCOIN = 'worldcoin',
181
+ WORLDCHAIN = 'worldchain',
182
+ SUPERPOSITION = 'superposition',
183
+ HEMI = 'hemi',
184
+ GAMESWIFT = 'gameswift',
185
+ ODYSSEY = 'odyssey',
186
+ SOPHON = 'sophon',
187
+ MOKSHA = 'moksha',
188
+ EDU = 'edu',
189
+ CITREA = 'citrea',
190
+ ISLANDER = 'islander',
191
+ BL3 = 'bl3',
192
+ MP1 = 'mp1',
193
+ SONIC = 'sonic',
194
+ ROOTSTOCK = 'rootstock',
195
+ FLOW = 'flow',
196
+ NIBIRU = 'nibiru',
197
+ NIBIRUBURNED = 'nibiruburned',
198
+ SWELL = 'swell',
199
+ MEMECOREFORMICARIUM = 'memecoreformicarium',
200
+ APEXFUSIONNEXUS = 'apexfusionnexus',
201
+ GOAT = 'goat',
202
+ BL4 = 'bl4',
203
+ BL5 = 'bl5',
204
+ BL6 = 'bl6',
205
+ INK = 'ink',
206
+ SONEIUM = 'soneium',
207
+ SPACE = 'space',
208
+ CRONOSEVM = 'cronosevm',
209
+ CRONOSZKEVM = 'cronoszkevm',
210
+ STABLEDEVNET = 'stabledevnet',
211
+ XDC = 'xdc',
212
+ CONCRETE = 'concrete',
213
+ PLUME = 'plume',
214
+ PLUMEPHOENIX = 'plumephoenix',
215
+ MEGAETH = 'megaeth',
216
+ BEPOLIA = 'bepolia',
217
+ GUNZ = 'gunz',
218
+ ANIMECHAIN = 'animechain',
219
+ LENS = 'lens',
220
+ STABLE = 'stable',
221
+ ONDO = 'ondo',
222
+ SOMNIA = 'somnia',
223
+ CONVERGE = 'converge',
224
+ SUBTENSOREVM = 'subtensorevm',
225
+ KATANA = 'katana',
226
+ TACSPB = 'tacspb',
227
+ TAC = 'tac',
228
+ SOMNIASHANNON = 'somniashannon',
229
+ SILICONSEPOLIA = 'siliconsepolia',
230
+ ETHEREAL = 'ethereal',
231
+ SILICON = 'silicon',
232
+ INJECTIVE1439 = 'injective1439',
233
+ PLASMA = 'plasma',
234
+ }
235
+
236
+ export enum ChainSlug {
237
+ //ton
238
+ TON = 'ton',
239
+ TON_TESTNET = 'ton-testnet',
240
+ TON_SANDBOX = 'ton-sandbox',
241
+ //avalanche
242
+ AVALANCHE = 'avalanche',
243
+ FUJI = 'fuji',
244
+ AVALANCHE_SANDBOX = 'avalanche-sandbox',
245
+ //tron
246
+ TRON = 'tron',
247
+ TRON_DEV = 'tron-dev',
248
+ SHASTA = 'shasta',
249
+ TRON_SANDBOX = 'tron-sandbox',
250
+ //ethereum
251
+ ETHEREUM = 'ethereum',
252
+ SEPOLIA = 'sepolia',
253
+ ETHEREUM_SANDBOX = 'ethereum-sandbox',
254
+ GOERLI = 'goerli',
255
+ //solana
256
+ SOLANA = 'solana',
257
+ SOLANA_DEVNET = 'solana-devnet',
258
+ SOLANA_SANDBOX = 'solana-sandbox',
259
+ //aptos
260
+ APTOS = 'aptos',
261
+ APTOS_TESTNET = 'aptos-testnet',
262
+ APTOS_SANDBOX = 'aptos-sandbox',
263
+ //initia
264
+ INTERWOVEN_1 = 'interwoven-1',
265
+ INITIATION_2 = 'initiation-2',
266
+ INITIA_SANDBOX = 'initia-sandbox',
267
+ //bsc
268
+ BSC = 'bsc',
269
+ BSC_TESTNET = 'bsc-testnet',
270
+ BSC_SANDBOX = 'bsc-sandbox',
271
+ //starknet
272
+ STARKNET = 'starknet',
273
+ STARKNET_SEPOLIA = 'starknet-sepolia',
274
+ STARKNET_SANDBOX = 'starknet-sandbox',
275
+ //arbitrum
276
+ ARBITRUM = 'arbitrum',
277
+ ARBSEP = 'arbsep',
278
+ ARBITRUM_GOERLI = 'arbitrum-goerli',
279
+ ARBITRUM_SANDBOX = 'arbitrum-sandbox',
280
+ //polygon
281
+ POLYGON = 'polygon',
282
+ MUMBAI = 'mumbai',
283
+ //optimism
284
+ OPTIMISM = 'optimism',
285
+ OPTIMISM_GOERLI = 'optimism-goerli',
286
+ //fantom
287
+ FANTOM = 'fantom',
288
+ FANTOM_TESTNET = 'fantom-testnet',
289
+ //dfk
290
+ DFK = 'dfk',
291
+ DFK_TESTNET = 'dfk-testnet',
292
+ //harmony
293
+ HARMONY = 'harmony',
294
+ HARMONY_TESTNET = 'harmony-testnet',
295
+ //dexalot
296
+ DEXALOT = 'dexalot',
297
+ DEXALOT_TESTNET = 'dexalot-testnet',
298
+ //moonbeam
299
+ MOONBASE = 'moonbase',
300
+ MOONBEAM_TESTNET = 'moonbeam-testnet',
301
+ //moonriver
302
+ MOONRIVER = 'moonriver',
303
+ //celo
304
+ CELO = 'celo',
305
+ ALFAJORES = 'alfajores',
306
+ //converge
307
+ CONVERGE = 'converge',
308
+ CONVERGE_TESTNET = 'converge-testnet',
309
+ //dos
310
+ DOS = 'dos',
311
+ DOS_TESTNET = 'dos-testnet',
312
+ //fuse
313
+ FUSE = 'fuse',
314
+ FUSESPARK = 'fusespark',
315
+ //klaytn
316
+ KLAYTN = 'klaytn',
317
+ KLAYTN_BAOBAB = 'klaytn-baobab',
318
+ //shrapnel
319
+ SHRAPNEL = 'shrapnel',
320
+ SHRAPNEL_TESTNET = 'shrapnel-testnet',
321
+ //metis
322
+ METIS = 'metis',
323
+ METIS_GOERLI = 'metis-goerli',
324
+ //coredao
325
+ COREDAO = 'coredao',
326
+ COREDAO_TESTNET = 'coredao-testnet',
327
+ //gnosis
328
+ GNOSIS = 'gnosis',
329
+ CHIADO = 'chiado',
330
+ //zksync
331
+ ZKSYNC = 'zksync',
332
+ ZKSYNC_TESTNET = 'zksync-testnet',
333
+ ZKSYNC_SANDBOX = 'zksync-sandbox',
334
+ //okx
335
+ OKX = 'okx',
336
+ OKX_TESTNET = 'okx-testnet',
337
+ //meter
338
+ METER = 'meter',
339
+ METER_TESTNET = 'meter-testnet',
340
+ //goerli
341
+ GOERLI_MAINNET = 'goerli-mainnet',
342
+ //swimmer
343
+ SWIMMER_MAINNET = 'swimmer-mainnet',
344
+ //intain
345
+ INTAIN_MAINNET = 'intain-mainnet',
346
+ //sepolia
347
+ SEPOLIA_TESTNET = 'sepolia-testnet',
348
+ //somnia
349
+ SOMNIA_MAINNET = 'somnia-mainnet',
350
+ //somniashannon
351
+ SOMNIA_SHANNON_TESTNET = 'somnia-shannon-testnet',
352
+ //silicon
353
+ SILICON_ZKEVM = 'silicon-zkevm',
354
+ //siliconsepolia
355
+ SILICONSEPOLIA_TESTNET = 'siliconsepolia-testnet',
356
+ //ethereal
357
+ ETHEREAL_TESTNET = 'ethereal-testnet',
358
+ //base
359
+ BASE = 'base',
360
+ BASE_GOERLI = 'base-goerli',
361
+ //zkconsensys
362
+ LINEA = 'linea',
363
+ LINEA_GOERLI = 'linea-goerli',
364
+ //zkpolygon
365
+ ZKEVM = 'zkevm',
366
+ ZKEVM_TESTNET = 'zkevm-testnet',
367
+ //scroll
368
+ SCROLL = 'scroll',
369
+ SCROLL_TESTNET = 'scroll-testnet',
370
+ //cathay
371
+ CATHAY_TESTNET = 'cathay-testnet',
372
+ //kava
373
+ KAVA = 'kava',
374
+ KAVA_TESTNET = 'kava-testnet',
375
+ //tenet
376
+ TENET = 'tenet',
377
+ TENET_TESTNET = 'tenet-testnet',
378
+ //orderly
379
+ ORDERLY = 'orderly',
380
+ ORDERLY_TESTNET = 'orderly-testnet',
381
+ //canto
382
+ CANTO = 'canto',
383
+ CANTO_TESTNET = 'canto-testnet',
384
+ //nova
385
+ NOVA = 'nova',
386
+ NOVA_TESTNET = 'nova-testnet',
387
+ //aavegotchi
388
+ AAVEGOTCHI_TESTNET = 'aavegotchi-testnet',
389
+ //blockgen
390
+ BLOCKGEN_TESTNET = 'blockgen-testnet',
391
+ //meritcircle
392
+ BEAM = 'beam',
393
+ BEAM_TESTNET = 'beam-testnet',
394
+ //mantle
395
+ MANTLE = 'mantle',
396
+ MANTLE_TESTNET = 'mantle-testnet',
397
+ //hubble
398
+ HUBBLE = 'hubble',
399
+ HUBBLE_TESTNET = 'hubble-testnet',
400
+ //zora
401
+ ZORA = 'zora',
402
+ ZORA_TESTNET = 'zora-testnet',
403
+ //tomo
404
+ TOMO = 'tomo',
405
+ TOMO_TESTNET = 'tomo-testnet',
406
+ //loot
407
+ LOOT = 'loot',
408
+ LOOT_TESTNET = 'loot-testnet',
409
+ //telos
410
+ TELOS = 'telos',
411
+ TELOS_TESTNET = 'telos-testnet',
412
+ //opbnb
413
+ OPBNB = 'opbnb',
414
+ OPBNB_TESTNET = 'opbnb-testnet',
415
+ //shimmer
416
+ SHIMMER = 'shimmer',
417
+ SHIMMER_TESTNET = 'shimmer-testnet',
418
+ //aurora
419
+ AURORA = 'aurora',
420
+ AURORA_TESTNET = 'aurora-testnet',
421
+ //lif3
422
+ LIF3 = 'lif3',
423
+ LIF3_TESTNET = 'lif3-testnet',
424
+ //kiwi
425
+ KIWI_TESTNET = 'kiwi-testnet',
426
+ //kiwi2
427
+ KIWI2_TESTNET = 'kiwi2-testnet',
428
+ //astar
429
+ ASTAR = 'astar',
430
+ ASTAR_TESTNET = 'astar-testnet',
431
+ //conflux
432
+ CONFLUX = 'conflux',
433
+ CONFLUX_TESTNET = 'conflux-testnet',
434
+ //eon
435
+ EON = 'eon',
436
+ EON_TESTNET = 'eon-testnet',
437
+ //xpla
438
+ XPLA = 'xpla',
439
+ XPLA_TESTNET = 'xpla-testnet',
440
+ //holesky
441
+ HOLESKY = 'holesky',
442
+ HOLESKY_TESTNET = 'holesky-testnet',
443
+ //injective
444
+ INJECTIVE_TESTNET = 'injective-testnet',
445
+ //idex
446
+ IDEX_TESTNET = 'idex-testnet',
447
+ //manta
448
+ MANTA = 'manta',
449
+ MANTA_TESTNET = 'manta-testnet',
450
+ //zkatana
451
+ ZKATANA = 'zkatana',
452
+ ZKATANA_TESTNET = 'zkatana-testnet',
453
+ //frame
454
+ FRAME = 'frame',
455
+ FRAME_TESTNET = 'frame-testnet',
456
+ //polygoncdk
457
+ POLYGONCDK_TESTNET = 'polygoncdk-testnet',
458
+ //optsep
459
+ OPTIMISM_SEPOLIA = 'optimism-sepolia',
460
+ //venn
461
+ VENN_TESTNET = 'venn-testnet',
462
+ //rarible
463
+ RARIBLE = 'rarible',
464
+ RARIBLE_TESTNET = 'rarible-testnet',
465
+ //gunzilla
466
+ GUNZILLA = 'gunzilla',
467
+ GUNZILLA_TESTNET = 'gunzilla-testnet',
468
+ //rc1
469
+ RC1 = 'rc1',
470
+ RC1_TESTNET = 'rc1-testnet',
471
+ //bera
472
+ BERA = 'bera',
473
+ BERA_TESTNET = 'bera-testnet',
474
+ //bb1
475
+ BB1 = 'bb1',
476
+ BB1_TESTNET = 'bb1-testnet',
477
+ //xchain
478
+ XCHAIN = 'xchain',
479
+ XCHAIN_TESTNET = 'xchain-testnet',
480
+ //joc
481
+ JOC = 'joc',
482
+ JOC_TESTNET = 'joc-testnet',
483
+ //blast
484
+ BLAST = 'blast',
485
+ BLAST_TESTNET = 'blast-testnet',
486
+ //xai
487
+ XAI = 'xai',
488
+ XAI_TESTNET = 'xai-testnet',
489
+ //tangible
490
+ TANGIBLE = 'tangible',
491
+ TANGIBLE_TESTNET = 'tangible-testnet',
492
+ //zkpolygonsep
493
+ ZKPOLYGON_SEPOLIA = 'zkpolygon-sepolia',
494
+ //basesep
495
+ BASE_SEPOLIA = 'base-sepolia',
496
+ //zorasep
497
+ ZORA_SEPOLIA = 'zora-sepolia',
498
+ //etherlink
499
+ ETHERLINK = 'etherlink',
500
+ ETHERLINK_TESTNET = 'etherlink-testnet',
501
+ //exocore
502
+ EXOCORE_TESTNET = 'exocore-testnet',
503
+ //fraxtal
504
+ FRAXTAL = 'fraxtal',
505
+ FRAXTAL_TESTNET = 'fraxtal-testnet',
506
+ //tiltyard
507
+ TILTYARD = 'tiltyard',
508
+ //skale
509
+ SKALE = 'skale',
510
+ SKALE_TESTNET = 'skale-testnet',
511
+ //mode
512
+ MODE = 'mode',
513
+ MODE_TESTNET = 'mode-testnet',
514
+ //sei
515
+ SEI = 'sei',
516
+ SEI_TESTNET = 'sei-testnet',
517
+ //mantlesep
518
+ MANTLE_SEPOLIA = 'mantle-sepolia',
519
+ //hedera
520
+ HEDERA = 'hedera',
521
+ HEDERA_TESTNET = 'hedera-testnet',
522
+ //masa
523
+ MASA = 'masa',
524
+ MASA_TESTNET = 'masa-testnet',
525
+ //unreal
526
+ UNREAL_TESTNET = 'unreal-testnet',
527
+ //merlin
528
+ MERLIN = 'merlin',
529
+ MERLIN_TESTNET = 'merlin-testnet',
530
+ //real
531
+ REAL = 'real',
532
+ //homeverse
533
+ HOMEVERSE = 'homeverse',
534
+ //zkastar
535
+ ZKASTAR_TESTNET = 'zkastar-testnet',
536
+ //amoy
537
+ AMOY_TESTNET = 'amoy-testnet',
538
+ //xlayer
539
+ XLAYER = 'xlayer',
540
+ XLAYER_TESTNET = 'xlayer-testnet',
541
+ //form
542
+ FORM_TESTNET = 'form-testnet',
543
+ //ll1
544
+ LL1_TESTNET = 'll1-testnet',
545
+ //besu1
546
+ BESU1_TESTNET = 'besu1-testnet',
547
+ //mantasep
548
+ MANTASEP_TESTNET = 'mantasep-testnet',
549
+ //degen
550
+ DEGEN = 'degen',
551
+ //zircuit
552
+ ZIRCUIT = 'zircuit',
553
+ ZIRCUIT_TESTNET = 'zircuit-testnet',
554
+ //camp
555
+ CAMP = 'camp',
556
+ CAMP_TESTNET = 'camp-testnet',
557
+ //taiko
558
+ TAIKO = 'taiko',
559
+ TAIKO_TESTNET = 'taiko-testnet',
560
+ //olive
561
+ OLIVE_TESTNET = 'olive-testnet',
562
+ //sanko
563
+ SANKO = 'sanko',
564
+ SANKO_TESTNET = 'sanko-testnet',
565
+ //cyber
566
+ CYBER = 'cyber',
567
+ CYBER_TESTNET = 'cyber-testnet',
568
+ //bob
569
+ BOB = 'bob',
570
+ BOB_TESTNET = 'bob-testnet',
571
+ //botanix
572
+ BOTANIX_TESTNET = 'botanix-testnet',
573
+ //ebi
574
+ EBI = 'ebi',
575
+ EBI_TESTNET = 'ebi-testnet',
576
+ //lineasep
577
+ LINEA_SEPOLIA = 'linea-sepolia',
578
+ //iota
579
+ IOTA = 'iota',
580
+ IOTA_TESTNET = 'iota-testnet',
581
+ //morph
582
+ MORPH = 'morph',
583
+ MORPH_TESTNET = 'morph-testnet',
584
+ //bouncebit
585
+ BOUNCEBIT = 'bouncebit',
586
+ BOUNCEBIT_TESTNET = 'bouncebit-testnet',
587
+ //gravity
588
+ GRAVITY = 'gravity',
589
+ //bartio
590
+ BARTIO_TESTNET = 'bartio-testnet',
591
+ //flare
592
+ FLARE = 'flare',
593
+ FLARE_TESTNET = 'flare-testnet',
594
+ //metissep
595
+ METISSEP_TESTNET = 'metissep-testnet',
596
+ //zklink
597
+ ZKLINK_TESTNET = 'zklink-testnet',
598
+ //glue
599
+ GLUE = 'glue',
600
+ GLUE_TESTNET = 'glue-testnet',
601
+ //opencampus
602
+ OPENCAMPUS_TESTNET = 'opencampus-testnet',
603
+ //vanar
604
+ VANAR_TESTNET = 'vanar-testnet',
605
+ //peaq
606
+ PEAQ = 'peaq',
607
+ PEAQ_TESTNET = 'peaq-testnet',
608
+ //fi
609
+ FI_TESTNET = 'fi-testnet',
610
+ //curtis
611
+ CURTIS_TESTNET = 'curtis-testnet',
612
+ //ape
613
+ APE_MAINNET = 'ape-mainnet',
614
+ //plume
615
+ PLUME_MAINNET = 'plume-mainnet',
616
+ PLUME_TESTNET = 'plume-testnet',
617
+ //zksyncsep
618
+ ZKSYNCSEP_TESTNET = 'zksyncsep-testnet',
619
+ //lyra
620
+ LYRA = 'lyra',
621
+ LYRA_TESTNET = 'lyra-testnet',
622
+ //lightlink
623
+ LIGHTLINK_MAINNET = 'lightlink-mainnet',
624
+ LIGHTLINK_TESTNET = 'lightlink-testnet',
625
+ //bahamut
626
+ BAHAMUT_TESTNET = 'bahamut-testnet',
627
+ //codex
628
+ CODEX = 'codex',
629
+ CODEX_TESTNET = 'codex-testnet',
630
+ //root
631
+ ROOT_TESTNET = 'root-testnet',
632
+ //abstract
633
+ ABSTRACT = 'abstract',
634
+ ABSTRACT_TESTNET = 'abstract-testnet',
635
+ //treasure
636
+ TREASURE_TESTNET = 'treasure-testnet',
637
+ //otherworld
638
+ OTHERWORLD_TESTNET = 'otherworld-testnet',
639
+ //reya
640
+ REYA_TESTNET = 'reya-testnet',
641
+ //pgn
642
+ PGN = 'pgn',
643
+ PGN_TESTNET = 'pgn-testnet',
644
+ //bitlayer
645
+ BITLAYER = 'bitlayer',
646
+ BITLAYER_TESTNET = 'bitlayer-testnet',
647
+ //dm2verse
648
+ DM2VERSE = 'dm2verse',
649
+ DM2VERSE_TESTNET = 'dm2verse-testnet',
650
+ //story
651
+ STORY = 'story',
652
+ STORY_TESTNET = 'story-testnet',
653
+ //ozean
654
+ OZEAN_TESTNET = 'ozean-testnet',
655
+ //bevm
656
+ BEVM_MAINNET = 'bevm-mainnet',
657
+ BEVM_TESTNET = 'bevm-testnet',
658
+ //initia
659
+ INITIA = 'initia',
660
+ INITIA_TESTNET = 'initia-testnet',
661
+ //lisk
662
+ LISK = 'lisk',
663
+ LISK_TESTNET = 'lisk-testnet',
664
+ //kevnet
665
+ KEVNET_TESTNET = 'kevnet-testnet',
666
+ //bl2
667
+ BL2_TESTNET = 'bl2-testnet',
668
+ //plume2
669
+ PLUME2_TESTNET = 'plume2-testnet',
670
+ //ble
671
+ BLE_TESTNET = 'ble-testnet',
672
+ //unichain
673
+ UNICHAIN = 'unichain',
674
+ UNICHAIN_TESTNET = 'unichain-testnet',
675
+ //hyperliquid
676
+ HYPERLIQUID = 'hyperliquid',
677
+ HYPERLIQUID_TESTNET = 'hyperliquid-testnet',
678
+ //minato
679
+ MINATO_TESTNET = 'minato-testnet',
680
+ //worldcoin
681
+ WORLDCOIN_TESTNET = 'worldcoin-testnet',
682
+ //worldchain
683
+ WORLDCHAIN_MAINNET = 'worldchain-mainnet',
684
+ //superposition
685
+ SUPERPOSITION = 'superposition',
686
+ SUPERPOSITION_TESTNET = 'superposition-testnet',
687
+ //hemi
688
+ HEMI = 'hemi',
689
+ HEMI_TESTNET = 'hemi-testnet',
690
+ //moksha
691
+ MOKSHA_TESTNET = 'moksha-testnet',
692
+ //sophon
693
+ SOPHON = 'sophon',
694
+ SOPHON_TESTNET = 'sophon-testnet',
695
+ //gameswift
696
+ GAMESWIFT_TESTNET = 'gameswift-testnet',
697
+ //odyssey
698
+ ODYSSEY_TESTNET = 'odyssey-testnet',
699
+ //citrea
700
+ CITREA_TESTNET = 'citrea-testnet',
701
+ //edu
702
+ EDU = 'edu',
703
+ //islander
704
+ ISLANDER = 'islander',
705
+ ISLANDER_TESTNET = 'islander-testnet',
706
+ //mp1
707
+ MP1 = 'mp1',
708
+ MP1_TESTNET = 'mp1-testnet',
709
+ //bl3
710
+ BL3_TESTNET = 'bl3-testnet',
711
+ //flow
712
+ FLOW = 'flow',
713
+ FLOW_TESTNET = 'flow-testnet',
714
+ //rootstock
715
+ ROOTSTOCK = 'rootstock',
716
+ ROOTSTOCK_TESTNET = 'rootstock-testnet',
717
+ //swell
718
+ SWELL = 'swell',
719
+ SWELL_TESTNET = 'swell-testnet',
720
+ //sonic
721
+ SONIC = 'sonic',
722
+ SONIC_TESTNET = 'sonic-testnet',
723
+ //nibiru
724
+ NIBIRU = 'nibiru',
725
+ NIBIRU_TESTNET = 'nibiru-testnet',
726
+ //goat
727
+ GOAT = 'goat',
728
+ GOAT_TESTNET = 'goat-testnet',
729
+ //apexfusionnexus
730
+ APEXFUSIONNEXUS_TESTNET = 'apexfusionnexus-testnet',
731
+ //ink
732
+ INK = 'ink',
733
+ INK_SEPOLIA = 'ink-sepolia',
734
+ //memecoreformicarium
735
+ MEMECOREFORMICARIUM_TESTNET = 'memecoreformicarium-testnet',
736
+ //bl6
737
+ BL6_TESTNET = 'bl6-testnet',
738
+ //space
739
+ SPACE = 'space',
740
+ //soneium
741
+ SONEIUM = 'soneium',
742
+ //cronosevm
743
+ CRONOSEVM = 'cronosevm',
744
+ CRONOSEVM_TESTNET = 'cronosevm-testnet',
745
+ //cronoszkevm
746
+ CRONOSZKEVM = 'cronoszkevm',
747
+ CRONOSZKEVM_TESTNET = 'cronoszkevm-testnet',
748
+ //stabledevnet
749
+ STABLEDEVNET_TESTNET = 'stabledevnet-testnet',
750
+ //monad
751
+ MONAD_TESTNET = 'monad-testnet',
752
+ //xdc
753
+ XDC = 'xdc',
754
+ //concrete
755
+ CONCRETE = 'concrete',
756
+ //plumephoenix
757
+ PLUMEPHOENIX = 'plumephoenix',
758
+ PLUMEPHOENIX_TESTNET = 'plumephoenix-testnet',
759
+ //megaeth
760
+ MEGAETH_TESTNET = 'megaeth-testnet',
761
+ //bepolia
762
+ BEPOLIA = 'bepolia',
763
+ //gunz
764
+ GUNZ = 'gunz',
765
+ //animechain
766
+ ANIMECHAIN = 'animechain',
767
+ ANIMECHAIN_TESTNET = 'animechain-testnet',
768
+ //lens
769
+ LENS = 'lens',
770
+ LENS_TESTNET = 'lens-testnet',
771
+ //stable
772
+ STABLE_TESTNET = 'stable-testnet',
773
+ //ondo
774
+ ONDO_TESTNET = 'ondo-testnet',
775
+ //subtensorevm
776
+ SUBTENSOREVM = 'subtensorevm',
777
+ SUBTENSOREVM_TESTNET = 'subtensorevm-testnet',
778
+ //katana
779
+ KATANA_TESTNET = 'katana-testnet',
780
+ //tac
781
+ TAC = 'tac',
782
+ //tacspb
783
+ TACSPB_TESTNET = 'tacspb-testnet',
784
+ //injective1439
785
+ INJECTIVE1439_TESTNET = 'injective1439-testnet',
786
+ //plasma
787
+ PLASMA_TESTNET = 'plasma-testnet',
788
+ }
789
+
790
+ export enum ChainType {
791
+ EVM = 'evm',
792
+ TON = 'ton',
793
+ SOLANA = 'solana',
794
+ APTOSMOVE = 'aptosMove',
795
+ STARKNET = 'starknet',
796
+ }
797
+
798
+ export const CHAIN_NAME_TO_CHAIN_TYPE = {
799
+ ton: ChainType.TON,
800
+ avalanche: ChainType.EVM,
801
+ tron: ChainType.EVM,
802
+ ethereum: ChainType.EVM,
803
+ solana: ChainType.SOLANA,
804
+ aptos: ChainType.APTOSMOVE,
805
+ initia: ChainType.APTOSMOVE,
806
+ bsc: ChainType.EVM,
807
+ optimism: ChainType.EVM,
808
+ mantle: ChainType.EVM,
809
+ starknet: ChainType.STARKNET,
810
+ arbitrum: ChainType.EVM,
811
+ polygon: ChainType.EVM,
812
+ zkpolygon: ChainType.EVM,
813
+ fantom: ChainType.EVM,
814
+ swimmer: ChainType.EVM,
815
+ dfk: ChainType.EVM,
816
+ harmony: ChainType.EVM,
817
+ arcana: ChainType.EVM,
818
+ dexalot: ChainType.EVM,
819
+ castlecrush: ChainType.EVM,
820
+ gnosis: ChainType.EVM,
821
+ celo: ChainType.EVM,
822
+ moonbeam: ChainType.EVM,
823
+ boba: ChainType.EVM,
824
+ portal: ChainType.EVM,
825
+ intain: ChainType.EVM,
826
+ fuse: ChainType.EVM,
827
+ astar: ChainType.EVM,
828
+ zksync: ChainType.EVM,
829
+ shrapnel: ChainType.EVM,
830
+ dos: ChainType.EVM,
831
+ klaytn: ChainType.EVM,
832
+ metis: ChainType.EVM,
833
+ coredao: ChainType.EVM,
834
+ okx: ChainType.EVM,
835
+ meter: ChainType.EVM,
836
+ goerli: ChainType.EVM,
837
+ base: ChainType.EVM,
838
+ zkconsensys: ChainType.EVM,
839
+ sepolia: ChainType.EVM,
840
+ moonriver: ChainType.EVM,
841
+ aavegotchi: ChainType.EVM,
842
+ scroll: ChainType.EVM,
843
+ cathay: ChainType.EVM,
844
+ kava: ChainType.EVM,
845
+ tenet: ChainType.EVM,
846
+ canto: ChainType.EVM,
847
+ orderly: ChainType.EVM,
848
+ nova: ChainType.EVM,
849
+ blockgen: ChainType.EVM,
850
+ meritcircle: ChainType.EVM,
851
+ hubble: ChainType.EVM,
852
+ zora: ChainType.EVM,
853
+ tomo: ChainType.EVM,
854
+ loot: ChainType.EVM,
855
+ telos: ChainType.EVM,
856
+ aurora: ChainType.EVM,
857
+ opbnb: ChainType.EVM,
858
+ shimmer: ChainType.EVM,
859
+ monad: ChainType.EVM,
860
+ lif3: ChainType.EVM,
861
+ spruce: ChainType.EVM,
862
+ pgjjtk: ChainType.EVM,
863
+ oda: ChainType.EVM,
864
+ kiwi: ChainType.EVM,
865
+ conflux: ChainType.EVM,
866
+ eon: ChainType.EVM,
867
+ xpla: ChainType.EVM,
868
+ holesky: ChainType.EVM,
869
+ injective: ChainType.EVM,
870
+ idex: ChainType.EVM,
871
+ zkatana: ChainType.EVM,
872
+ manta: ChainType.EVM,
873
+ frame: ChainType.EVM,
874
+ pgn: ChainType.EVM,
875
+ polygoncdk: ChainType.EVM,
876
+ arbsep: ChainType.EVM,
877
+ optsep: ChainType.EVM,
878
+ bera: ChainType.EVM,
879
+ venn: ChainType.EVM,
880
+ rarible: ChainType.EVM,
881
+ gunzilla: ChainType.EVM,
882
+ rc1: ChainType.EVM,
883
+ etherlink: ChainType.EVM,
884
+ kiwi2: ChainType.EVM,
885
+ bb1: ChainType.EVM,
886
+ joc: ChainType.EVM,
887
+ blast: ChainType.EVM,
888
+ trondev: ChainType.EVM,
889
+ xai: ChainType.EVM,
890
+ tangible: ChainType.EVM,
891
+ basesep: ChainType.EVM,
892
+ mantlesep: ChainType.EVM,
893
+ zkpolygonsep: ChainType.EVM,
894
+ zksyncsep: ChainType.EVM,
895
+ zorasep: ChainType.EVM,
896
+ exocore: ChainType.EVM,
897
+ real: ChainType.EVM,
898
+ tiltyard: ChainType.EVM,
899
+ skale: ChainType.EVM,
900
+ fraxtal: ChainType.EVM,
901
+ sei: ChainType.EVM,
902
+ mode: ChainType.EVM,
903
+ hedera: ChainType.EVM,
904
+ unreal: ChainType.EVM,
905
+ masa: ChainType.EVM,
906
+ merlin: ChainType.EVM,
907
+ homeverse: ChainType.EVM,
908
+ zkastar: ChainType.EVM,
909
+ amoy: ChainType.EVM,
910
+ degen: ChainType.EVM,
911
+ xlayer: ChainType.EVM,
912
+ form: ChainType.EVM,
913
+ ll1: ChainType.EVM,
914
+ mantasep: ChainType.EVM,
915
+ taiko: ChainType.EVM,
916
+ zircuit: ChainType.EVM,
917
+ camp: ChainType.EVM,
918
+ olive: ChainType.EVM,
919
+ sanko: ChainType.EVM,
920
+ bob: ChainType.EVM,
921
+ cyber: ChainType.EVM,
922
+ botanix: ChainType.EVM,
923
+ xchain: ChainType.EVM,
924
+ zklink: ChainType.EVM,
925
+ ebi: ChainType.EVM,
926
+ kinto: ChainType.EVM,
927
+ lineasep: ChainType.EVM,
928
+ iota: ChainType.EVM,
929
+ besu1: ChainType.EVM,
930
+ bouncebit: ChainType.EVM,
931
+ morph: ChainType.EVM,
932
+ gravity: ChainType.EVM,
933
+ bartio: ChainType.EVM,
934
+ metissep: ChainType.EVM,
935
+ flare: ChainType.EVM,
936
+ glue: ChainType.EVM,
937
+ opencampus: ChainType.EVM,
938
+ vanar: ChainType.EVM,
939
+ peaq: ChainType.EVM,
940
+ fi: ChainType.EVM,
941
+ curtis: ChainType.EVM,
942
+ lyra: ChainType.EVM,
943
+ lightlink: ChainType.EVM,
944
+ bahamut: ChainType.EVM,
945
+ codex: ChainType.EVM,
946
+ otherworld: ChainType.EVM,
947
+ abstract: ChainType.EVM,
948
+ root: ChainType.EVM,
949
+ story: ChainType.EVM,
950
+ treasure: ChainType.EVM,
951
+ reya: ChainType.EVM,
952
+ bitlayer: ChainType.EVM,
953
+ dm2verse: ChainType.EVM,
954
+ ape: ChainType.EVM,
955
+ ozean: ChainType.EVM,
956
+ bevm: ChainType.EVM,
957
+ lisk: ChainType.EVM,
958
+ plume2: ChainType.EVM,
959
+ kevnet: ChainType.EVM,
960
+ ble: ChainType.EVM,
961
+ bl2: ChainType.EVM,
962
+ hyperliquid: ChainType.EVM,
963
+ hyperliquidburned: ChainType.EVM,
964
+ unichain: ChainType.EVM,
965
+ minato: ChainType.EVM,
966
+ worldcoin: ChainType.EVM,
967
+ worldchain: ChainType.EVM,
968
+ superposition: ChainType.EVM,
969
+ hemi: ChainType.EVM,
970
+ gameswift: ChainType.EVM,
971
+ odyssey: ChainType.EVM,
972
+ sophon: ChainType.EVM,
973
+ moksha: ChainType.EVM,
974
+ edu: ChainType.EVM,
975
+ citrea: ChainType.EVM,
976
+ islander: ChainType.EVM,
977
+ bl3: ChainType.EVM,
978
+ mp1: ChainType.EVM,
979
+ sonic: ChainType.EVM,
980
+ rootstock: ChainType.EVM,
981
+ flow: ChainType.EVM,
982
+ nibiru: ChainType.EVM,
983
+ nibiruburned: ChainType.EVM,
984
+ swell: ChainType.EVM,
985
+ memecoreformicarium: ChainType.EVM,
986
+ apexfusionnexus: ChainType.EVM,
987
+ goat: ChainType.EVM,
988
+ bl4: ChainType.EVM,
989
+ bl5: ChainType.EVM,
990
+ bl6: ChainType.EVM,
991
+ ink: ChainType.EVM,
992
+ soneium: ChainType.EVM,
993
+ space: ChainType.EVM,
994
+ cronosevm: ChainType.EVM,
995
+ cronoszkevm: ChainType.EVM,
996
+ stabledevnet: ChainType.EVM,
997
+ xdc: ChainType.EVM,
998
+ concrete: ChainType.EVM,
999
+ plume: ChainType.EVM,
1000
+ plumephoenix: ChainType.EVM,
1001
+ megaeth: ChainType.EVM,
1002
+ bepolia: ChainType.EVM,
1003
+ gunz: ChainType.EVM,
1004
+ animechain: ChainType.EVM,
1005
+ lens: ChainType.EVM,
1006
+ stable: ChainType.EVM,
1007
+ ondo: ChainType.EVM,
1008
+ somnia: ChainType.EVM,
1009
+ converge: ChainType.EVM,
1010
+ subtensorevm: ChainType.EVM,
1011
+ katana: ChainType.EVM,
1012
+ tacspb: ChainType.EVM,
1013
+ tac: ChainType.EVM,
1014
+ somniashannon: ChainType.EVM,
1015
+ siliconsepolia: ChainType.EVM,
1016
+ ethereal: ChainType.EVM,
1017
+ silicon: ChainType.EVM,
1018
+ injective1439: ChainType.EVM,
1019
+ plasma: ChainType.EVM,
1020
+ } as const satisfies Record<ChainName, ChainType>;
1021
+
1022
+ export const CHAIN_TYPE_TO_CHAIN_NAME = Object.entries(CHAIN_NAME_TO_CHAIN_TYPE).reduce(
1023
+ (acc, [chainName, chainType]) => {
1024
+ if (!acc[chainType]) {
1025
+ acc[chainType] = [];
1026
+ }
1027
+ acc[chainType].push(chainName);
1028
+ return acc;
1029
+ },
1030
+ {} as Record<ChainType, string[]>,
1031
+ ) as Record<ChainType, ChainName[]>;
1032
+
1033
+ export type InferChainTypeForChainName<_ChainName extends ChainName | `${ChainName}`> =
1034
+ | (typeof CHAIN_NAME_TO_CHAIN_TYPE)[_ChainName]
1035
+ | `${(typeof CHAIN_NAME_TO_CHAIN_TYPE)[_ChainName]}`;
1036
+
1037
+ export type InferChainNamesForChainType<_ChainType extends ChainType | `${ChainType}`> = {
1038
+ [_ChainName in ChainName]: (typeof CHAIN_NAME_TO_CHAIN_TYPE)[_ChainName] extends _ChainType
1039
+ ? _ChainName | `${_ChainName}`
1040
+ : never;
1041
+ }[ChainName];
1042
+
1043
+ //these types are extremely expensive and probably not worth having
1044
+
1045
+ // export type InferChainSlugsForChainName<_ChainName extends ChainName | `${ChainName}`> = {
1046
+ // [S in ChainSlug]: (typeof STATIC_CONFIGS)[S]['name'] extends _ChainName ? S : never;
1047
+ // }[ChainSlug];
1048
+
1049
+ // export type InferChainSlugForChainNameAndEnvironment<
1050
+ // _ChainName extends ChainName | `${ChainName}`,
1051
+ // _Environment extends Environment | `${Environment}`,
1052
+ // > = {
1053
+ // [S in ChainSlug]: (typeof STATIC_CONFIGS)[S]['name'] extends _ChainName
1054
+ // ? (typeof STATIC_CONFIGS)[S]['environment'] extends _Environment
1055
+ // ? S
1056
+ // : never
1057
+ // : never;
1058
+ // }[ChainSlug];
1059
+
1060
+ export const getChainTypeForChainName = <_ChainName extends ChainName | `${ChainName}`>(
1061
+ chainName: _ChainName,
1062
+ ): InferChainTypeForChainName<_ChainName> => {
1063
+ return CHAIN_NAME_TO_CHAIN_TYPE[chainName];
1064
+ };
1065
+
1066
+ export const getChainNamesForChainType = <_ChainType extends ChainType | `${ChainType}`>(
1067
+ chainType: _ChainType,
1068
+ ): InferChainNamesForChainType<_ChainType>[] => {
1069
+ return Object.entries(CHAIN_NAME_TO_CHAIN_TYPE)
1070
+ .filter(([_, type]) => type === chainType)
1071
+ .map(([name]) => name) as InferChainNamesForChainType<_ChainType>[];
1072
+ };