@veridex/sdk 1.1.6 → 1.1.7

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 (95) hide show
  1. package/dist/{EVMClient-CTOtNY8I.d.mts → EVMClient-DqDiFak8.d.mts} +1 -1
  2. package/dist/auth/prepareAuth.d.mts +5 -4
  3. package/dist/auth/prepareAuth.js +57 -1415
  4. package/dist/auth/prepareAuth.js.map +1 -1
  5. package/dist/auth/prepareAuth.mjs +17 -96
  6. package/dist/auth/prepareAuth.mjs.map +1 -1
  7. package/dist/chains/aptos/index.d.mts +1 -1
  8. package/dist/chains/aptos/index.js +11 -33
  9. package/dist/chains/aptos/index.js.map +1 -1
  10. package/dist/chains/aptos/index.mjs +2 -2
  11. package/dist/chains/avalanche/index.d.mts +2 -2
  12. package/dist/chains/avalanche/index.js +19 -115
  13. package/dist/chains/avalanche/index.js.map +1 -1
  14. package/dist/chains/avalanche/index.mjs +3 -3
  15. package/dist/chains/evm/index.d.mts +3 -3
  16. package/dist/chains/evm/index.js +19 -115
  17. package/dist/chains/evm/index.js.map +1 -1
  18. package/dist/chains/evm/index.mjs +2 -2
  19. package/dist/chains/solana/index.d.mts +1 -1
  20. package/dist/chains/solana/index.js +11 -33
  21. package/dist/chains/solana/index.js.map +1 -1
  22. package/dist/chains/solana/index.mjs +2 -2
  23. package/dist/chains/stacks/index.d.mts +1 -1
  24. package/dist/chains/stacks/index.js +11 -38
  25. package/dist/chains/stacks/index.js.map +1 -1
  26. package/dist/chains/stacks/index.mjs +2 -2
  27. package/dist/chains/starknet/index.d.mts +36 -2
  28. package/dist/chains/starknet/index.js +208 -37
  29. package/dist/chains/starknet/index.js.map +1 -1
  30. package/dist/chains/starknet/index.mjs +9 -4
  31. package/dist/chains/sui/index.d.mts +1 -1
  32. package/dist/chains/sui/index.js +11 -27
  33. package/dist/chains/sui/index.js.map +1 -1
  34. package/dist/chains/sui/index.mjs +2 -2
  35. package/dist/{chunk-ZNIVNPGF.mjs → chunk-3PCAVZUZ.mjs} +173 -37
  36. package/dist/chunk-3PCAVZUZ.mjs.map +1 -0
  37. package/dist/{chunk-DQOW3G7M.mjs → chunk-6BINP4RT.mjs} +48 -9
  38. package/dist/{chunk-DQOW3G7M.mjs.map → chunk-6BINP4RT.mjs.map} +1 -1
  39. package/dist/{chunk-7KN6Y4GX.mjs → chunk-AK5HWYX4.mjs} +12 -40
  40. package/dist/chunk-AK5HWYX4.mjs.map +1 -0
  41. package/dist/{chunk-QVTADARB.mjs → chunk-FPSCAGYS.mjs} +12 -35
  42. package/dist/chunk-FPSCAGYS.mjs.map +1 -0
  43. package/dist/{chunk-USVZH4QC.mjs → chunk-H3WRT6Y4.mjs} +20 -117
  44. package/dist/chunk-H3WRT6Y4.mjs.map +1 -0
  45. package/dist/{chunk-GXJUY2SC.mjs → chunk-MNH22BM2.mjs} +12 -35
  46. package/dist/chunk-MNH22BM2.mjs.map +1 -0
  47. package/dist/chunk-N42LPFPJ.mjs +177 -0
  48. package/dist/chunk-N42LPFPJ.mjs.map +1 -0
  49. package/dist/{chunk-D57UJ4L5.mjs → chunk-NKSRF45N.mjs} +12 -29
  50. package/dist/chunk-NKSRF45N.mjs.map +1 -0
  51. package/dist/{chunk-2CALEUER.mjs → chunk-SKZLZFE2.mjs} +5 -58
  52. package/dist/chunk-SKZLZFE2.mjs.map +1 -0
  53. package/dist/{chunk-NVRAQPSF.mjs → chunk-UF5NWMSQ.mjs} +20 -4
  54. package/dist/chunk-UF5NWMSQ.mjs.map +1 -0
  55. package/dist/chunk-WC4X3MAO.mjs +58 -0
  56. package/dist/chunk-WC4X3MAO.mjs.map +1 -0
  57. package/dist/{chunk-5FH67KLG.mjs → chunk-XHDOSV2F.mjs} +2 -2
  58. package/dist/{index-9ercn1sa.d.mts → index-D1nb2JV9.d.mts} +1 -1
  59. package/dist/index-qyOqd8tx.d.mts +517 -0
  60. package/dist/index.d.mts +27 -364
  61. package/dist/index.js +2316 -2473
  62. package/dist/index.js.map +1 -1
  63. package/dist/index.mjs +978 -51
  64. package/dist/index.mjs.map +1 -1
  65. package/dist/passkey.mjs +2 -1
  66. package/dist/payload.d.mts +22 -28
  67. package/dist/payload.js +50 -9
  68. package/dist/payload.js.map +1 -1
  69. package/dist/payload.mjs +7 -3
  70. package/dist/platform/index.d.mts +3 -0
  71. package/dist/platform/index.js +216 -0
  72. package/dist/platform/index.js.map +1 -0
  73. package/dist/platform/index.mjs +21 -0
  74. package/dist/platform/index.mjs.map +1 -0
  75. package/dist/{portfolio-W2FQ2G3O.mjs → portfolio-MLP2JIFK.mjs} +2 -3
  76. package/dist/queries/index.mjs +324 -10
  77. package/dist/queries/index.mjs.map +1 -1
  78. package/dist/{types-DQ5dtU9x.d.mts → types-CdlEbixV.d.mts} +11 -1
  79. package/package.json +7 -1
  80. package/dist/chunk-2CALEUER.mjs.map +0 -1
  81. package/dist/chunk-72ZA3OYQ.mjs +0 -20
  82. package/dist/chunk-72ZA3OYQ.mjs.map +0 -1
  83. package/dist/chunk-7KN6Y4GX.mjs.map +0 -1
  84. package/dist/chunk-D57UJ4L5.mjs.map +0 -1
  85. package/dist/chunk-GXJUY2SC.mjs.map +0 -1
  86. package/dist/chunk-NVRAQPSF.mjs.map +0 -1
  87. package/dist/chunk-QVTADARB.mjs.map +0 -1
  88. package/dist/chunk-USVZH4QC.mjs.map +0 -1
  89. package/dist/chunk-XDIIFIW6.mjs +0 -330
  90. package/dist/chunk-XDIIFIW6.mjs.map +0 -1
  91. package/dist/chunk-ZNIVNPGF.mjs.map +0 -1
  92. package/dist/chunk-ZXMTPBSP.mjs +0 -857
  93. package/dist/chunk-ZXMTPBSP.mjs.map +0 -1
  94. /package/dist/{chunk-5FH67KLG.mjs.map → chunk-XHDOSV2F.mjs.map} +0 -0
  95. /package/dist/{portfolio-W2FQ2G3O.mjs.map → portfolio-MLP2JIFK.mjs.map} +0 -0
