@hypermid/sdk 1.2.0

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.
@@ -0,0 +1,507 @@
1
+ /**
2
+ * Unified Hypermid Chain Registry
3
+ *
4
+ * Single source of truth for all chain definitions across the Hypermid platform.
5
+ * Maps Hypermid chain slugs to internal numeric IDs, LiFi chain IDs, and
6
+ * Near Intents blockchain strings.
7
+ *
8
+ * Design:
9
+ * - EVM chains keep their standard numeric chain IDs (1, 42161, 8453...)
10
+ * - Non-EVM chains use human-readable string slugs ("solana", "bitcoin", "near")
11
+ * - Both formats are always accepted via resolveChain()
12
+ * - Protocol routing (LiFi vs Near Intents) is handled internally
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { resolveChain, ChainSlug } from "@hypermid/sdk";
17
+ *
18
+ * // Resolve by slug or numeric ID — both work
19
+ * const eth = resolveChain("ethereum"); // { slug: "ethereum", numericId: 1, ... }
20
+ * const arb = resolveChain(42161); // { slug: "arbitrum", numericId: 42161, ... }
21
+ * const sol = resolveChain("solana"); // { slug: "solana", numericId: 1151111081099710, ... }
22
+ * ```
23
+ */
24
+ // ─── Constants ─────────────────────────────────────────────────────────────
25
+ const NI_BASE = 900_000_000;
26
+ const EVM_PLACEHOLDER = "0x0000000000000000000000000000000000000001";
27
+ // ─── Chain Registry ────────────────────────────────────────────────────────
28
+ export const CHAIN_REGISTRY = [
29
+ // ═══════════════════════════════════════════════════════════════════════════
30
+ // EVM Chains (standard chain IDs, supported by LiFi + some by Near Intents)
31
+ // ═══════════════════════════════════════════════════════════════════════════
32
+ {
33
+ slug: "ethereum", numericId: 1, name: "Ethereum", type: "evm",
34
+ providers: ["lifi", "near-intents"], lifiChainId: 1, niBlockchain: "eth",
35
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
36
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
37
+ },
38
+ {
39
+ slug: "optimism", numericId: 10, name: "Optimism", type: "evm",
40
+ providers: ["lifi", "near-intents"], lifiChainId: 10, niBlockchain: "op",
41
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
42
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
43
+ },
44
+ {
45
+ slug: "flare", numericId: 14, name: "Flare", type: "evm",
46
+ providers: ["lifi"], lifiChainId: 14,
47
+ depositMode: "wallet", nativeToken: { symbol: "FLR", name: "Flare", decimals: 18 },
48
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
49
+ },
50
+ {
51
+ slug: "cronos", numericId: 25, name: "Cronos", type: "evm",
52
+ providers: ["lifi"], lifiChainId: 25,
53
+ depositMode: "wallet", nativeToken: { symbol: "CRO", name: "Cronos", decimals: 18 },
54
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
55
+ },
56
+ {
57
+ slug: "rootstock", numericId: 30, name: "Rootstock", type: "evm",
58
+ providers: ["lifi"], lifiChainId: 30,
59
+ depositMode: "wallet", nativeToken: { symbol: "RBTC", name: "RSK BTC", decimals: 18 },
60
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
61
+ },
62
+ {
63
+ slug: "telos", numericId: 40, name: "Telos", type: "evm",
64
+ providers: ["lifi"], lifiChainId: 40,
65
+ depositMode: "wallet", nativeToken: { symbol: "TLOS", name: "Telos", decimals: 18 },
66
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
67
+ },
68
+ {
69
+ slug: "bsc", numericId: 56, name: "BNB Chain", type: "evm",
70
+ providers: ["lifi", "near-intents"], lifiChainId: 56, niBlockchain: "bsc",
71
+ depositMode: "wallet", nativeToken: { symbol: "BNB", name: "BNB", decimals: 18 },
72
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
73
+ },
74
+ {
75
+ slug: "gnosis", numericId: 100, name: "Gnosis", type: "evm",
76
+ providers: ["lifi", "near-intents"], lifiChainId: 100, niBlockchain: "gnosis",
77
+ depositMode: "wallet", nativeToken: { symbol: "xDAI", name: "xDAI", decimals: 18 },
78
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
79
+ },
80
+ {
81
+ slug: "unichain", numericId: 130, name: "Unichain", type: "evm",
82
+ providers: ["lifi"], lifiChainId: 130,
83
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
84
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
85
+ },
86
+ {
87
+ slug: "polygon", numericId: 137, name: "Polygon", type: "evm",
88
+ providers: ["lifi", "near-intents"], lifiChainId: 137, niBlockchain: "pol",
89
+ depositMode: "wallet", nativeToken: { symbol: "POL", name: "POL", decimals: 18 },
90
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
91
+ },
92
+ {
93
+ slug: "sonic", numericId: 146, name: "Sonic", type: "evm",
94
+ providers: ["lifi"], lifiChainId: 146,
95
+ depositMode: "wallet", nativeToken: { symbol: "S", name: "Sonic", decimals: 18 },
96
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
97
+ },
98
+ {
99
+ slug: "x-layer", numericId: 196, name: "X Layer", type: "evm",
100
+ providers: ["lifi", "near-intents"], lifiChainId: 196, niBlockchain: "xlayer",
101
+ depositMode: "wallet", nativeToken: { symbol: "OKB", name: "OKB", decimals: 18 },
102
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
103
+ },
104
+ {
105
+ slug: "opbnb", numericId: 204, name: "opBNB", type: "evm",
106
+ providers: ["lifi"], lifiChainId: 204,
107
+ depositMode: "wallet", nativeToken: { symbol: "BNB", name: "BNB", decimals: 18 },
108
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
109
+ },
110
+ {
111
+ slug: "fraxtal", numericId: 252, name: "Fraxtal", type: "evm",
112
+ providers: ["lifi"], lifiChainId: 252,
113
+ depositMode: "wallet", nativeToken: { symbol: "frxETH", name: "Frax Ether", decimals: 18 },
114
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
115
+ },
116
+ {
117
+ slug: "boba", numericId: 288, name: "Boba", type: "evm",
118
+ providers: ["lifi"], lifiChainId: 288,
119
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
120
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
121
+ },
122
+ {
123
+ slug: "zksync", numericId: 324, name: "zkSync Era", type: "evm",
124
+ providers: ["lifi"], lifiChainId: 324,
125
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
126
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
127
+ },
128
+ {
129
+ slug: "world-chain", numericId: 480, name: "World Chain", type: "evm",
130
+ providers: ["lifi"], lifiChainId: 480,
131
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
132
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
133
+ },
134
+ {
135
+ slug: "flow", numericId: 747, name: "Flow", type: "evm",
136
+ providers: ["lifi"], lifiChainId: 747,
137
+ depositMode: "wallet", nativeToken: { symbol: "FLOW", name: "Flow", decimals: 18 },
138
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
139
+ },
140
+ {
141
+ slug: "hyperevm", numericId: 999, name: "HyperEVM", type: "evm",
142
+ providers: ["lifi"], lifiChainId: 999,
143
+ depositMode: "wallet", nativeToken: { symbol: "HYPE", name: "HYPE", decimals: 18 },
144
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
145
+ },
146
+ {
147
+ slug: "plasma", numericId: 1012, name: "Plasma", type: "evm",
148
+ providers: ["near-intents"], niBlockchain: "plasma",
149
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
150
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
151
+ },
152
+ {
153
+ slug: "metis", numericId: 1088, name: "Metis", type: "evm",
154
+ providers: ["lifi"], lifiChainId: 1088,
155
+ depositMode: "wallet", nativeToken: { symbol: "METIS", name: "Metis", decimals: 18 },
156
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
157
+ },
158
+ {
159
+ slug: "lisk", numericId: 1135, name: "Lisk", type: "evm",
160
+ providers: ["lifi"], lifiChainId: 1135,
161
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
162
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
163
+ },
164
+ {
165
+ slug: "moonbeam", numericId: 1284, name: "Moonbeam", type: "evm",
166
+ providers: ["lifi"], lifiChainId: 1284,
167
+ depositMode: "wallet", nativeToken: { symbol: "GLMR", name: "Glimmer", decimals: 18 },
168
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
169
+ },
170
+ {
171
+ slug: "sei", numericId: 1329, name: "Sei", type: "evm",
172
+ providers: ["lifi"], lifiChainId: 1329,
173
+ depositMode: "wallet", nativeToken: { symbol: "SEI", name: "Sei", decimals: 18 },
174
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
175
+ },
176
+ {
177
+ slug: "gravity", numericId: 1625, name: "Gravity", type: "evm",
178
+ providers: ["lifi"], lifiChainId: 1625,
179
+ depositMode: "wallet", nativeToken: { symbol: "G", name: "Gravity", decimals: 18 },
180
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
181
+ },
182
+ {
183
+ slug: "soneium", numericId: 1868, name: "Soneium", type: "evm",
184
+ providers: ["lifi"], lifiChainId: 1868,
185
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
186
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
187
+ },
188
+ {
189
+ slug: "ronin", numericId: 2020, name: "Ronin", type: "evm",
190
+ providers: ["lifi"], lifiChainId: 2020,
191
+ depositMode: "wallet", nativeToken: { symbol: "RON", name: "Ronin", decimals: 18 },
192
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
193
+ },
194
+ {
195
+ slug: "abstract", numericId: 2741, name: "Abstract", type: "evm",
196
+ providers: ["lifi"], lifiChainId: 2741,
197
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
198
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
199
+ },
200
+ {
201
+ slug: "mantle", numericId: 5000, name: "Mantle", type: "evm",
202
+ providers: ["lifi"], lifiChainId: 5000,
203
+ depositMode: "wallet", nativeToken: { symbol: "MNT", name: "Mantle", decimals: 18 },
204
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
205
+ },
206
+ {
207
+ slug: "base", numericId: 8453, name: "Base", type: "evm",
208
+ providers: ["lifi", "near-intents"], lifiChainId: 8453, niBlockchain: "base",
209
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
210
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
211
+ },
212
+ {
213
+ slug: "monad", numericId: 10143, name: "Monad", type: "evm",
214
+ providers: ["near-intents"], niBlockchain: "monad",
215
+ depositMode: "wallet", nativeToken: { symbol: "MON", name: "Monad", decimals: 18 },
216
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
217
+ },
218
+ {
219
+ slug: "immutable", numericId: 13371, name: "Immutable zkEVM", type: "evm",
220
+ providers: ["lifi"], lifiChainId: 13371,
221
+ depositMode: "wallet", nativeToken: { symbol: "IMX", name: "IMX", decimals: 18 },
222
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
223
+ },
224
+ {
225
+ slug: "apechain", numericId: 33139, name: "Apechain", type: "evm",
226
+ providers: ["lifi"], lifiChainId: 33139,
227
+ depositMode: "wallet", nativeToken: { symbol: "APE", name: "APE", decimals: 18 },
228
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
229
+ },
230
+ {
231
+ slug: "mode", numericId: 34443, name: "Mode", type: "evm",
232
+ providers: ["lifi"], lifiChainId: 34443,
233
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
234
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
235
+ },
236
+ {
237
+ slug: "arbitrum", numericId: 42161, name: "Arbitrum", type: "evm",
238
+ providers: ["lifi", "near-intents"], lifiChainId: 42161, niBlockchain: "arb",
239
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
240
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
241
+ },
242
+ {
243
+ slug: "celo", numericId: 42220, name: "Celo", type: "evm",
244
+ providers: ["lifi"], lifiChainId: 42220,
245
+ depositMode: "wallet", nativeToken: { symbol: "CELO", name: "CELO", decimals: 18 },
246
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
247
+ },
248
+ {
249
+ slug: "avalanche", numericId: 43114, name: "Avalanche", type: "evm",
250
+ providers: ["lifi", "near-intents"], lifiChainId: 43114, niBlockchain: "avax",
251
+ depositMode: "wallet", nativeToken: { symbol: "AVAX", name: "Avalanche", decimals: 18 },
252
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
253
+ },
254
+ {
255
+ slug: "ink", numericId: 57073, name: "Ink", type: "evm",
256
+ providers: ["lifi"], lifiChainId: 57073,
257
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
258
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
259
+ },
260
+ {
261
+ slug: "linea", numericId: 59144, name: "Linea", type: "evm",
262
+ providers: ["lifi"], lifiChainId: 59144,
263
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
264
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
265
+ },
266
+ {
267
+ slug: "bob", numericId: 60808, name: "BOB", type: "evm",
268
+ providers: ["lifi"], lifiChainId: 60808,
269
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
270
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
271
+ },
272
+ {
273
+ slug: "berachain", numericId: 80094, name: "Berachain", type: "evm",
274
+ providers: ["lifi", "near-intents"], lifiChainId: 80094, niBlockchain: "bera",
275
+ depositMode: "wallet", nativeToken: { symbol: "BERA", name: "Bera", decimals: 18 },
276
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
277
+ },
278
+ {
279
+ slug: "blast", numericId: 81457, name: "Blast", type: "evm",
280
+ providers: ["lifi"], lifiChainId: 81457,
281
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
282
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
283
+ },
284
+ {
285
+ slug: "taiko", numericId: 167000, name: "Taiko", type: "evm",
286
+ providers: ["lifi"], lifiChainId: 167000,
287
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
288
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
289
+ },
290
+ {
291
+ slug: "scroll", numericId: 534352, name: "Scroll", type: "evm",
292
+ providers: ["lifi", "near-intents"], lifiChainId: 534352, niBlockchain: "scroll",
293
+ depositMode: "wallet", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
294
+ dryQuotePlaceholder: EVM_PLACEHOLDER,
295
+ },
296
+ // ═══════════════════════════════════════════════════════════════════════════
297
+ // Non-EVM Chains (shared between LiFi and Near Intents)
298
+ // ═══════════════════════════════════════════════════════════════════════════
299
+ {
300
+ slug: "solana", numericId: 1151111081099710, name: "Solana", type: "svm",
301
+ providers: ["lifi", "near-intents"], lifiChainId: 1151111081099710, niBlockchain: "sol",
302
+ depositMode: "wallet", nativeToken: { symbol: "SOL", name: "Solana", decimals: 9 },
303
+ dryQuotePlaceholder: "11111111111111111111111111111111",
304
+ },
305
+ {
306
+ slug: "bitcoin", numericId: 20000000000001, name: "Bitcoin", type: "utxo",
307
+ providers: ["lifi", "near-intents"], lifiChainId: 20000000000001, niBlockchain: "btc",
308
+ depositMode: "wallet", nativeToken: { symbol: "BTC", name: "Bitcoin", decimals: 8 },
309
+ dryQuotePlaceholder: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
310
+ },
311
+ {
312
+ slug: "sui", numericId: 9270000000000000, name: "Sui", type: "mvm",
313
+ providers: ["lifi", "near-intents"], lifiChainId: 9270000000000000, niBlockchain: "sui",
314
+ depositMode: "wallet", nativeToken: { symbol: "SUI", name: "Sui", decimals: 9 },
315
+ dryQuotePlaceholder: "0x0000000000000000000000000000000000000000000000000000000000000002",
316
+ },
317
+ // ═══════════════════════════════════════════════════════════════════════════
318
+ // Near Intents-only Chains (900_000_XXX range)
319
+ // ═══════════════════════════════════════════════════════════════════════════
320
+ {
321
+ slug: "near", numericId: NI_BASE + 1, name: "NEAR", type: "near",
322
+ providers: ["near-intents"], niBlockchain: "near",
323
+ depositMode: "manual", nativeToken: { symbol: "NEAR", name: "NEAR", decimals: 24 },
324
+ dryQuotePlaceholder: "dontuse.near",
325
+ },
326
+ {
327
+ slug: "ton", numericId: NI_BASE + 2, name: "TON", type: "ton",
328
+ providers: ["near-intents"], niBlockchain: "ton",
329
+ depositMode: "wallet", nativeToken: { symbol: "TON", name: "Toncoin", decimals: 9 },
330
+ dryQuotePlaceholder: "EQAblnTrpCt2FnOwlwGORzJJJbWAniJa4OPyf8XMtm16HxaR",
331
+ },
332
+ {
333
+ slug: "tron", numericId: NI_BASE + 3, name: "Tron", type: "tvm",
334
+ providers: ["near-intents"], niBlockchain: "tron",
335
+ depositMode: "wallet", nativeToken: { symbol: "TRX", name: "TRON", decimals: 6 },
336
+ dryQuotePlaceholder: "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb",
337
+ },
338
+ {
339
+ slug: "xrp", numericId: NI_BASE + 4, name: "XRP Ledger", type: "xrp",
340
+ providers: ["near-intents"], niBlockchain: "xrp",
341
+ depositMode: "manual", nativeToken: { symbol: "XRP", name: "XRP", decimals: 6 },
342
+ dryQuotePlaceholder: "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
343
+ },
344
+ {
345
+ slug: "doge", numericId: NI_BASE + 5, name: "Dogecoin", type: "utxo",
346
+ providers: ["near-intents"], niBlockchain: "doge",
347
+ depositMode: "manual", nativeToken: { symbol: "DOGE", name: "Dogecoin", decimals: 8 },
348
+ dryQuotePlaceholder: "DRapidDiBYggT1zdrELnVhNDqyAHn89cRi",
349
+ },
350
+ {
351
+ slug: "litecoin", numericId: NI_BASE + 6, name: "Litecoin", type: "utxo",
352
+ providers: ["near-intents"], niBlockchain: "ltc",
353
+ depositMode: "manual", nativeToken: { symbol: "LTC", name: "Litecoin", decimals: 8 },
354
+ dryQuotePlaceholder: "LhyLNfBkoKshT7R8Pce6vkB9T2cP2o84hx",
355
+ },
356
+ {
357
+ slug: "bitcoin-cash", numericId: NI_BASE + 7, name: "Bitcoin Cash", type: "utxo",
358
+ providers: ["near-intents"], niBlockchain: "bch",
359
+ depositMode: "manual", nativeToken: { symbol: "BCH", name: "Bitcoin Cash", decimals: 8 },
360
+ dryQuotePlaceholder: "bitcoincash:qp3wjpa3tjlj042z2wv7hahsldgwhwy0rq9sywjpyy",
361
+ },
362
+ {
363
+ slug: "stellar", numericId: NI_BASE + 8, name: "Stellar", type: "stellar",
364
+ providers: ["near-intents"], niBlockchain: "stellar",
365
+ depositMode: "manual", nativeToken: { symbol: "XLM", name: "Stellar Lumen", decimals: 7 },
366
+ dryQuotePlaceholder: "GAAZI4TCR3TY5OJHCTJC2A4QSY6CJWJH5IAJTGKIN2ER7LBNVKOCCWN7",
367
+ },
368
+ {
369
+ slug: "cardano", numericId: NI_BASE + 9, name: "Cardano", type: "cardano",
370
+ providers: ["near-intents"], niBlockchain: "cardano",
371
+ depositMode: "manual", nativeToken: { symbol: "ADA", name: "Cardano", decimals: 6 },
372
+ dryQuotePlaceholder: "addr1vy5zuhh9685fup86syuzmu3e6eengzv8t46mfqxg086cvqqrukl6w",
373
+ },
374
+ {
375
+ slug: "aptos", numericId: NI_BASE + 10, name: "Aptos", type: "aptos",
376
+ providers: ["near-intents"], niBlockchain: "aptos",
377
+ depositMode: "manual", nativeToken: { symbol: "APT", name: "Aptos", decimals: 8 },
378
+ dryQuotePlaceholder: "0x0000000000000000000000000000000000000000000000000000000000000001",
379
+ },
380
+ {
381
+ slug: "starknet", numericId: NI_BASE + 11, name: "StarkNet", type: "starknet",
382
+ providers: ["near-intents"], niBlockchain: "starknet",
383
+ depositMode: "manual", nativeToken: { symbol: "ETH", name: "Ether", decimals: 18 },
384
+ dryQuotePlaceholder: "0x0000000000000000000000000000000000000000000000000000000000000001",
385
+ },
386
+ {
387
+ slug: "dash", numericId: NI_BASE + 12, name: "Dash", type: "utxo",
388
+ providers: ["near-intents"], niBlockchain: "dash",
389
+ depositMode: "manual", nativeToken: { symbol: "DASH", name: "Dash", decimals: 8 },
390
+ dryQuotePlaceholder: "XqL1DXzfqWcMKbhswTBYFGKtdfYJC2JWnj",
391
+ },
392
+ {
393
+ slug: "zcash", numericId: NI_BASE + 13, name: "Zcash", type: "utxo",
394
+ providers: ["near-intents"], niBlockchain: "zec",
395
+ depositMode: "manual", nativeToken: { symbol: "ZEC", name: "Zcash", decimals: 8 },
396
+ dryQuotePlaceholder: "t1Rv4exT7bqhZqi2j7xz8bUHDMxwosrjADU",
397
+ },
398
+ {
399
+ slug: "aleo", numericId: NI_BASE + 14, name: "Aleo", type: "aleo",
400
+ providers: ["near-intents"], niBlockchain: "aleo",
401
+ depositMode: "manual", nativeToken: { symbol: "ALEO", name: "Aleo", decimals: 6 },
402
+ dryQuotePlaceholder: "aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8sta57j8",
403
+ },
404
+ {
405
+ slug: "adi", numericId: NI_BASE + 15, name: "ADI", type: "other",
406
+ providers: ["near-intents"], niBlockchain: "adi",
407
+ depositMode: "manual", nativeToken: { symbol: "ADI", name: "ADI", decimals: 18 },
408
+ },
409
+ ];
410
+ // ─── Lookup Maps (built once, O(1) access) ─────────────────────────────────
411
+ const bySlug = new Map();
412
+ const byNumericId = new Map();
413
+ const byNiBlockchain = new Map();
414
+ for (const entry of CHAIN_REGISTRY) {
415
+ bySlug.set(entry.slug, entry);
416
+ byNumericId.set(entry.numericId, entry);
417
+ if (entry.niBlockchain) {
418
+ byNiBlockchain.set(entry.niBlockchain, entry);
419
+ }
420
+ }
421
+ // ─── Public API ────────────────────────────────────────────────────────────
422
+ /**
423
+ * Resolve a chain by slug (string) or numeric ID (number).
424
+ * Returns the ChainEntry or null if not found.
425
+ *
426
+ * @example
427
+ * resolveChain("ethereum") → { slug: "ethereum", numericId: 1, ... }
428
+ * resolveChain(42161) → { slug: "arbitrum", numericId: 42161, ... }
429
+ * resolveChain("solana") → { slug: "solana", numericId: 1151111081099710, ... }
430
+ * resolveChain(1151111081099710) → { slug: "solana", numericId: 1151111081099710, ... }
431
+ */
432
+ export function resolveChain(input) {
433
+ if (typeof input === "number") {
434
+ return byNumericId.get(input) ?? null;
435
+ }
436
+ // Try slug first
437
+ const slugMatch = bySlug.get(input.toLowerCase());
438
+ if (slugMatch)
439
+ return slugMatch;
440
+ // Try as numeric string
441
+ const num = Number(input);
442
+ if (!isNaN(num) && Number.isFinite(num)) {
443
+ return byNumericId.get(num) ?? null;
444
+ }
445
+ // Try as NI blockchain string (e.g., "eth", "arb", "sol")
446
+ return byNiBlockchain.get(input.toLowerCase()) ?? null;
447
+ }
448
+ /**
449
+ * Convert any chain identifier to the LiFi chain ID.
450
+ * Returns undefined if LiFi doesn't support this chain.
451
+ */
452
+ export function toLifiChainId(input) {
453
+ return resolveChain(input)?.lifiChainId;
454
+ }
455
+ /**
456
+ * Convert any chain identifier to the Near Intents blockchain string.
457
+ * Returns undefined if Near Intents doesn't support this chain.
458
+ */
459
+ export function toNIBlockchain(input) {
460
+ return resolveChain(input)?.niBlockchain;
461
+ }
462
+ /**
463
+ * Convert any chain identifier to the internal numeric ID.
464
+ * This is the canonical numeric ID used internally.
465
+ */
466
+ export function toNumericId(input) {
467
+ return resolveChain(input)?.numericId;
468
+ }
469
+ /**
470
+ * Check if a chain ID belongs to a Near Intents-only chain (900_000_XXX range).
471
+ */
472
+ export function isNIOnlyChain(input) {
473
+ const entry = resolveChain(input);
474
+ if (!entry)
475
+ return false;
476
+ return entry.providers.length === 1 && entry.providers[0] === "near-intents";
477
+ }
478
+ /**
479
+ * Check if a chain supports wallet-connected deposit mode.
480
+ */
481
+ export function supportsWalletDeposit(input) {
482
+ const entry = resolveChain(input);
483
+ return entry?.depositMode === "wallet";
484
+ }
485
+ /**
486
+ * Get the dry quote placeholder address for a chain.
487
+ */
488
+ export function getDryQuotePlaceholder(input) {
489
+ return resolveChain(input)?.dryQuotePlaceholder;
490
+ }
491
+ /**
492
+ * Get all registered chains.
493
+ */
494
+ export function getAllChains() {
495
+ return [...CHAIN_REGISTRY];
496
+ }
497
+ /**
498
+ * Get chains filtered by provider.
499
+ */
500
+ export function getChainsByProvider(provider) {
501
+ return CHAIN_REGISTRY.filter((c) => c.providers.includes(provider));
502
+ }
503
+ /**
504
+ * The Near Intents chain ID base constant (900_000_000).
505
+ */
506
+ export const NI_CHAIN_BASE = NI_BASE;
507
+ //# sourceMappingURL=chain-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-registry.js","sourceRoot":"","sources":["../src/chain-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Chain ID constants for all supported chains.
3
+ *
4
+ * EVM chains use their standard numeric chain IDs.
5
+ * Non-EVM chains can be referenced by slug string (preferred) or numeric ID.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { ChainId, ChainSlug } from "@hypermid/sdk";
10
+ *
11
+ * // Numeric IDs (backwards compatible)
12
+ * const quote = await hm.getQuote({
13
+ * fromChain: ChainId.ETHEREUM, // 1
14
+ * toChain: ChainId.ARBITRUM, // 42161
15
+ * ...
16
+ * });
17
+ *
18
+ * // String slugs (recommended for non-EVM)
19
+ * const quote2 = await hm.getQuote({
20
+ * fromChain: ChainSlug.SOLANA, // "solana"
21
+ * toChain: ChainSlug.BITCOIN, // "bitcoin"
22
+ * ...
23
+ * });
24
+ * ```
25
+ */
26
+ export declare const ChainId: {
27
+ readonly ETHEREUM: 1;
28
+ readonly OPTIMISM: 10;
29
+ readonly BSC: 56;
30
+ readonly GNOSIS: 100;
31
+ readonly POLYGON: 137;
32
+ readonly X_LAYER: 196;
33
+ readonly ARBITRUM: 42161;
34
+ readonly AVALANCHE: 43114;
35
+ readonly BASE: 8453;
36
+ readonly PLASMA: 1012;
37
+ readonly BERACHAIN: 80094;
38
+ readonly MONAD: 10143;
39
+ readonly SOLANA: 1151111081099710;
40
+ readonly BITCOIN: 20000000000001;
41
+ readonly SUI: 9270000000000000;
42
+ readonly NEAR: number;
43
+ readonly TON: number;
44
+ readonly TRON: number;
45
+ readonly XRP: number;
46
+ readonly DOGECOIN: number;
47
+ readonly LITECOIN: number;
48
+ readonly BITCOIN_CASH: number;
49
+ readonly STELLAR: number;
50
+ readonly CARDANO: number;
51
+ readonly APTOS: number;
52
+ readonly STARKNET: number;
53
+ readonly DASH: number;
54
+ readonly ZCASH: number;
55
+ readonly ALEO: number;
56
+ readonly ADI: number;
57
+ };
58
+ export type ChainIdValue = (typeof ChainId)[keyof typeof ChainId];
59
+ /**
60
+ * Human-readable chain slug constants (recommended for non-EVM chains).
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * import { ChainSlug } from "@hypermid/sdk";
65
+ * const quote = await hm.getQuote({
66
+ * fromChain: ChainSlug.SOLANA, // "solana"
67
+ * toChain: ChainSlug.NEAR, // "near"
68
+ * ...
69
+ * });
70
+ * ```
71
+ */
72
+ export declare const ChainSlug: {
73
+ [K: string]: string;
74
+ };
75
+ /**
76
+ * Check if a chain ID belongs to a Near Intents-only chain.
77
+ * Accepts slug strings or numeric IDs.
78
+ */
79
+ export declare function isNearIntentsChain(chainId: string | number): boolean;
80
+ /**
81
+ * Check if a chain supports wallet-connected deposit mode.
82
+ * Accepts slug strings or numeric IDs.
83
+ */
84
+ export declare function supportsWalletDeposit(chainId: string | number): boolean;
85
+ //# sourceMappingURL=chains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCV,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAEjB;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAMpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAGvE"}