@veridex/sdk 1.0.0-beta.21 → 1.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EVMClient-CoOR_ywD.d.mts +332 -0
- package/dist/auth/prepareAuth.d.mts +1 -1
- package/dist/auth/prepareAuth.js +749 -3
- package/dist/auth/prepareAuth.js.map +1 -1
- package/dist/auth/prepareAuth.mjs +25 -1404
- package/dist/auth/prepareAuth.mjs.map +1 -1
- package/dist/chains/aptos/index.d.mts +1 -1
- package/dist/chains/aptos/index.mjs +5 -574
- package/dist/chains/aptos/index.mjs.map +1 -1
- package/dist/chains/avalanche/index.d.mts +137 -0
- package/dist/chains/avalanche/index.js +1407 -0
- package/dist/chains/avalanche/index.js.map +1 -0
- package/dist/chains/avalanche/index.mjs +10 -0
- package/dist/chains/avalanche/index.mjs.map +1 -0
- package/dist/chains/evm/index.d.mts +4 -2
- package/dist/chains/evm/index.mjs +8 -1200
- package/dist/chains/evm/index.mjs.map +1 -1
- package/dist/chains/solana/index.d.mts +1 -1
- package/dist/chains/solana/index.mjs +4 -486
- package/dist/chains/solana/index.mjs.map +1 -1
- package/dist/chains/stacks/index.d.mts +1 -1
- package/dist/chains/stacks/index.mjs +36 -1114
- package/dist/chains/stacks/index.mjs.map +1 -1
- package/dist/chains/starknet/index.d.mts +1 -1
- package/dist/chains/starknet/index.mjs +5 -503
- package/dist/chains/starknet/index.mjs.map +1 -1
- package/dist/chains/sui/index.d.mts +1 -1
- package/dist/chains/sui/index.mjs +5 -529
- package/dist/chains/sui/index.mjs.map +1 -1
- package/dist/chunk-3Q34PMHU.mjs +840 -0
- package/dist/chunk-3Q34PMHU.mjs.map +1 -0
- package/dist/chunk-72ZA3OYQ.mjs +20 -0
- package/dist/chunk-72ZA3OYQ.mjs.map +1 -0
- package/dist/chunk-7IEUU6LD.mjs +549 -0
- package/dist/chunk-7IEUU6LD.mjs.map +1 -0
- package/dist/chunk-ABLEEC5N.mjs +38 -0
- package/dist/chunk-ABLEEC5N.mjs.map +1 -0
- package/dist/chunk-AORSW75A.mjs +1101 -0
- package/dist/chunk-AORSW75A.mjs.map +1 -0
- package/dist/chunk-BKTCPT7P.mjs +269 -0
- package/dist/chunk-BKTCPT7P.mjs.map +1 -0
- package/dist/chunk-CCHASDAI.mjs +330 -0
- package/dist/chunk-CCHASDAI.mjs.map +1 -0
- package/dist/chunk-FQ2WU7PX.mjs +509 -0
- package/dist/chunk-FQ2WU7PX.mjs.map +1 -0
- package/dist/chunk-JO74ENTF.mjs +417 -0
- package/dist/chunk-JO74ENTF.mjs.map +1 -0
- package/dist/chunk-K73Y36KS.mjs +407 -0
- package/dist/chunk-K73Y36KS.mjs.map +1 -0
- package/dist/chunk-KHV3EP3I.mjs +179 -0
- package/dist/chunk-KHV3EP3I.mjs.map +1 -0
- package/dist/chunk-MMSTOW4F.mjs +722 -0
- package/dist/chunk-MMSTOW4F.mjs.map +1 -0
- package/dist/chunk-MWZ5UHCF.mjs +1082 -0
- package/dist/chunk-MWZ5UHCF.mjs.map +1 -0
- package/dist/chunk-NU6JGI7L.mjs +565 -0
- package/dist/chunk-NU6JGI7L.mjs.map +1 -0
- package/dist/chunk-PIC2Y5DF.mjs +422 -0
- package/dist/chunk-PIC2Y5DF.mjs.map +1 -0
- package/dist/chunk-PPN7BG3A.mjs +464 -0
- package/dist/chunk-PPN7BG3A.mjs.map +1 -0
- package/dist/chunk-RSV7J43V.mjs +438 -0
- package/dist/chunk-RSV7J43V.mjs.map +1 -0
- package/dist/chunk-UTT6KI7N.mjs +216 -0
- package/dist/chunk-UTT6KI7N.mjs.map +1 -0
- package/dist/constants.mjs +16 -389
- package/dist/constants.mjs.map +1 -1
- package/dist/index-Du1PoZqu.d.mts +216 -0
- package/dist/index.d.mts +131 -9
- package/dist/index.js +12064 -11594
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4407 -12273
- package/dist/index.mjs.map +1 -1
- package/dist/passkey.d.mts +142 -0
- package/dist/passkey.js +807 -0
- package/dist/passkey.js.map +1 -0
- package/dist/passkey.mjs +15 -0
- package/dist/passkey.mjs.map +1 -0
- package/dist/payload.mjs +25 -244
- package/dist/payload.mjs.map +1 -1
- package/dist/portfolio-UV3LLWKI.mjs +13 -0
- package/dist/portfolio-UV3LLWKI.mjs.map +1 -0
- package/dist/queries/index.js +39 -1
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/index.mjs +14 -1591
- package/dist/queries/index.mjs.map +1 -1
- package/dist/{types-DakHNZIP.d.ts → types-Bmk689Lw.d.mts} +1 -1
- package/dist/types.d.mts +10 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.mjs +19 -385
- package/dist/utils.mjs.map +1 -1
- package/dist/wormhole.mjs +25 -397
- package/dist/wormhole.mjs.map +1 -1
- package/package.json +17 -3
- package/scripts/patch-noble-curves.js +78 -0
- package/dist/auth/prepareAuth.d.ts +0 -25
- package/dist/chains/aptos/index.d.ts +0 -146
- package/dist/chains/evm/index.d.ts +0 -5
- package/dist/chains/solana/index.d.ts +0 -116
- package/dist/chains/stacks/index.d.ts +0 -559
- package/dist/chains/starknet/index.d.ts +0 -172
- package/dist/chains/sui/index.d.ts +0 -182
- package/dist/constants.d.ts +0 -150
- package/dist/index-Dy29mvBf.d.mts +0 -683
- package/dist/index-eXXqodd0.d.ts +0 -683
- package/dist/index.d.ts +0 -3442
- package/dist/payload.d.ts +0 -125
- package/dist/queries/index.d.ts +0 -148
- package/dist/types-DakHNZIP.d.mts +0 -571
- package/dist/types-DvFRnIBd.d.ts +0 -172
- package/dist/types.d.ts +0 -413
- package/dist/utils.d.ts +0 -81
- package/dist/wormhole.d.ts +0 -167
package/dist/auth/prepareAuth.js
CHANGED
|
@@ -1419,6 +1419,752 @@ async function queryHubState(userKeyHash, apiKey, options) {
|
|
|
1419
1419
|
return await withExponentialBackoff(doFetch, maxAttempts);
|
|
1420
1420
|
}
|
|
1421
1421
|
|
|
1422
|
+
// src/featureFlags.ts
|
|
1423
|
+
var DEFAULT_FLAGS = {
|
|
1424
|
+
multiHub: false,
|
|
1425
|
+
primaryHub: "base"
|
|
1426
|
+
};
|
|
1427
|
+
var _flags = { ...DEFAULT_FLAGS };
|
|
1428
|
+
function getEffectivePrimaryHub() {
|
|
1429
|
+
if (!_flags.multiHub) {
|
|
1430
|
+
return "base";
|
|
1431
|
+
}
|
|
1432
|
+
return _flags.primaryHub;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
// src/presets.ts
|
|
1436
|
+
var CHAIN_PRESETS = {
|
|
1437
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1438
|
+
// BASE - Primary Hub Chain
|
|
1439
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1440
|
+
base: {
|
|
1441
|
+
displayName: "Base",
|
|
1442
|
+
type: "evm",
|
|
1443
|
+
canBeHub: true,
|
|
1444
|
+
testnet: {
|
|
1445
|
+
name: "Base Sepolia",
|
|
1446
|
+
chainId: 84532,
|
|
1447
|
+
wormholeChainId: 10004,
|
|
1448
|
+
rpcUrl: "https://sepolia.base.org",
|
|
1449
|
+
explorerUrl: "https://sepolia.basescan.org",
|
|
1450
|
+
isEvm: true,
|
|
1451
|
+
contracts: {
|
|
1452
|
+
hub: "0x66D87dE68327f48A099c5B9bE97020Feab9a7c82",
|
|
1453
|
+
vaultFactory: "0xCFaEb5652aa2Ee60b2229dC8895B4159749C7e53",
|
|
1454
|
+
vaultImplementation: "0x0d13367C16c6f0B24eD275CC67C7D9f42878285c",
|
|
1455
|
+
wormholeCoreBridge: "0x79A1027a6A159502049F10906D333EC57E95F083",
|
|
1456
|
+
tokenBridge: "0x86F55A04690fd7815A3D802bD587e83eA888B239"
|
|
1457
|
+
}
|
|
1458
|
+
},
|
|
1459
|
+
mainnet: {
|
|
1460
|
+
name: "Base",
|
|
1461
|
+
chainId: 8453,
|
|
1462
|
+
wormholeChainId: 30,
|
|
1463
|
+
rpcUrl: "https://mainnet.base.org",
|
|
1464
|
+
explorerUrl: "https://basescan.org",
|
|
1465
|
+
isEvm: true,
|
|
1466
|
+
contracts: {
|
|
1467
|
+
// TODO: Deploy mainnet contracts
|
|
1468
|
+
wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
|
|
1469
|
+
tokenBridge: "0x8d2de8d2f73F1F4cAB472AC9A881C9b123C79627"
|
|
1470
|
+
}
|
|
1471
|
+
}
|
|
1472
|
+
},
|
|
1473
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1474
|
+
// OPTIMISM - Secondary Hub / Spoke
|
|
1475
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1476
|
+
optimism: {
|
|
1477
|
+
displayName: "Optimism",
|
|
1478
|
+
type: "evm",
|
|
1479
|
+
canBeHub: true,
|
|
1480
|
+
testnet: {
|
|
1481
|
+
name: "Optimism Sepolia",
|
|
1482
|
+
chainId: 11155420,
|
|
1483
|
+
wormholeChainId: 10005,
|
|
1484
|
+
rpcUrl: "https://sepolia.optimism.io",
|
|
1485
|
+
explorerUrl: "https://sepolia-optimism.etherscan.io",
|
|
1486
|
+
isEvm: true,
|
|
1487
|
+
contracts: {
|
|
1488
|
+
vaultFactory: "0xA5653d54079ABeCe780F8d9597B2bc4B09fe464A",
|
|
1489
|
+
vaultImplementation: "0x8099b1406485d2255ff89Ce5Ea18520802AFC150",
|
|
1490
|
+
wormholeCoreBridge: "0x31377888146f3253211EFEf5c676D41ECe7D58Fe",
|
|
1491
|
+
tokenBridge: "0x99737Ec4B815d816c49A385943baf0380e75c0Ac"
|
|
1492
|
+
}
|
|
1493
|
+
},
|
|
1494
|
+
mainnet: {
|
|
1495
|
+
name: "Optimism",
|
|
1496
|
+
chainId: 10,
|
|
1497
|
+
wormholeChainId: 24,
|
|
1498
|
+
rpcUrl: "https://mainnet.optimism.io",
|
|
1499
|
+
explorerUrl: "https://optimistic.etherscan.io",
|
|
1500
|
+
isEvm: true,
|
|
1501
|
+
contracts: {
|
|
1502
|
+
wormholeCoreBridge: "0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722",
|
|
1503
|
+
tokenBridge: "0x1D68124e65faFC907325e3EDbF8c4d84499DAa8b"
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1506
|
+
},
|
|
1507
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1508
|
+
// ARBITRUM
|
|
1509
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1510
|
+
arbitrum: {
|
|
1511
|
+
displayName: "Arbitrum",
|
|
1512
|
+
type: "evm",
|
|
1513
|
+
canBeHub: true,
|
|
1514
|
+
testnet: {
|
|
1515
|
+
name: "Arbitrum Sepolia",
|
|
1516
|
+
chainId: 421614,
|
|
1517
|
+
wormholeChainId: 10003,
|
|
1518
|
+
rpcUrl: "https://sepolia-rollup.arbitrum.io/rpc",
|
|
1519
|
+
explorerUrl: "https://sepolia.arbiscan.io",
|
|
1520
|
+
isEvm: true,
|
|
1521
|
+
contracts: {
|
|
1522
|
+
vaultFactory: "0xd36D3D5DB59d78f1E33813490F72DABC15C9B07c",
|
|
1523
|
+
vaultImplementation: "0xB10ACf39eBF17fc33F722cBD955b7aeCB0611bc4",
|
|
1524
|
+
wormholeCoreBridge: "0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35",
|
|
1525
|
+
tokenBridge: "0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"
|
|
1526
|
+
}
|
|
1527
|
+
},
|
|
1528
|
+
mainnet: {
|
|
1529
|
+
name: "Arbitrum",
|
|
1530
|
+
chainId: 42161,
|
|
1531
|
+
wormholeChainId: 23,
|
|
1532
|
+
rpcUrl: "https://arb1.arbitrum.io/rpc",
|
|
1533
|
+
explorerUrl: "https://arbiscan.io",
|
|
1534
|
+
isEvm: true,
|
|
1535
|
+
contracts: {
|
|
1536
|
+
wormholeCoreBridge: "0xa5f208e072434bC67592E4C49C1B991BA79BCA46",
|
|
1537
|
+
tokenBridge: "0x0b2402144Bb366A632D14B83F244D2e0e21bD39c"
|
|
1538
|
+
}
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1541
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1542
|
+
// ETHEREUM
|
|
1543
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1544
|
+
ethereum: {
|
|
1545
|
+
displayName: "Ethereum",
|
|
1546
|
+
type: "evm",
|
|
1547
|
+
canBeHub: false,
|
|
1548
|
+
testnet: {
|
|
1549
|
+
name: "Sepolia",
|
|
1550
|
+
chainId: 11155111,
|
|
1551
|
+
wormholeChainId: 10002,
|
|
1552
|
+
rpcUrl: "https://ethereum-sepolia-rpc.publicnode.com",
|
|
1553
|
+
explorerUrl: "https://sepolia.etherscan.io",
|
|
1554
|
+
isEvm: true,
|
|
1555
|
+
contracts: {
|
|
1556
|
+
vaultFactory: "0x07F608AFf6d63b68029488b726d895c4Bb593038",
|
|
1557
|
+
vaultImplementation: "0xD66153fccFB6731fB6c4944FbD607ba86A76a1f6",
|
|
1558
|
+
wormholeCoreBridge: "0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78",
|
|
1559
|
+
tokenBridge: "0xDB5492265f6038831E89f495670FF909aDe94bd9"
|
|
1560
|
+
}
|
|
1561
|
+
},
|
|
1562
|
+
mainnet: {
|
|
1563
|
+
name: "Ethereum",
|
|
1564
|
+
chainId: 1,
|
|
1565
|
+
wormholeChainId: 2,
|
|
1566
|
+
rpcUrl: "https://eth.llamarpc.com",
|
|
1567
|
+
explorerUrl: "https://etherscan.io",
|
|
1568
|
+
isEvm: true,
|
|
1569
|
+
contracts: {
|
|
1570
|
+
wormholeCoreBridge: "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B",
|
|
1571
|
+
tokenBridge: "0x3ee18B2214AFF97000D974cf647E7C347E8fa585"
|
|
1572
|
+
}
|
|
1573
|
+
}
|
|
1574
|
+
},
|
|
1575
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1576
|
+
// POLYGON
|
|
1577
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1578
|
+
polygon: {
|
|
1579
|
+
displayName: "Polygon",
|
|
1580
|
+
type: "evm",
|
|
1581
|
+
canBeHub: false,
|
|
1582
|
+
testnet: {
|
|
1583
|
+
name: "Polygon Amoy",
|
|
1584
|
+
chainId: 80002,
|
|
1585
|
+
wormholeChainId: 10007,
|
|
1586
|
+
rpcUrl: "https://rpc-amoy.polygon.technology",
|
|
1587
|
+
explorerUrl: "https://amoy.polygonscan.com",
|
|
1588
|
+
isEvm: true,
|
|
1589
|
+
contracts: {
|
|
1590
|
+
wormholeCoreBridge: "0x0CBE91CF822c73C2315FB05100C2F714765d5c20",
|
|
1591
|
+
tokenBridge: "0x0290FB167208Af455bB137780163b7B7a9a10C16"
|
|
1592
|
+
}
|
|
1593
|
+
},
|
|
1594
|
+
mainnet: {
|
|
1595
|
+
name: "Polygon",
|
|
1596
|
+
chainId: 137,
|
|
1597
|
+
wormholeChainId: 5,
|
|
1598
|
+
rpcUrl: "https://polygon-rpc.com",
|
|
1599
|
+
explorerUrl: "https://polygonscan.com",
|
|
1600
|
+
isEvm: true,
|
|
1601
|
+
contracts: {
|
|
1602
|
+
wormholeCoreBridge: "0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7",
|
|
1603
|
+
tokenBridge: "0x5a58505a96D1dbf8dF91cB21B54419FC36e93fdE"
|
|
1604
|
+
}
|
|
1605
|
+
}
|
|
1606
|
+
},
|
|
1607
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1608
|
+
// BSC
|
|
1609
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1610
|
+
bsc: {
|
|
1611
|
+
displayName: "BNB Chain",
|
|
1612
|
+
type: "evm",
|
|
1613
|
+
canBeHub: false,
|
|
1614
|
+
testnet: {
|
|
1615
|
+
name: "BSC Testnet",
|
|
1616
|
+
chainId: 97,
|
|
1617
|
+
wormholeChainId: 4,
|
|
1618
|
+
rpcUrl: "https://data-seed-prebsc-1-s1.binance.org:8545",
|
|
1619
|
+
explorerUrl: "https://testnet.bscscan.com",
|
|
1620
|
+
isEvm: true,
|
|
1621
|
+
contracts: {
|
|
1622
|
+
wormholeCoreBridge: "0x68605AD7b15c732a30b1BbC62BE8F2A509D74b4D",
|
|
1623
|
+
tokenBridge: "0x9dcF9D205C9De35334D646BeE44b2D2859712A09"
|
|
1624
|
+
}
|
|
1625
|
+
},
|
|
1626
|
+
mainnet: {
|
|
1627
|
+
name: "BNB Chain",
|
|
1628
|
+
chainId: 56,
|
|
1629
|
+
wormholeChainId: 4,
|
|
1630
|
+
rpcUrl: "https://bsc-dataseed.binance.org",
|
|
1631
|
+
explorerUrl: "https://bscscan.com",
|
|
1632
|
+
isEvm: true,
|
|
1633
|
+
contracts: {
|
|
1634
|
+
wormholeCoreBridge: "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B",
|
|
1635
|
+
tokenBridge: "0xB6F6D86a8f9879A9c87f643768d9efc38c1Da6E7"
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
},
|
|
1639
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1640
|
+
// AVALANCHE — ACP-204 Native P-256 + ICM Teleporter + Hub-Capable
|
|
1641
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1642
|
+
avalanche: {
|
|
1643
|
+
displayName: "Avalanche",
|
|
1644
|
+
type: "evm",
|
|
1645
|
+
canBeHub: true,
|
|
1646
|
+
// ACP-204 provides native P-256 at 0x0100 (6,900 gas)
|
|
1647
|
+
testnet: {
|
|
1648
|
+
name: "Avalanche Fuji",
|
|
1649
|
+
chainId: 43113,
|
|
1650
|
+
wormholeChainId: 6,
|
|
1651
|
+
rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
|
|
1652
|
+
explorerUrl: "https://testnet.snowtrace.io",
|
|
1653
|
+
isEvm: true,
|
|
1654
|
+
contracts: {
|
|
1655
|
+
// Veridex Hub (deployed via deploy-avalanche.ts)
|
|
1656
|
+
hub: "",
|
|
1657
|
+
// No Hub on Fuji — Hub is on Base Sepolia
|
|
1658
|
+
vaultFactory: "0xBE231B798821f11c09051851683301F428fe9305",
|
|
1659
|
+
vaultImplementation: "0xcD738492D475D9241bcbe268797f930190d4c43a",
|
|
1660
|
+
// Wormhole bridges (canonical Fuji addresses)
|
|
1661
|
+
wormholeCoreBridge: "0x7bbcE28e64B3F8b84d876Ab298393c38ad7aac4C",
|
|
1662
|
+
tokenBridge: "0x61E44E506Ca5659E6c0bba9b678586fA2d729756",
|
|
1663
|
+
// Avalanche-specific: ACP-204 P-256 verifier wrapper
|
|
1664
|
+
p256Verifier: "0x07F608AFf6d63b68029488b726d895c4Bb593038",
|
|
1665
|
+
// Avalanche-specific: ICM Spoke for cross-L1 session bridging
|
|
1666
|
+
icmSpoke: "0xEA857fD26a976AB8F0aAd5e006b5FEfaF0F30c9B",
|
|
1667
|
+
// Chainlink price feeds (Fuji testnet)
|
|
1668
|
+
chainlinkAvaxUsd: "0x5498BB86BC934c8D34FDA08E81D444153d0D06aD",
|
|
1669
|
+
chainlinkUsdcUsd: "0x7898AcCC83587C3C55116c5230C17a6Cd9C71bad",
|
|
1670
|
+
chainlinkUsdtUsd: "0x7898AcCC83587C3C55116c5230C17a6Cd9C71bad"
|
|
1671
|
+
},
|
|
1672
|
+
hubChainId: 10004
|
|
1673
|
+
// Base Sepolia (primary Hub)
|
|
1674
|
+
},
|
|
1675
|
+
mainnet: {
|
|
1676
|
+
name: "Avalanche",
|
|
1677
|
+
chainId: 43114,
|
|
1678
|
+
wormholeChainId: 6,
|
|
1679
|
+
rpcUrl: "https://api.avax.network/ext/bc/C/rpc",
|
|
1680
|
+
explorerUrl: "https://snowtrace.io",
|
|
1681
|
+
isEvm: true,
|
|
1682
|
+
contracts: {
|
|
1683
|
+
wormholeCoreBridge: "0x54a8e5f9c4CbA08F9943965859F6c34eAF03E26c",
|
|
1684
|
+
tokenBridge: "0x0e082F06FF657D94310cB8cE8B0D9a04541d8052",
|
|
1685
|
+
// Chainlink price feeds (Avalanche mainnet)
|
|
1686
|
+
chainlinkAvaxUsd: "0x0A77230d17318075983913bC2145DB16C7366156",
|
|
1687
|
+
chainlinkUsdcUsd: "0xF096872672F44d6EBA71458D74fe67F9a77a23B9",
|
|
1688
|
+
chainlinkUsdtUsd: "0xEBE676ee90Fe1112671f19b6B7459bC678B67e8a"
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
},
|
|
1692
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1693
|
+
// SCROLL
|
|
1694
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1695
|
+
scroll: {
|
|
1696
|
+
displayName: "Scroll",
|
|
1697
|
+
type: "evm",
|
|
1698
|
+
canBeHub: false,
|
|
1699
|
+
testnet: {
|
|
1700
|
+
name: "Scroll Sepolia",
|
|
1701
|
+
chainId: 534351,
|
|
1702
|
+
wormholeChainId: 34,
|
|
1703
|
+
rpcUrl: "https://sepolia-rpc.scroll.io",
|
|
1704
|
+
explorerUrl: "https://sepolia.scrollscan.com",
|
|
1705
|
+
isEvm: true,
|
|
1706
|
+
contracts: {
|
|
1707
|
+
wormholeCoreBridge: "0x055F47F1250012C6B20c436570a76e52c17Af2D5",
|
|
1708
|
+
tokenBridge: "0x22427d90B7dA3fA4642F7025A854c7254E4e45BF"
|
|
1709
|
+
}
|
|
1710
|
+
},
|
|
1711
|
+
mainnet: {
|
|
1712
|
+
name: "Scroll",
|
|
1713
|
+
chainId: 534352,
|
|
1714
|
+
wormholeChainId: 34,
|
|
1715
|
+
rpcUrl: "https://rpc.scroll.io",
|
|
1716
|
+
explorerUrl: "https://scrollscan.com",
|
|
1717
|
+
isEvm: true,
|
|
1718
|
+
contracts: {
|
|
1719
|
+
wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
|
|
1720
|
+
tokenBridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
},
|
|
1724
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1725
|
+
// BLAST
|
|
1726
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1727
|
+
blast: {
|
|
1728
|
+
displayName: "Blast",
|
|
1729
|
+
type: "evm",
|
|
1730
|
+
canBeHub: false,
|
|
1731
|
+
testnet: {
|
|
1732
|
+
name: "Blast Sepolia",
|
|
1733
|
+
chainId: 168587773,
|
|
1734
|
+
wormholeChainId: 36,
|
|
1735
|
+
rpcUrl: "https://sepolia.blast.io",
|
|
1736
|
+
explorerUrl: "https://sepolia.blastscan.io",
|
|
1737
|
+
isEvm: true,
|
|
1738
|
+
contracts: {
|
|
1739
|
+
wormholeCoreBridge: "0x473e002D7add6fB67a4964F13bFd61280Ca46886",
|
|
1740
|
+
tokenBridge: "0x430855B4D43b8AEB9D2B9869B74d58dda79C0dB2"
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
mainnet: {
|
|
1744
|
+
name: "Blast",
|
|
1745
|
+
chainId: 81457,
|
|
1746
|
+
wormholeChainId: 36,
|
|
1747
|
+
rpcUrl: "https://rpc.blast.io",
|
|
1748
|
+
explorerUrl: "https://blastscan.io",
|
|
1749
|
+
isEvm: true,
|
|
1750
|
+
contracts: {
|
|
1751
|
+
wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
|
|
1752
|
+
tokenBridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1756
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1757
|
+
// MANTLE
|
|
1758
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1759
|
+
mantle: {
|
|
1760
|
+
displayName: "Mantle",
|
|
1761
|
+
type: "evm",
|
|
1762
|
+
canBeHub: false,
|
|
1763
|
+
testnet: {
|
|
1764
|
+
name: "Mantle Sepolia",
|
|
1765
|
+
chainId: 5003,
|
|
1766
|
+
wormholeChainId: 35,
|
|
1767
|
+
rpcUrl: "https://rpc.sepolia.mantle.xyz",
|
|
1768
|
+
explorerUrl: "https://sepolia.mantlescan.xyz",
|
|
1769
|
+
isEvm: true,
|
|
1770
|
+
contracts: {
|
|
1771
|
+
wormholeCoreBridge: "0x376428e7f26D5867e69201b275553C45B09EE090",
|
|
1772
|
+
tokenBridge: "0x75Bfa155a9D7A3714b0861c8a8aF0C4633c45b5D"
|
|
1773
|
+
}
|
|
1774
|
+
},
|
|
1775
|
+
mainnet: {
|
|
1776
|
+
name: "Mantle",
|
|
1777
|
+
chainId: 5e3,
|
|
1778
|
+
wormholeChainId: 35,
|
|
1779
|
+
rpcUrl: "https://rpc.mantle.xyz",
|
|
1780
|
+
explorerUrl: "https://mantlescan.xyz",
|
|
1781
|
+
isEvm: true,
|
|
1782
|
+
contracts: {
|
|
1783
|
+
wormholeCoreBridge: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
|
|
1784
|
+
tokenBridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d"
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1787
|
+
},
|
|
1788
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1789
|
+
// FANTOM
|
|
1790
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1791
|
+
fantom: {
|
|
1792
|
+
displayName: "Fantom",
|
|
1793
|
+
type: "evm",
|
|
1794
|
+
canBeHub: false,
|
|
1795
|
+
testnet: {
|
|
1796
|
+
name: "Fantom Testnet",
|
|
1797
|
+
chainId: 4002,
|
|
1798
|
+
wormholeChainId: 10,
|
|
1799
|
+
rpcUrl: "https://rpc.testnet.fantom.network",
|
|
1800
|
+
explorerUrl: "https://testnet.ftmscan.com",
|
|
1801
|
+
isEvm: true,
|
|
1802
|
+
contracts: {
|
|
1803
|
+
wormholeCoreBridge: "0x1BB3B4119b7BA9dfad76B0545fb3F531383c3bB7",
|
|
1804
|
+
tokenBridge: "0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8"
|
|
1805
|
+
}
|
|
1806
|
+
},
|
|
1807
|
+
mainnet: {
|
|
1808
|
+
name: "Fantom",
|
|
1809
|
+
chainId: 250,
|
|
1810
|
+
wormholeChainId: 10,
|
|
1811
|
+
rpcUrl: "https://rpcapi.fantom.network",
|
|
1812
|
+
explorerUrl: "https://ftmscan.com",
|
|
1813
|
+
isEvm: true,
|
|
1814
|
+
contracts: {
|
|
1815
|
+
wormholeCoreBridge: "0x126783A6Cb203a3E35344528B26ca3a0489a1485",
|
|
1816
|
+
tokenBridge: "0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2"
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1819
|
+
},
|
|
1820
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1821
|
+
// CELO
|
|
1822
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1823
|
+
celo: {
|
|
1824
|
+
displayName: "Celo",
|
|
1825
|
+
type: "evm",
|
|
1826
|
+
canBeHub: false,
|
|
1827
|
+
testnet: {
|
|
1828
|
+
name: "Celo Alfajores",
|
|
1829
|
+
chainId: 44787,
|
|
1830
|
+
wormholeChainId: 14,
|
|
1831
|
+
rpcUrl: "https://alfajores-forno.celo-testnet.org",
|
|
1832
|
+
explorerUrl: "https://alfajores.celoscan.io",
|
|
1833
|
+
isEvm: true,
|
|
1834
|
+
contracts: {
|
|
1835
|
+
wormholeCoreBridge: "0x88505117CA88e7dd2eC6EA1E13f0948db2D50D56",
|
|
1836
|
+
tokenBridge: "0x05ca6037eC51F8b712eD2E6Fa72219FEaE74E153"
|
|
1837
|
+
}
|
|
1838
|
+
},
|
|
1839
|
+
mainnet: {
|
|
1840
|
+
name: "Celo",
|
|
1841
|
+
chainId: 42220,
|
|
1842
|
+
wormholeChainId: 14,
|
|
1843
|
+
rpcUrl: "https://forno.celo.org",
|
|
1844
|
+
explorerUrl: "https://celoscan.io",
|
|
1845
|
+
isEvm: true,
|
|
1846
|
+
contracts: {
|
|
1847
|
+
wormholeCoreBridge: "0xa321448d90d4e5b0A732867c18eA198e75CAC48E",
|
|
1848
|
+
tokenBridge: "0x796Dff6D74F3E27060B71255Fe517BFb23C93eed"
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
},
|
|
1852
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1853
|
+
// MOONBEAM
|
|
1854
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1855
|
+
moonbeam: {
|
|
1856
|
+
displayName: "Moonbeam",
|
|
1857
|
+
type: "evm",
|
|
1858
|
+
canBeHub: false,
|
|
1859
|
+
testnet: {
|
|
1860
|
+
name: "Moonbase Alpha",
|
|
1861
|
+
chainId: 1287,
|
|
1862
|
+
wormholeChainId: 16,
|
|
1863
|
+
rpcUrl: "https://rpc.api.moonbase.moonbeam.network",
|
|
1864
|
+
explorerUrl: "https://moonbase.moonscan.io",
|
|
1865
|
+
isEvm: true,
|
|
1866
|
+
contracts: {
|
|
1867
|
+
wormholeCoreBridge: "0xa5B7D85a8f27dd7907dc8FdC21FA5657D5E2F901",
|
|
1868
|
+
tokenBridge: "0xbc976D4b9D57E57c3cA52e1Fd136C45FF7955A96"
|
|
1869
|
+
}
|
|
1870
|
+
},
|
|
1871
|
+
mainnet: {
|
|
1872
|
+
name: "Moonbeam",
|
|
1873
|
+
chainId: 1284,
|
|
1874
|
+
wormholeChainId: 16,
|
|
1875
|
+
rpcUrl: "https://rpc.api.moonbeam.network",
|
|
1876
|
+
explorerUrl: "https://moonscan.io",
|
|
1877
|
+
isEvm: true,
|
|
1878
|
+
contracts: {
|
|
1879
|
+
wormholeCoreBridge: "0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3",
|
|
1880
|
+
tokenBridge: "0xb1731c586ca89a23809861c6103F0b96B3F57D92"
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
},
|
|
1884
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1885
|
+
// MONAD - High-Performance L1 with EIP-7951 P256 + Agent Gateway
|
|
1886
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1887
|
+
monad: {
|
|
1888
|
+
displayName: "Monad",
|
|
1889
|
+
type: "evm",
|
|
1890
|
+
canBeHub: true,
|
|
1891
|
+
// Has native P-256 precompile (EIP-7951)
|
|
1892
|
+
testnet: {
|
|
1893
|
+
name: "Monad Testnet",
|
|
1894
|
+
chainId: 10143,
|
|
1895
|
+
wormholeChainId: 10048,
|
|
1896
|
+
rpcUrl: "https://testnet-rpc.monad.xyz",
|
|
1897
|
+
explorerUrl: "https://testnet.monadvision.com",
|
|
1898
|
+
isEvm: true,
|
|
1899
|
+
contracts: {
|
|
1900
|
+
vaultFactory: "0x07F608AFf6d63b68029488b726d895c4Bb593038",
|
|
1901
|
+
vaultImplementation: "0xD66153fccFB6731fB6c4944FbD607ba86A76a1f6",
|
|
1902
|
+
wormholeCoreBridge: "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd",
|
|
1903
|
+
// Agent Gateway contracts
|
|
1904
|
+
serviceDirectory: "0x0D2B4193e78107678a5aC29d795e0EcD361aE3A7"
|
|
1905
|
+
},
|
|
1906
|
+
hubChainId: 10004
|
|
1907
|
+
// Base Sepolia
|
|
1908
|
+
},
|
|
1909
|
+
mainnet: {
|
|
1910
|
+
name: "Monad",
|
|
1911
|
+
chainId: 143,
|
|
1912
|
+
wormholeChainId: 0,
|
|
1913
|
+
// TBD
|
|
1914
|
+
rpcUrl: "https://rpc.monad.xyz",
|
|
1915
|
+
explorerUrl: "https://monadscan.com",
|
|
1916
|
+
isEvm: true,
|
|
1917
|
+
contracts: {
|
|
1918
|
+
wormholeCoreBridge: "0x194B123c5E96B9b2E49763619985790Dc241CAC0",
|
|
1919
|
+
tokenBridge: "0x0B2719cdA2F10595369e6673ceA3Ee2EDFa13BA7"
|
|
1920
|
+
}
|
|
1921
|
+
}
|
|
1922
|
+
},
|
|
1923
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1924
|
+
// SEI
|
|
1925
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1926
|
+
sei: {
|
|
1927
|
+
displayName: "Sei",
|
|
1928
|
+
type: "evm",
|
|
1929
|
+
canBeHub: false,
|
|
1930
|
+
testnet: {
|
|
1931
|
+
name: "Sei Atlantic-2",
|
|
1932
|
+
chainId: 1328,
|
|
1933
|
+
wormholeChainId: 40,
|
|
1934
|
+
rpcUrl: "https://evm-rpc-testnet.sei-apis.com",
|
|
1935
|
+
explorerUrl: "https://seitrace.com/?chain=atlantic-2",
|
|
1936
|
+
isEvm: true,
|
|
1937
|
+
contracts: {
|
|
1938
|
+
vaultFactory: "0x07F608AFf6d63b68029488b726d895c4Bb593038",
|
|
1939
|
+
vaultImplementation: "0xD66153fccFB6731fB6c4944FbD607ba86A76a1f6",
|
|
1940
|
+
wormholeCoreBridge: "0x0000000000000000000000000000000000000000"
|
|
1941
|
+
}
|
|
1942
|
+
},
|
|
1943
|
+
mainnet: {
|
|
1944
|
+
name: "Sei",
|
|
1945
|
+
chainId: 1329,
|
|
1946
|
+
wormholeChainId: 32,
|
|
1947
|
+
rpcUrl: "https://evm-rpc.sei-apis.com",
|
|
1948
|
+
explorerUrl: "https://seitrace.com",
|
|
1949
|
+
isEvm: true,
|
|
1950
|
+
contracts: {
|
|
1951
|
+
wormholeCoreBridge: "0x0000000000000000000000000000000000000000"
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
},
|
|
1955
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1956
|
+
// SOLANA
|
|
1957
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1958
|
+
solana: {
|
|
1959
|
+
displayName: "Solana",
|
|
1960
|
+
type: "solana",
|
|
1961
|
+
canBeHub: false,
|
|
1962
|
+
testnet: {
|
|
1963
|
+
name: "Solana Devnet",
|
|
1964
|
+
chainId: 0,
|
|
1965
|
+
wormholeChainId: 1,
|
|
1966
|
+
rpcUrl: "https://api.devnet.solana.com",
|
|
1967
|
+
explorerUrl: "https://explorer.solana.com",
|
|
1968
|
+
isEvm: false,
|
|
1969
|
+
contracts: {
|
|
1970
|
+
hub: "AnyXHsqq9c2BiW4WgBcj6Aye7Ua7a7L7iSuwpfJxECJM",
|
|
1971
|
+
wormholeCoreBridge: "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5",
|
|
1972
|
+
tokenBridge: "DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe"
|
|
1973
|
+
}
|
|
1974
|
+
},
|
|
1975
|
+
mainnet: {
|
|
1976
|
+
name: "Solana",
|
|
1977
|
+
chainId: 0,
|
|
1978
|
+
wormholeChainId: 1,
|
|
1979
|
+
rpcUrl: "https://api.mainnet-beta.solana.com",
|
|
1980
|
+
explorerUrl: "https://explorer.solana.com",
|
|
1981
|
+
isEvm: false,
|
|
1982
|
+
contracts: {
|
|
1983
|
+
wormholeCoreBridge: "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth",
|
|
1984
|
+
tokenBridge: "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb"
|
|
1985
|
+
}
|
|
1986
|
+
}
|
|
1987
|
+
},
|
|
1988
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1989
|
+
// APTOS
|
|
1990
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
1991
|
+
aptos: {
|
|
1992
|
+
displayName: "Aptos",
|
|
1993
|
+
type: "aptos",
|
|
1994
|
+
canBeHub: false,
|
|
1995
|
+
testnet: {
|
|
1996
|
+
name: "Aptos Testnet",
|
|
1997
|
+
chainId: 0,
|
|
1998
|
+
wormholeChainId: 22,
|
|
1999
|
+
rpcUrl: "https://fullnode.testnet.aptoslabs.com/v1",
|
|
2000
|
+
explorerUrl: "https://explorer.aptoslabs.com",
|
|
2001
|
+
isEvm: false,
|
|
2002
|
+
contracts: {
|
|
2003
|
+
hub: "0x0237e04f74b991b5b6030a793779663033f4ff4a1682a9e66c1f41fc1ec3e2a4",
|
|
2004
|
+
wormholeCoreBridge: "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625",
|
|
2005
|
+
tokenBridge: "0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f"
|
|
2006
|
+
}
|
|
2007
|
+
},
|
|
2008
|
+
mainnet: {
|
|
2009
|
+
name: "Aptos",
|
|
2010
|
+
chainId: 0,
|
|
2011
|
+
wormholeChainId: 22,
|
|
2012
|
+
rpcUrl: "https://fullnode.mainnet.aptoslabs.com/v1",
|
|
2013
|
+
explorerUrl: "https://explorer.aptoslabs.com",
|
|
2014
|
+
isEvm: false,
|
|
2015
|
+
contracts: {
|
|
2016
|
+
wormholeCoreBridge: "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625",
|
|
2017
|
+
tokenBridge: "0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f"
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
},
|
|
2021
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2022
|
+
// SUI
|
|
2023
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2024
|
+
sui: {
|
|
2025
|
+
displayName: "Sui",
|
|
2026
|
+
type: "sui",
|
|
2027
|
+
canBeHub: false,
|
|
2028
|
+
testnet: {
|
|
2029
|
+
name: "Sui Testnet",
|
|
2030
|
+
chainId: 0,
|
|
2031
|
+
wormholeChainId: 21,
|
|
2032
|
+
rpcUrl: "https://fullnode.testnet.sui.io:443",
|
|
2033
|
+
explorerUrl: "https://suiscan.xyz/testnet",
|
|
2034
|
+
isEvm: false,
|
|
2035
|
+
contracts: {
|
|
2036
|
+
hub: "0x35e99fdbbc1cde7e093da6f9e758ba2c4a077904bd64caee2fa6db5e6c4e9e37",
|
|
2037
|
+
wormholeCoreBridge: "0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790"
|
|
2038
|
+
}
|
|
2039
|
+
},
|
|
2040
|
+
mainnet: {
|
|
2041
|
+
name: "Sui",
|
|
2042
|
+
chainId: 0,
|
|
2043
|
+
wormholeChainId: 21,
|
|
2044
|
+
rpcUrl: "https://fullnode.mainnet.sui.io:443",
|
|
2045
|
+
explorerUrl: "https://suiscan.xyz/mainnet",
|
|
2046
|
+
isEvm: false,
|
|
2047
|
+
contracts: {
|
|
2048
|
+
wormholeCoreBridge: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c"
|
|
2049
|
+
}
|
|
2050
|
+
}
|
|
2051
|
+
},
|
|
2052
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2053
|
+
// STARKNET
|
|
2054
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2055
|
+
starknet: {
|
|
2056
|
+
displayName: "Starknet",
|
|
2057
|
+
type: "starknet",
|
|
2058
|
+
canBeHub: false,
|
|
2059
|
+
testnet: {
|
|
2060
|
+
name: "Starknet Sepolia",
|
|
2061
|
+
chainId: 0,
|
|
2062
|
+
wormholeChainId: 50001,
|
|
2063
|
+
// Custom bridge (non-Wormhole)
|
|
2064
|
+
rpcUrl: "https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/tsOnfTBZDKMXcUA26OED-",
|
|
2065
|
+
explorerUrl: "https://sepolia.starkscan.co",
|
|
2066
|
+
isEvm: false,
|
|
2067
|
+
contracts: {
|
|
2068
|
+
hub: "0x68adcc730ed6c355200d00f763825448497b9cdf7936ca121711e078c88e811",
|
|
2069
|
+
wormholeCoreBridge: "0x2c458c1ae64556482b05cc2d3ee5b032ed114d68429dda2062c9849a5a725f8"
|
|
2070
|
+
},
|
|
2071
|
+
hubChainId: 10004
|
|
2072
|
+
// Base Sepolia
|
|
2073
|
+
},
|
|
2074
|
+
mainnet: {
|
|
2075
|
+
name: "Starknet",
|
|
2076
|
+
chainId: 0,
|
|
2077
|
+
wormholeChainId: 50001,
|
|
2078
|
+
rpcUrl: "https://starknet-mainnet.public.blastapi.io/rpc/v0_7",
|
|
2079
|
+
explorerUrl: "https://starkscan.co",
|
|
2080
|
+
isEvm: false,
|
|
2081
|
+
contracts: {
|
|
2082
|
+
// TODO: Deploy mainnet contracts
|
|
2083
|
+
wormholeCoreBridge: ""
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2086
|
+
},
|
|
2087
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2088
|
+
// STACKS
|
|
2089
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2090
|
+
stacks: {
|
|
2091
|
+
displayName: "Stacks",
|
|
2092
|
+
type: "stacks",
|
|
2093
|
+
canBeHub: false,
|
|
2094
|
+
testnet: {
|
|
2095
|
+
name: "Stacks Testnet",
|
|
2096
|
+
chainId: 2147483648,
|
|
2097
|
+
// CAIP-2: stacks:2147483648
|
|
2098
|
+
wormholeChainId: 60,
|
|
2099
|
+
// Official Wormhole chain ID for Stacks
|
|
2100
|
+
rpcUrl: "https://api.testnet.hiro.so",
|
|
2101
|
+
explorerUrl: "https://explorer.hiro.so/?chain=testnet",
|
|
2102
|
+
isEvm: false,
|
|
2103
|
+
contracts: {
|
|
2104
|
+
// Spoke contract: identity + session management
|
|
2105
|
+
hub: "ST1CKNN84MDPCJRQDHDCY34GMRKQ3TASNNDJQDRTN.veridex-spoke",
|
|
2106
|
+
// Vault contract: STX/sBTC custody
|
|
2107
|
+
vaultFactory: "ST1CKNN84MDPCJRQDHDCY34GMRKQ3TASNNDJQDRTN.veridex-vault",
|
|
2108
|
+
wormholeCoreBridge: "",
|
|
2109
|
+
// Phase 2: Wormhole integration contracts
|
|
2110
|
+
wormholeVerifier: "ST1CKNN84MDPCJRQDHDCY34GMRKQ3TASNNDJQDRTN.veridex-wormhole-verifier",
|
|
2111
|
+
vaultVaa: "ST1CKNN84MDPCJRQDHDCY34GMRKQ3TASNNDJQDRTN.veridex-vault-vaa"
|
|
2112
|
+
},
|
|
2113
|
+
hubChainId: 10004
|
|
2114
|
+
// Base Sepolia
|
|
2115
|
+
},
|
|
2116
|
+
mainnet: {
|
|
2117
|
+
name: "Stacks",
|
|
2118
|
+
chainId: 1,
|
|
2119
|
+
// CAIP-2: stacks:1
|
|
2120
|
+
wormholeChainId: 60,
|
|
2121
|
+
rpcUrl: "https://api.hiro.so",
|
|
2122
|
+
explorerUrl: "https://explorer.hiro.so",
|
|
2123
|
+
isEvm: false,
|
|
2124
|
+
contracts: {
|
|
2125
|
+
// TODO: Deploy mainnet contracts
|
|
2126
|
+
wormholeCoreBridge: ""
|
|
2127
|
+
}
|
|
2128
|
+
}
|
|
2129
|
+
},
|
|
2130
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2131
|
+
// NEAR
|
|
2132
|
+
// ────────────────────────────────────────────────────────────────────────
|
|
2133
|
+
near: {
|
|
2134
|
+
displayName: "Near",
|
|
2135
|
+
type: "near",
|
|
2136
|
+
canBeHub: false,
|
|
2137
|
+
testnet: {
|
|
2138
|
+
name: "Near Testnet",
|
|
2139
|
+
chainId: 0,
|
|
2140
|
+
wormholeChainId: 15,
|
|
2141
|
+
rpcUrl: "https://rpc.testnet.near.org",
|
|
2142
|
+
explorerUrl: "https://explorer.testnet.near.org",
|
|
2143
|
+
isEvm: false,
|
|
2144
|
+
contracts: {
|
|
2145
|
+
wormholeCoreBridge: "wormhole.wormhole.testnet",
|
|
2146
|
+
tokenBridge: "token.wormhole.testnet"
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
mainnet: {
|
|
2150
|
+
name: "Near",
|
|
2151
|
+
chainId: 0,
|
|
2152
|
+
wormholeChainId: 15,
|
|
2153
|
+
rpcUrl: "https://rpc.mainnet.near.org",
|
|
2154
|
+
explorerUrl: "https://explorer.near.org",
|
|
2155
|
+
isEvm: false,
|
|
2156
|
+
contracts: {
|
|
2157
|
+
wormholeCoreBridge: "contract.wormhole_crypto.near",
|
|
2158
|
+
tokenBridge: "contract.portalbridge.near"
|
|
2159
|
+
}
|
|
2160
|
+
}
|
|
2161
|
+
}
|
|
2162
|
+
};
|
|
2163
|
+
function getDefaultHub(network = "testnet") {
|
|
2164
|
+
const primary = getEffectivePrimaryHub();
|
|
2165
|
+
return CHAIN_PRESETS[primary][network];
|
|
2166
|
+
}
|
|
2167
|
+
|
|
1422
2168
|
// src/auth/prepareAuth.ts
|
|
1423
2169
|
function resolveNetwork2() {
|
|
1424
2170
|
const envCandidates = [
|
|
@@ -1432,13 +2178,13 @@ function resolveNetwork2() {
|
|
|
1432
2178
|
return "testnet";
|
|
1433
2179
|
}
|
|
1434
2180
|
function getHubChainId(network) {
|
|
1435
|
-
return network
|
|
2181
|
+
return getDefaultHub(network).wormholeChainId;
|
|
1436
2182
|
}
|
|
1437
2183
|
function getHubRpcUrl(network) {
|
|
1438
|
-
return network
|
|
2184
|
+
return getDefaultHub(network).rpcUrl;
|
|
1439
2185
|
}
|
|
1440
2186
|
function getHubAddress(network) {
|
|
1441
|
-
const hub = network
|
|
2187
|
+
const hub = getDefaultHub(network).contracts.hub;
|
|
1442
2188
|
if (!hub) {
|
|
1443
2189
|
throw new Error("Hub address missing in SDK constants");
|
|
1444
2190
|
}
|