@@ -1,857 +0,0 @@
1
- // src/featureFlags.ts
2
- var DEFAULT_FLAGS = {
3
- multiHub: false,
4
- primaryHub: "base"
5
- };
6
- var _flags = { ...DEFAULT_FLAGS };
7
- function getFeatureFlags() {
8
- return { ..._flags };
9
- }
10
- function setFeatureFlags(flags) {
11
- _flags = { ..._flags, ...flags };
12
- }
13
- function resetFeatureFlags() {
14
- _flags = { ...DEFAULT_FLAGS };
15
- }
16
- function isMultiHubEnabled() {
17
- return _flags.multiHub;
18
- }
19
- function getEffectivePrimaryHub() {
20
- if (!_flags.multiHub) {
21
- return "base";
22
- }
23
- return _flags.primaryHub;
24
- }
25
-
26
- // src/presets.ts
27
- var CHAIN_NAMES = {
28
- // EVM L2s (Hub-capable)
29
- BASE: "base",
30
- OPTIMISM: "optimism",
31
- ARBITRUM: "arbitrum",
32
- SCROLL: "scroll",
33
- BLAST: "blast",
34
- MANTLE: "mantle",
35
- // EVM L1s
36
- ETHEREUM: "ethereum",
37
- POLYGON: "polygon",
38
- BSC: "bsc",
39
- AVALANCHE: "avalanche",
40
- FANTOM: "fantom",
41
- CELO: "celo",
42
- MOONBEAM: "moonbeam",
43
- // EVM L1s (High Performance)
44
- MONAD: "monad",
45
- // Non-EVM
46
- SOLANA: "solana",
47
- APTOS: "aptos",
48
- SUI: "sui",
49
- STARKNET: "starknet",
50
- STACKS: "stacks",
51
- NEAR: "near",
52
- SEI: "sei"
53
- };
54
- var CHAIN_PRESETS = {
55
- // ────────────────────────────────────────────────────────────────────────
56
- // BASE - Primary Hub Chain
57
- // ────────────────────────────────────────────────────────────────────────
58
- base: {
59
- displayName: "Base",
60
- type: "evm",
61
- canBeHub: true,
62
- testnet: {
63
- name: "Base Sepolia",
64
- chainId: 84532,
65
- wormholeChainId: 10004,
66
- rpcUrl: "https://sepolia.base.org",
67
- explorerUrl: "https://sepolia.basescan.org",
68
- isEvm: true,
69
- contracts: {
70
- hub: "0xD5D29b6EaeE6FF4b765e704298a7e48D22607059",
71
- vaultFactory: "0xb25b73D5FeD5693dcd1Bb78f8e33387B59A022EC",
72
- vaultImplementation: "0x2CB8397df988c1880d9e5cFfF65bfC22D7D90EE6",
73
- wormholeCoreBridge: "0x79A1027a6A159502049F10906D333EC57E95F083",
74
- tokenBridge: "0x86F55A04690fd7815A3D802bD587e83eA888B239"
75
- }
76
- },
77
- mainnet: {
78
- name: "Base",
79
- chainId: 8453,
80
- wormholeChainId: 30,
81
- rpcUrl: "https://mainnet.base.org",
82
- explorerUrl: "https://basescan.org",
83
- isEvm: true,
84
- contracts: {
85
- // TODO: Deploy mainnet contracts
86
- wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
87
- tokenBridge: "0x8d2de8d2f73F1F4cAB472AC9A881C9b123C79627"
88
- }
89
- }
90
- },
91
- // ────────────────────────────────────────────────────────────────────────
92
- // OPTIMISM - Secondary Hub / Spoke
93
- // ────────────────────────────────────────────────────────────────────────
94
- optimism: {
95
- displayName: "Optimism",
96
- type: "evm",
97
- canBeHub: true,
98
- testnet: {
99
- name: "Optimism Sepolia",
100
- chainId: 11155420,
101
- wormholeChainId: 10005,
102
- rpcUrl: "https://sepolia.optimism.io",
103
- explorerUrl: "https://sepolia-optimism.etherscan.io",
104
- isEvm: true,
105
- contracts: {
106
- vaultFactory: "0x3c5e4aCdC8Cd53ae5ae603B4c511885191fBb868",
107
- vaultImplementation: "0xA45dBF322c5A3028687fEEB161603d3BCe02e119",
108
- wormholeCoreBridge: "0x31377888146f3253211EFEf5c676D41ECe7D58Fe",
109
- tokenBridge: "0x99737Ec4B815d816c49A385943baf0380e75c0Ac"
110
- }
111
- },
112
- mainnet: {
113
- name: "Optimism",
114
- chainId: 10,
115
- wormholeChainId: 24,
116
- rpcUrl: "https://mainnet.optimism.io",
117
- explorerUrl: "https://optimistic.etherscan.io",
118
- isEvm: true,
119
- contracts: {
120
- wormholeCoreBridge: "0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722",
121
- tokenBridge: "0x1D68124e65faFC907325e3EDbF8c4d84499DAa8b"
122
- }
123
- }
124
- },
125
- // ────────────────────────────────────────────────────────────────────────
126
- // ARBITRUM
127
- // ────────────────────────────────────────────────────────────────────────
128
- arbitrum: {
129
- displayName: "Arbitrum",
130
- type: "evm",
131
- canBeHub: true,
132
- testnet: {
133
- name: "Arbitrum Sepolia",
134
- chainId: 421614,
135
- wormholeChainId: 10003,
136
- rpcUrl: "https://sepolia-rollup.arbitrum.io/rpc",
137
- explorerUrl: "https://sepolia.arbiscan.io",
138
- isEvm: true,
139
- contracts: {
140
- vaultFactory: "0xB9C3e6bad3c6f26956be4a4bb5a366376Fd3045D",
141
- vaultImplementation: "0x8601881b94B68B09b485f407317686103d3CB681",
142
- wormholeCoreBridge: "0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35",
143
- tokenBridge: "0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"
144
- }
145
- },
146
- mainnet: {
147
- name: "Arbitrum",
148
- chainId: 42161,
149
- wormholeChainId: 23,
150
- rpcUrl: "https://arb1.arbitrum.io/rpc",
151
- explorerUrl: "https://arbiscan.io",
152
- isEvm: true,
153
- contracts: {
154
- wormholeCoreBridge: "0xa5f208e072434bC67592E4C49C1B991BA79BCA46",
155
- tokenBridge: "0x0b2402144Bb366A632D14B83F244D2e0e21bD39c"
156
- }
157
- }
158
- },
159
- // ────────────────────────────────────────────────────────────────────────
160
- // ETHEREUM
161
- // ────────────────────────────────────────────────────────────────────────
162
- ethereum: {
163
- displayName: "Ethereum",
164
- type: "evm",
165
- canBeHub: false,
166
- testnet: {
167
- name: "Sepolia",
168
- chainId: 11155111,
169
- wormholeChainId: 10002,
170
- rpcUrl: "https://ethereum-sepolia-rpc.publicnode.com",
171
- explorerUrl: "https://sepolia.etherscan.io",
172
- isEvm: true,
173
- contracts: {
174
- vaultFactory: "0x265c10763B4d16AD970bC3d7670c645e37f63AF4",
175
- vaultImplementation: "0x942426C94652ebC48f4f404928016B95ADb1DA25",
176
- wormholeCoreBridge: "0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78",
177
- tokenBridge: "0xDB5492265f6038831E89f495670FF909aDe94bd9"
178
- }
179
- },
180
- mainnet: {
181
- name: "Ethereum",
182
- chainId: 1,
183
- wormholeChainId: 2,
184
- rpcUrl: "https://eth.llamarpc.com",
185
- explorerUrl: "https://etherscan.io",
186
- isEvm: true,
187
- contracts: {
188
- wormholeCoreBridge: "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B",
189
- tokenBridge: "0x3ee18B2214AFF97000D974cf647E7C347E8fa585"
190
- }
191
- }
192
- },
193
- // ────────────────────────────────────────────────────────────────────────
194
- // POLYGON
195
- // ────────────────────────────────────────────────────────────────────────
196
- polygon: {
197
- displayName: "Polygon",
198
- type: "evm",
199
- canBeHub: false,
200
- testnet: {
201
- name: "Polygon Amoy",
202
- chainId: 80002,
203
- wormholeChainId: 10007,
204
- rpcUrl: "https://rpc-amoy.polygon.technology",
205
- explorerUrl: "https://amoy.polygonscan.com",
206
- isEvm: true,
207
- contracts: {
208
- wormholeCoreBridge: "0x0CBE91CF822c73C2315FB05100C2F714765d5c20",
209
- tokenBridge: "0x0290FB167208Af455bB137780163b7B7a9a10C16"
210
- }
211
- },
212
- mainnet: {
213
- name: "Polygon",
214
- chainId: 137,
215
- wormholeChainId: 5,
216
- rpcUrl: "https://polygon-rpc.com",
217
- explorerUrl: "https://polygonscan.com",
218
- isEvm: true,
219
- contracts: {
220
- wormholeCoreBridge: "0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7",
221
- tokenBridge: "0x5a58505a96D1dbf8dF91cB21B54419FC36e93fdE"
222
- }
223
- }
224
- },
225
- // ────────────────────────────────────────────────────────────────────────
226
- // BSC
227
- // ────────────────────────────────────────────────────────────────────────
228
- bsc: {
229
- displayName: "BNB Chain",
230
- type: "evm",
231
- canBeHub: false,
232
- testnet: {
233
- name: "BSC Testnet",
234
- chainId: 97,
235
- wormholeChainId: 4,
236
- rpcUrl: "https://data-seed-prebsc-1-s1.binance.org:8545",
237
- explorerUrl: "https://testnet.bscscan.com",
238
- isEvm: true,
239
- contracts: {
240
- wormholeCoreBridge: "0x68605AD7b15c732a30b1BbC62BE8F2A509D74b4D",
241
- tokenBridge: "0x9dcF9D205C9De35334D646BeE44b2D2859712A09"
242
- }
243
- },
244
- mainnet: {
245
- name: "BNB Chain",
246
- chainId: 56,
247
- wormholeChainId: 4,
248
- rpcUrl: "https://bsc-dataseed.binance.org",
249
- explorerUrl: "https://bscscan.com",
250
- isEvm: true,
251
- contracts: {
252
- wormholeCoreBridge: "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B",
253
- tokenBridge: "0xB6F6D86a8f9879A9c87f643768d9efc38c1Da6E7"
254
- }
255
- }
256
- },
257
- // ────────────────────────────────────────────────────────────────────────
258
- // AVALANCHE — ACP-204 Native P-256 + ICM Teleporter + Hub-Capable
259
- // ────────────────────────────────────────────────────────────────────────
260
- avalanche: {
261
- displayName: "Avalanche",
262
- type: "evm",
263
- canBeHub: true,
264
- // ACP-204 provides native P-256 at 0x0100 (6,900 gas)
265
- testnet: {
266
- name: "Avalanche Fuji",
267
- chainId: 43113,
268
- wormholeChainId: 6,
269
- rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
270
- explorerUrl: "https://testnet.snowtrace.io",
271
- isEvm: true,
272
- contracts: {
273
- // Veridex Hub (deployed via deploy-avalanche.ts)
274
- hub: "",
275
- // No Hub on Fuji — Hub is on Base Sepolia
276
- vaultFactory: "0x9e9716442e908A9b61F11432cC38024DD390cd2a",
277
- vaultImplementation: "0xE0b9919ffDf3415355Db369C8FfA5Dd4e000052c",
278
- // Wormhole bridges (canonical Fuji addresses)
279
- wormholeCoreBridge: "0x7bbcE28e64B3F8b84d876Ab298393c38ad7aac4C",
280
- tokenBridge: "0x61E44E506Ca5659E6c0bba9b678586fA2d729756",
281
- // Avalanche-specific: ACP-204 P-256 verifier wrapper
282
- p256Verifier: "0xB5d29EA1E2e90A24D6506E2a6a269506a12974CC",
283
- // Avalanche-specific: ICM Spoke for cross-L1 session bridging
284
- icmSpoke: "0x9fCFC608086539A69839EfA9628884dB75ac07D0",
285
- // Chainlink price feeds (Fuji testnet)
286
- chainlinkAvaxUsd: "0x5498BB86BC934c8D34FDA08E81D444153d0D06aD",
287
- chainlinkUsdcUsd: "0x7898AcCC83587C3C55116c5230C17a6Cd9C71bad",
288
- chainlinkUsdtUsd: "0x7898AcCC83587C3C55116c5230C17a6Cd9C71bad"
289
- },
290
- hubChainId: 10004
291
- // Base Sepolia (primary Hub)
292
- },
293
- mainnet: {
294
- name: "Avalanche",
295
- chainId: 43114,
296
- wormholeChainId: 6,
297
- rpcUrl: "https://api.avax.network/ext/bc/C/rpc",
298
- explorerUrl: "https://snowtrace.io",
299
- isEvm: true,
300
- contracts: {
301
- wormholeCoreBridge: "0x54a8e5f9c4CbA08F9943965859F6c34eAF03E26c",
302
- tokenBridge: "0x0e082F06FF657D94310cB8cE8B0D9a04541d8052",
303
- // Chainlink price feeds (Avalanche mainnet)
304
- chainlinkAvaxUsd: "0x0A77230d17318075983913bC2145DB16C7366156",
305
- chainlinkUsdcUsd: "0xF096872672F44d6EBA71458D74fe67F9a77a23B9",
306
- chainlinkUsdtUsd: "0xEBE676ee90Fe1112671f19b6B7459bC678B67e8a"
307
- }
308
- }
309
- },
310
- // ────────────────────────────────────────────────────────────────────────
311
- // SCROLL
312
- // ────────────────────────────────────────────────────────────────────────
313
- scroll: {
314
- displayName: "Scroll",
315
- type: "evm",
316
- canBeHub: false,
317
- testnet: {
318
- name: "Scroll Sepolia",
319
- chainId: 534351,
320
- wormholeChainId: 34,
321
- rpcUrl: "https://sepolia-rpc.scroll.io",
322
- explorerUrl: "https://sepolia.scrollscan.com",
323
- isEvm: true,
324
- contracts: {
325
- wormholeCoreBridge: "0x055F47F1250012C6B20c436570a76e52c17Af2D5",
326
- tokenBridge: "0x22427d90B7dA3fA4642F7025A854c7254E4e45BF"
327
- }
328
- },
329
- mainnet: {
330
- name: "Scroll",
331
- chainId: 534352,
332
- wormholeChainId: 34,
333
- rpcUrl: "https://rpc.scroll.io",
334
- explorerUrl: "https://scrollscan.com",
335
- isEvm: true,
336
- contracts: {
337
- wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
338
- tokenBridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"
339
- }
340
- }
341
- },
342
- // ────────────────────────────────────────────────────────────────────────
343
- // BLAST
344
- // ────────────────────────────────────────────────────────────────────────
345
- blast: {
346
- displayName: "Blast",
347
- type: "evm",
348
- canBeHub: false,
349
- testnet: {
350
- name: "Blast Sepolia",
351
- chainId: 168587773,
352
- wormholeChainId: 36,
353
- rpcUrl: "https://sepolia.blast.io",
354
- explorerUrl: "https://sepolia.blastscan.io",
355
- isEvm: true,
356
- contracts: {
357
- wormholeCoreBridge: "0x473e002D7add6fB67a4964F13bFd61280Ca46886",
358
- tokenBridge: "0x430855B4D43b8AEB9D2B9869B74d58dda79C0dB2"
359
- }
360
- },
361
- mainnet: {
362
- name: "Blast",
363
- chainId: 81457,
364
- wormholeChainId: 36,
365
- rpcUrl: "https://rpc.blast.io",
366
- explorerUrl: "https://blastscan.io",
367
- isEvm: true,
368
- contracts: {
369
- wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
370
- tokenBridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"
371
- }
372
- }
373
- },
374
- // ────────────────────────────────────────────────────────────────────────
375
- // MANTLE
376
- // ────────────────────────────────────────────────────────────────────────
377
- mantle: {
378
- displayName: "Mantle",
379
- type: "evm",
380
- canBeHub: false,
381
- testnet: {
382
- name: "Mantle Sepolia",
383
- chainId: 5003,
384
- wormholeChainId: 35,
385
- rpcUrl: "https://rpc.sepolia.mantle.xyz",
386
- explorerUrl: "https://sepolia.mantlescan.xyz",
387
- isEvm: true,
388
- contracts: {
389
- wormholeCoreBridge: "0x376428e7f26D5867e69201b275553C45B09EE090",
390
- tokenBridge: "0x75Bfa155a9D7A3714b0861c8a8aF0C4633c45b5D"
391
- }
392
- },
393
- mainnet: {
394
- name: "Mantle",
395
- chainId: 5e3,
396
- wormholeChainId: 35,
397
- rpcUrl: "https://rpc.mantle.xyz",
398
- explorerUrl: "https://mantlescan.xyz",
399
- isEvm: true,
400
- contracts: {
401
- wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
402
- tokenBridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"
403
- }
404
- }
405
- },
406
- // ────────────────────────────────────────────────────────────────────────
407
- // FANTOM
408
- // ────────────────────────────────────────────────────────────────────────
409
- fantom: {
410
- displayName: "Fantom",
411
- type: "evm",
412
- canBeHub: false,
413
- testnet: {
414
- name: "Fantom Testnet",
415
- chainId: 4002,
416
- wormholeChainId: 10,
417
- rpcUrl: "https://rpc.testnet.fantom.network",
418
- explorerUrl: "https://testnet.ftmscan.com",
419
- isEvm: true,
420
- contracts: {
421
- wormholeCoreBridge: "0x1BB3B4119b7BA9dfad76B0545fb3F531383c3bB7",
422
- tokenBridge: "0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8"
423
- }
424
- },
425
- mainnet: {
426
- name: "Fantom",
427
- chainId: 250,
428
- wormholeChainId: 10,
429
- rpcUrl: "https://rpcapi.fantom.network",
430
- explorerUrl: "https://ftmscan.com",
431
- isEvm: true,
432
- contracts: {
433
- wormholeCoreBridge: "0x126783A6Cb203a3E35344528B26ca3a0489a1485",
434
- tokenBridge: "0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2"
435
- }
436
- }
437
- },
438
- // ────────────────────────────────────────────────────────────────────────
439
- // CELO
440
- // ────────────────────────────────────────────────────────────────────────
441
- celo: {
442
- displayName: "Celo",
443
- type: "evm",
444
- canBeHub: false,
445
- testnet: {
446
- name: "Celo Alfajores",
447
- chainId: 44787,
448
- wormholeChainId: 14,
449
- rpcUrl: "https://alfajores-forno.celo-testnet.org",
450
- explorerUrl: "https://alfajores.celoscan.io",
451
- isEvm: true,
452
- contracts: {
453
- wormholeCoreBridge: "0x88505117CA88e7dd2eC6EA1E13f0948db2D50D56",
454
- tokenBridge: "0x05ca6037eC51F8b712eD2E6Fa72219FEaE74E153"
455
- }
456
- },
457
- mainnet: {
458
- name: "Celo",
459
- chainId: 42220,
460
- wormholeChainId: 14,
461
- rpcUrl: "https://forno.celo.org",
462
- explorerUrl: "https://celoscan.io",
463
- isEvm: true,
464
- contracts: {
465
- wormholeCoreBridge: "0xa321448d90d4e5b0A732867c18eA198e75CAC48E",
466
- tokenBridge: "0x796Dff6D74F3E27060B71255Fe517BFb23C93eed"
467
- }
468
- }
469
- },
470
- // ────────────────────────────────────────────────────────────────────────
471
- // MOONBEAM
472
- // ────────────────────────────────────────────────────────────────────────
473
- moonbeam: {
474
- displayName: "Moonbeam",
475
- type: "evm",
476
- canBeHub: false,
477
- testnet: {
478
- name: "Moonbase Alpha",
479
- chainId: 1287,
480
- wormholeChainId: 16,
481
- rpcUrl: "https://rpc.api.moonbase.moonbeam.network",
482
- explorerUrl: "https://moonbase.moonscan.io",
483
- isEvm: true,
484
- contracts: {
485
- wormholeCoreBridge: "0xa5B7D85a8f27dd7907dc8FdC21FA5657D5E2F901",
486
- tokenBridge: "0xbc976D4b9D57E57c3cA52e1Fd136C45FF7955A96"
487
- }
488
- },
489
- mainnet: {
490
- name: "Moonbeam",
491
- chainId: 1284,
492
- wormholeChainId: 16,
493
- rpcUrl: "https://rpc.api.moonbeam.network",
494
- explorerUrl: "https://moonscan.io",
495
- isEvm: true,
496
- contracts: {
497
- wormholeCoreBridge: "0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3",
498
- tokenBridge: "0xb1731c586ca89a23809861c6103F0b96B3F57D92"
499
- }
500
- }
501
- },
502
- // ────────────────────────────────────────────────────────────────────────
503
- // MONAD - High-Performance L1 with EIP-7951 P256 + Agent Gateway
504
- // ────────────────────────────────────────────────────────────────────────
505
- monad: {
506
- displayName: "Monad",
507
- type: "evm",
508
- canBeHub: true,
509
- // Has native P-256 precompile (EIP-7951)
510
- testnet: {
511
- name: "Monad Testnet",
512
- chainId: 10143,
513
- wormholeChainId: 10048,
514
- rpcUrl: "https://testnet-rpc.monad.xyz",
515
- explorerUrl: "https://testnet.monadvision.com",
516
- isEvm: true,
517
- contracts: {
518
- vaultFactory: "0x50F2c37584823A6cc293bd0d7647D558d05CA4C1",
519
- vaultImplementation: "0x53d4D3943d0E524836f0B1955AbB216449F538fF",
520
- wormholeCoreBridge: "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd",
521
- // Agent Gateway contracts
522
- serviceDirectory: "0x2d20f29E1f5B24294B3F125B47f2a22a7012a35E"
523
- },
524
- hubChainId: 10004
525
- // Base Sepolia
526
- },
527
- mainnet: {
528
- name: "Monad",
529
- chainId: 143,
530
- wormholeChainId: 0,
531
- // TBD
532
- rpcUrl: "https://rpc.monad.xyz",
533
- explorerUrl: "https://monadscan.com",
534
- isEvm: true,
535
- contracts: {
536
- wormholeCoreBridge: "0x194B123c5E96B9b2E49763619985790Dc241CAC0",
537
- tokenBridge: "0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7"
538
- }
539
- }
540
- },
541
- // ────────────────────────────────────────────────────────────────────────
542
- // SEI
543
- // ────────────────────────────────────────────────────────────────────────
544
- sei: {
545
- displayName: "Sei",
546
- type: "evm",
547
- canBeHub: false,
548
- testnet: {
549
- name: "Sei Atlantic-2",
550
- chainId: 1328,
551
- wormholeChainId: 40,
552
- rpcUrl: "https://evm-rpc-testnet.sei-apis.com",
553
- explorerUrl: "https://seitrace.com/?chain=atlantic-2",
554
- isEvm: true,
555
- contracts: {
556
- vaultFactory: "0x07F608AFf6d63b68029488b726d895c4Bb593038",
557
- vaultImplementation: "0xD66153fccFB6731fB6c4944FbD607ba86A76a1f6",
558
- wormholeCoreBridge: "0x0000000000000000000000000000000000000000"
559
- }
560
- },
561
- mainnet: {
562
- name: "Sei",
563
- chainId: 1329,
564
- wormholeChainId: 32,
565
- rpcUrl: "https://evm-rpc.sei-apis.com",
566
- explorerUrl: "https://seitrace.com",
567
- isEvm: true,
568
- contracts: {
569
- wormholeCoreBridge: "0x0000000000000000000000000000000000000000"
570
- }
571
- }
572
- },
573
- // ────────────────────────────────────────────────────────────────────────
574
- // SOLANA
575
- // ────────────────────────────────────────────────────────────────────────
576
- solana: {
577
- displayName: "Solana",
578
- type: "solana",
579
- canBeHub: false,
580
- testnet: {
581
- name: "Solana Devnet",
582
- chainId: 0,
583
- wormholeChainId: 1,
584
- rpcUrl: "https://api.devnet.solana.com",
585
- explorerUrl: "https://explorer.solana.com",
586
- isEvm: false,
587
- contracts: {
588
- hub: "64ZZBdmGd1YT6Fok7PELvAdfoXyR4PHxHnRqHNqZHJ13",
589
- wormholeCoreBridge: "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5",
590
- tokenBridge: "DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe"
591
- }
592
- },
593
- mainnet: {
594
- name: "Solana",
595
- chainId: 0,
596
- wormholeChainId: 1,
597
- rpcUrl: "https://api.mainnet-beta.solana.com",
598
- explorerUrl: "https://explorer.solana.com",
599
- isEvm: false,
600
- contracts: {
601
- wormholeCoreBridge: "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",
602
- tokenBridge: "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb"
603
- }
604
- }
605
- },
606
- // ────────────────────────────────────────────────────────────────────────
607
- // APTOS
608
- // ────────────────────────────────────────────────────────────────────────
609
- aptos: {
610
- displayName: "Aptos",
611
- type: "aptos",
612
- canBeHub: false,
613
- testnet: {
614
- name: "Aptos Testnet",
615
- chainId: 0,
616
- wormholeChainId: 22,
617
- rpcUrl: "https://fullnode.testnet.aptoslabs.com/v1",
618
- explorerUrl: "https://explorer.aptoslabs.com",
619
- isEvm: false,
620
- contracts: {
621
- hub: "0x9e8641143245ab8b93af1417a1fbc698d40fd351a25f6c17e4210e59bf82c9c7",
622
- wormholeCoreBridge: "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625",
623
- tokenBridge: "0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f"
624
- }
625
- },
626
- mainnet: {
627
- name: "Aptos",
628
- chainId: 0,
629
- wormholeChainId: 22,
630
- rpcUrl: "https://fullnode.mainnet.aptoslabs.com/v1",
631
- explorerUrl: "https://explorer.aptoslabs.com",
632
- isEvm: false,
633
- contracts: {
634
- wormholeCoreBridge: "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625",
635
- tokenBridge: "0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f"
636
- }
637
- }
638
- },
639
- // ────────────────────────────────────────────────────────────────────────
640
- // SUI
641
- // ────────────────────────────────────────────────────────────────────────
642
- sui: {
643
- displayName: "Sui",
644
- type: "sui",
645
- canBeHub: false,
646
- testnet: {
647
- name: "Sui Testnet",
648
- chainId: 0,
649
- wormholeChainId: 21,
650
- rpcUrl: "https://fullnode.testnet.sui.io:443",
651
- explorerUrl: "https://suiscan.xyz/testnet",
652
- isEvm: false,
653
- contracts: {
654
- hub: "0xaf36d8bc349883b23e78b00a342a656c799319508600583eaee9121ffaa7f5f7",
655
- wormholeCoreBridge: "0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790"
656
- }
657
- },
658
- mainnet: {
659
- name: "Sui",
660
- chainId: 0,
661
- wormholeChainId: 21,
662
- rpcUrl: "https://fullnode.mainnet.sui.io:443",
663
- explorerUrl: "https://suiscan.xyz/mainnet",
664
- isEvm: false,
665
- contracts: {
666
- wormholeCoreBridge: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"
667
- }
668
- }
669
- },
670
- // ────────────────────────────────────────────────────────────────────────
671
- // STARKNET
672
- // ────────────────────────────────────────────────────────────────────────
673
- starknet: {
674
- displayName: "Starknet",
675
- type: "starknet",
676
- canBeHub: false,
677
- testnet: {
678
- name: "Starknet Sepolia",
679
- chainId: 0,
680
- wormholeChainId: 50001,
681
- // Custom bridge (non-Wormhole)
682
- rpcUrl: "https://starknet-sepolia-rpc.publicnode.com",
683
- explorerUrl: "https://sepolia.starkscan.co",
684
- isEvm: false,
685
- contracts: {
686
- hub: "0x7bb7cbe7d82e910b296611b582035a207343431f98bdd7b692bddfdd6f28737",
687
- wormholeCoreBridge: "0x30d2e7f26dc75819cfddcd7caa26a76b681d5918f219c99060c42ce1e3f69e4"
688
- },
689
- hubChainId: 10004
690
- // Base Sepolia
691
- },
692
- mainnet: {
693
- name: "Starknet",
694
- chainId: 0,
695
- wormholeChainId: 50001,
696
- rpcUrl: "https://starknet-mainnet.public.blastapi.io/rpc/v0_7",
697
- explorerUrl: "https://starkscan.co",
698
- isEvm: false,
699
- contracts: {
700
- // TODO: Deploy mainnet contracts
701
- wormholeCoreBridge: ""
702
- }
703
- }
704
- },
705
- // ────────────────────────────────────────────────────────────────────────
706
- // STACKS
707
- // ────────────────────────────────────────────────────────────────────────
708
- stacks: {
709
- displayName: "Stacks",
710
- type: "stacks",
711
- canBeHub: false,
712
- testnet: {
713
- name: "Stacks Testnet",
714
- chainId: 2147483648,
715
- // CAIP-2: stacks:2147483648
716
- wormholeChainId: 60,
717
- // Official Wormhole chain ID for Stacks
718
- rpcUrl: "https://api.testnet.hiro.so",
719
- explorerUrl: "https://explorer.hiro.so/?chain=testnet",
720
- isEvm: false,
721
- contracts: {
722
- // Spoke contract: identity + session management
723
- hub: "STWJ9E8J5NPKB4MT1378G6XWNFGAKRY1E6D6PYSM.veridex-spoke",
724
- // Vault contract: STX/sBTC custody
725
- vaultFactory: "STWJ9E8J5NPKB4MT1378G6XWNFGAKRY1E6D6PYSM.veridex-vault",
726
- wormholeCoreBridge: "",
727
- // Phase 2: Wormhole integration contracts
728
- wormholeVerifier: "STWJ9E8J5NPKB4MT1378G6XWNFGAKRY1E6D6PYSM.veridex-wormhole-verifier",
729
- vaultVaa: "STWJ9E8J5NPKB4MT1378G6XWNFGAKRY1E6D6PYSM.veridex-vault-vaa"
730
- },
731
- hubChainId: 10004
732
- // Base Sepolia
733
- },
734
- mainnet: {
735
- name: "Stacks",
736
- chainId: 1,
737
- // CAIP-2: stacks:1
738
- wormholeChainId: 60,
739
- rpcUrl: "https://api.hiro.so",
740
- explorerUrl: "https://explorer.hiro.so",
741
- isEvm: false,
742
- contracts: {
743
- // TODO: Deploy mainnet contracts
744
- wormholeCoreBridge: ""
745
- }
746
- }
747
- },
748
- // ────────────────────────────────────────────────────────────────────────
749
- // NEAR
750
- // ────────────────────────────────────────────────────────────────────────
751
- near: {
752
- displayName: "Near",
753
- type: "near",
754
- canBeHub: false,
755
- testnet: {
756
- name: "Near Testnet",
757
- chainId: 0,
758
- wormholeChainId: 15,
759
- rpcUrl: "https://rpc.testnet.near.org",
760
- explorerUrl: "https://explorer.testnet.near.org",
761
- isEvm: false,
762
- contracts: {
763
- wormholeCoreBridge: "wormhole.wormhole.testnet",
764
- tokenBridge: "token.wormhole.testnet"
765
- }
766
- },
767
- mainnet: {
768
- name: "Near",
769
- chainId: 0,
770
- wormholeChainId: 15,
771
- rpcUrl: "https://rpc.mainnet.near.org",
772
- explorerUrl: "https://explorer.near.org",
773
- isEvm: false,
774
- contracts: {
775
- wormholeCoreBridge: "contract.wormhole_crypto.near",
776
- tokenBridge: "contract.portalbridge.near"
777
- }
778
- }
779
- }
780
- };
781
- var _rpcOverrides = {};
782
- function configureDefaultRpcUrls(overrides) {
783
- for (const key of Object.keys(_rpcOverrides)) {
784
- delete _rpcOverrides[key];
785
- }
786
- Object.assign(_rpcOverrides, overrides);
787
- }
788
- function getRpcUrlOverride(chain, network) {
789
- return _rpcOverrides[chain]?.[network];
790
- }
791
- function getChainConfig(chain, network = "testnet") {
792
- const preset = CHAIN_PRESETS[chain];
793
- if (!preset) {
794
- throw new Error(
795
- `Unknown chain: "${chain}". Supported chains: ${Object.keys(CHAIN_PRESETS).join(", ")}`
796
- );
797
- }
798
- const config = preset[network];
799
- const rpcOverride = getRpcUrlOverride(chain, network);
800
- if (rpcOverride) {
801
- return { ...config, rpcUrl: rpcOverride };
802
- }
803
- return config;
804
- }
805
- function getChainPreset(chain) {
806
- const preset = CHAIN_PRESETS[chain];
807
- if (!preset) {
808
- throw new Error(
809
- `Unknown chain: "${chain}". Supported chains: ${Object.keys(CHAIN_PRESETS).join(", ")}`
810
- );
811
- }
812
- return preset;
813
- }
814
- function getSupportedChains() {
815
- return Object.keys(CHAIN_PRESETS);
816
- }
817
- function getHubChains() {
818
- if (!isMultiHubEnabled()) {
819
- const primary = getEffectivePrimaryHub();
820
- return [primary];
821
- }
822
- return Object.entries(CHAIN_PRESETS).filter(([_, preset]) => preset.canBeHub).map(([name]) => name);
823
- }
824
- function isChainSupported(chain) {
825
- return chain in CHAIN_PRESETS;
826
- }
827
- function isHubChain(chain) {
828
- if (!isMultiHubEnabled()) {
829
- return chain === getEffectivePrimaryHub();
830
- }
831
- const preset = CHAIN_PRESETS[chain];
832
- return preset?.canBeHub ?? false;
833
- }
834
- function getDefaultHub(network = "testnet") {
835
- const primary = getEffectivePrimaryHub();
836
- return CHAIN_PRESETS[primary][network];
837
- }
838
-
839
- export {
840
- getFeatureFlags,
841
- setFeatureFlags,
842
- resetFeatureFlags,
843
- isMultiHubEnabled,
844
- getEffectivePrimaryHub,
845
- CHAIN_NAMES,
846
- CHAIN_PRESETS,
847
- configureDefaultRpcUrls,
848
- getRpcUrlOverride,
849
- getChainConfig,
850
- getChainPreset,
851
- getSupportedChains,
852
- getHubChains,
853
- isChainSupported,
854
- isHubChain,
855
- getDefaultHub
856
- };
857
- //# sourceMappingURL=chunk-ZXMTPBSP.mjs.map