@hyperbridge/sdk 1.3.1 → 1.3.3

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.
@@ -1,10 +1,10 @@
1
1
  import { createConsola, LogLevels } from 'consola';
2
2
  import { flatten, zip, capitalize, maxBy, isNil } from 'lodash-es';
3
- import { hexToBytes, encodePacked, toHex, keccak256, encodeAbiParameters, bytesToHex, concatHex, createPublicClient, http, encodeFunctionData, erc20Abi, bytesToBigInt, pad, toBytes, maxUint256, parseUnits } from 'viem';
3
+ import { toHex, hexToBytes, encodePacked, keccak256, encodeAbiParameters, bytesToHex, concatHex, createPublicClient, http, encodeFunctionData, erc20Abi, bytesToBigInt, pad, toBytes, maxUint256, parseUnits } from 'viem';
4
4
  import mergeRace from '@async-generator/merge-race';
5
+ import { gnosisChiado, gnosis, bscTestnet, bsc, soneium, baseSepolia, base, optimismSepolia, optimism, arbitrumSepolia, arbitrum, mainnet, sepolia } from 'viem/chains';
5
6
  import { hasWindow, isNode, env } from 'std-env';
6
7
  import { Vector, u8, Struct, Tuple, Enum, _void, u64, u32, Option, bool, u128 } from 'scale-ts';
7
- import { gnosisChiado, gnosis, bscTestnet, bsc, soneium, baseSepolia, base, optimismSepolia, optimism, arbitrumSepolia, arbitrum, mainnet, sepolia } from 'viem/chains';
8
8
  import { match } from 'ts-pattern';
9
9
  import { WsProvider, ApiPromise } from '@polkadot/api';
10
10
  import { RpcWebSocketClient } from 'rpc-websocket-client';
@@ -3352,60 +3352,341 @@ var ABI2 = [
3352
3352
  }
3353
3353
  ];
3354
3354
  var handler_default = { ABI: ABI2 };
3355
- function getPeakPosByHeight(height) {
3356
- return (1n << BigInt(height + 1)) - 2n;
3357
- }
3358
- function leftPeakHeightPos(mmrSize) {
3359
- let height = 1;
3360
- let prevPos = 0n;
3361
- let pos = getPeakPosByHeight(height);
3362
- while (pos < mmrSize) {
3363
- height += 1;
3364
- prevPos = pos;
3365
- pos = getPeakPosByHeight(height);
3355
+ var Chains = /* @__PURE__ */ ((Chains2) => {
3356
+ Chains2["BSC_CHAPEL"] = "EVM-97";
3357
+ Chains2["GNOSIS_CHIADO"] = "EVM-10200";
3358
+ Chains2["HYPERBRIDGE_GARGANTUA"] = "KUSAMA-4009";
3359
+ Chains2["SEPOLIA"] = "EVM-11155111";
3360
+ Chains2["MAINNET"] = "EVM-1";
3361
+ Chains2["BSC_MAINNET"] = "EVM-56";
3362
+ Chains2["ARBITRUM_MAINNET"] = "EVM-42161";
3363
+ Chains2["BASE_MAINNET"] = "EVM-8453";
3364
+ return Chains2;
3365
+ })(Chains || {});
3366
+ var chainIds = {
3367
+ ["EVM-97" /* BSC_CHAPEL */]: 97,
3368
+ ["EVM-10200" /* GNOSIS_CHIADO */]: 10200,
3369
+ ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: 4009,
3370
+ ["EVM-11155111" /* SEPOLIA */]: 11155111,
3371
+ ["EVM-1" /* MAINNET */]: 1,
3372
+ ["EVM-56" /* BSC_MAINNET */]: 56,
3373
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: 42161,
3374
+ ["EVM-8453" /* BASE_MAINNET */]: 8453
3375
+ };
3376
+ var viemChains = {
3377
+ "97": bscTestnet,
3378
+ "10200": gnosisChiado,
3379
+ "11155111": sepolia,
3380
+ "1": mainnet,
3381
+ "56": bsc,
3382
+ "42161": arbitrum,
3383
+ "8453": base
3384
+ };
3385
+ var WrappedNativeDecimals = {
3386
+ ["EVM-97" /* BSC_CHAPEL */]: 18,
3387
+ ["EVM-10200" /* GNOSIS_CHIADO */]: 18,
3388
+ ["EVM-11155111" /* SEPOLIA */]: 18,
3389
+ ["EVM-1" /* MAINNET */]: 18,
3390
+ ["EVM-56" /* BSC_MAINNET */]: 18,
3391
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: 18,
3392
+ ["EVM-8453" /* BASE_MAINNET */]: 18
3393
+ };
3394
+ var assets = {
3395
+ ["EVM-97" /* BSC_CHAPEL */]: {
3396
+ WETH: "0xae13d989dac2f0debff460ac112a837c89baa7cd".toLowerCase(),
3397
+ DAI: "0x1938165569A5463327fb206bE06d8D9253aa06b7".toLowerCase(),
3398
+ USDC: "0xC625ec7D30A4b1AAEfb1304610CdAcD0d606aC92".toLowerCase(),
3399
+ USDT: "0xc043f483373072f7f27420d6e7d7ad269c018e18".toLowerCase()
3400
+ },
3401
+ ["EVM-10200" /* GNOSIS_CHIADO */]: {
3402
+ WETH: "0x0000000000000000000000000000000000000000".toLowerCase(),
3403
+ DAI: "0x50B1d3c7c073c9caa1Ef207365A2c9C976bD70b9".toLowerCase(),
3404
+ USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
3405
+ USDT: "0x0000000000000000000000000000000000000000".toLowerCase()
3406
+ },
3407
+ ["EVM-11155111" /* SEPOLIA */]: {
3408
+ WETH: "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9".toLowerCase(),
3409
+ USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
3410
+ USDT: "0x0000000000000000000000000000000000000000".toLowerCase(),
3411
+ DAI: "0x0000000000000000000000000000000000000000".toLowerCase()
3412
+ },
3413
+ ["EVM-1" /* MAINNET */]: {
3414
+ WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2".toLowerCase(),
3415
+ DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F".toLowerCase(),
3416
+ USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48".toLowerCase(),
3417
+ USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7".toLowerCase()
3418
+ },
3419
+ ["EVM-56" /* BSC_MAINNET */]: {
3420
+ WETH: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c".toLowerCase(),
3421
+ DAI: "0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3".toLowerCase(),
3422
+ USDC: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d".toLowerCase(),
3423
+ USDT: "0x55d398326f99059fF775485246999027B3197955".toLowerCase()
3424
+ },
3425
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: {
3426
+ WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1".toLowerCase(),
3427
+ DAI: "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1".toLowerCase(),
3428
+ USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831".toLowerCase(),
3429
+ USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9".toLowerCase()
3430
+ },
3431
+ ["EVM-8453" /* BASE_MAINNET */]: {
3432
+ WETH: "0x4200000000000000000000000000000000000006".toLowerCase(),
3433
+ DAI: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb".toLowerCase(),
3434
+ USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913".toLowerCase(),
3435
+ USDT: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2".toLowerCase()
3366
3436
  }
3367
- return [height - 1, prevPos];
3368
- }
3369
- function getRightPeak(initialHeight, initialPos, mmrSize) {
3370
- let height = initialHeight;
3371
- let pos = initialPos;
3372
- pos += siblingOffset(height);
3373
- while (pos > mmrSize - 1n) {
3374
- if (height === 0) {
3375
- return null;
3376
- }
3377
- pos -= parentOffset(height - 1);
3378
- height -= 1;
3437
+ };
3438
+ var addresses = {
3439
+ IntentGateway: {
3440
+ ["EVM-97" /* BSC_CHAPEL */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
3441
+ ["EVM-10200" /* GNOSIS_CHIADO */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
3442
+ ["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
3443
+ ["EVM-1" /* MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
3444
+ ["EVM-56" /* BSC_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
3445
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
3446
+ ["EVM-8453" /* BASE_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA"
3447
+ },
3448
+ Host: {
3449
+ ["EVM-97" /* BSC_CHAPEL */]: "0x8Aa0Dea6D675d785A882967Bf38183f6117C09b7",
3450
+ ["EVM-10200" /* GNOSIS_CHIADO */]: "0x58a41b89f4871725e5d898d98ef4bf917601c5eb",
3451
+ ["EVM-11155111" /* SEPOLIA */]: "0x2EdB74C269948b60ec1000040E104cef0eABaae8",
3452
+ ["EVM-1" /* MAINNET */]: "0x792A6236AF69787C40cF76b69B4c8c7B28c4cA20",
3453
+ ["EVM-56" /* BSC_MAINNET */]: "0x24B5d421Ec373FcA57325dd2F0C074009Af021F7",
3454
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0xE05AFD4Eb2ce6d65c40e1048381BD0Ef8b4B299e",
3455
+ ["EVM-8453" /* BASE_MAINNET */]: "0x6FFe92e4d7a9D589549644544780e6725E84b248"
3456
+ },
3457
+ UniswapRouter02: {
3458
+ ["EVM-97" /* BSC_CHAPEL */]: "0x9639379819420704457B07A0C33B678D9E0F8Df0",
3459
+ ["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
3460
+ ["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
3461
+ ["EVM-1" /* MAINNET */]: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
3462
+ ["EVM-56" /* BSC_MAINNET */]: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24",
3463
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3464
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3465
+ },
3466
+ UniswapV2Factory: {
3467
+ ["EVM-97" /* BSC_CHAPEL */]: "0x12e036669DA18F4A2777853d6e2136b32AceEC86",
3468
+ ["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
3469
+ ["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
3470
+ ["EVM-1" /* MAINNET */]: "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
3471
+ ["EVM-56" /* BSC_MAINNET */]: "0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",
3472
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3473
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3474
+ },
3475
+ BatchExecutor: {
3476
+ ["EVM-97" /* BSC_CHAPEL */]: "0x4CC58B5D8FBf838d062E4b21F75C327835B5F0ef",
3477
+ ["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
3478
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3479
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3480
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3481
+ },
3482
+ UniversalRouter: {
3483
+ ["EVM-97" /* BSC_CHAPEL */]: "0xcc6d5ece3d4a57245bf5a2f64f3ed9179b81f714",
3484
+ ["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
3485
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3486
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3487
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3488
+ },
3489
+ UniswapV3Router: {
3490
+ ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
3491
+ ["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
3492
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3493
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3494
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3495
+ },
3496
+ UniswapV3Factory: {
3497
+ ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
3498
+ ["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
3499
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3500
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3501
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3502
+ },
3503
+ UniswapV3Quoter: {
3504
+ ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
3505
+ ["EVM-1" /* MAINNET */]: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
3506
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3507
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3508
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3509
+ },
3510
+ UniswapV4PoolManager: {
3511
+ ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
3512
+ ["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
3513
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3514
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3515
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3516
+ },
3517
+ UniswapV4Quoter: {
3518
+ ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
3519
+ ["EVM-1" /* MAINNET */]: "0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203",
3520
+ ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
3521
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
3522
+ ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
3523
+ },
3524
+ Calldispatcher: {
3525
+ ["EVM-11155111" /* SEPOLIA */]: "0xC7f13b6D03A0A7F3239d38897503E90553ABe155"
3379
3526
  }
3380
- return [height, pos];
3381
- }
3382
- function getPeaks(mmrSize) {
3383
- const positions = [];
3384
- let [height, pos] = leftPeakHeightPos(mmrSize);
3385
- positions.push(pos);
3386
- while (height > 0) {
3387
- const peak = getRightPeak(height, pos, mmrSize);
3388
- if (!peak) break;
3389
- [height, pos] = peak;
3390
- positions.push(pos);
3527
+ };
3528
+ var createRpcUrls = (env2) => ({
3529
+ ["EVM-97" /* BSC_CHAPEL */]: env2.BSC_CHAPEL || "https://bnb-testnet.api.onfinality.io/public",
3530
+ ["EVM-10200" /* GNOSIS_CHIADO */]: env2.GNOSIS_CHIADO || "https://gnosis-chiado-rpc.publicnode.com",
3531
+ ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: env2.HYPERBRIDGE_GARGANTUA || "",
3532
+ ["EVM-11155111" /* SEPOLIA */]: env2.SEPOLIA || "https://1rpc.io/sepolia",
3533
+ ["EVM-1" /* MAINNET */]: env2.ETH_MAINNET || "https://eth-mainnet.g.alchemy.com/v2/demo",
3534
+ ["EVM-56" /* BSC_MAINNET */]: env2.BSC_MAINNET || "https://binance.llamarpc.com",
3535
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: env2.ARBITRUM_MAINNET || "https://arbitrum-one.public.blastapi.io",
3536
+ ["EVM-8453" /* BASE_MAINNET */]: env2.BASE_MAINNET || "https://base-mainnet.public.blastapi.io"
3537
+ });
3538
+ var consensusStateIds = {
3539
+ ["EVM-97" /* BSC_CHAPEL */]: "BSC0",
3540
+ ["EVM-10200" /* GNOSIS_CHIADO */]: "GNO0",
3541
+ ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: "PAS0",
3542
+ ["EVM-11155111" /* SEPOLIA */]: "ETH0",
3543
+ ["EVM-1" /* MAINNET */]: "ETH0",
3544
+ ["EVM-56" /* BSC_MAINNET */]: "BSC0",
3545
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "ETH0",
3546
+ ["EVM-8453" /* BASE_MAINNET */]: "ETH0"
3547
+ };
3548
+ var coingeckoIds = {
3549
+ ["EVM-97" /* BSC_CHAPEL */]: "binance-smart-chain",
3550
+ ["EVM-10200" /* GNOSIS_CHIADO */]: "gnosis",
3551
+ ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: "hyperbridge",
3552
+ ["EVM-11155111" /* SEPOLIA */]: "ethereum",
3553
+ ["EVM-1" /* MAINNET */]: "ethereum",
3554
+ ["EVM-56" /* BSC_MAINNET */]: "binance-smart-chain",
3555
+ ["EVM-42161" /* ARBITRUM_MAINNET */]: "arbitrum-one",
3556
+ ["EVM-8453" /* BASE_MAINNET */]: "base"
3557
+ };
3558
+
3559
+ // src/configs/ChainConfigService.ts
3560
+ var ChainConfigService = class {
3561
+ rpcUrls;
3562
+ constructor(env2 = process.env) {
3563
+ this.rpcUrls = createRpcUrls(env2);
3391
3564
  }
3392
- return positions;
3393
- }
3394
- function allOnes(num) {
3395
- if (num === 0n) return false;
3396
- return num.toString(2).split("").every((bit) => bit === "1");
3397
- }
3398
- function jumpLeft(pos) {
3399
- const bitLength = pos.toString(2).length;
3400
- const mostSignificantBits = 1n << BigInt(bitLength - 1);
3401
- return pos - (mostSignificantBits - 1n);
3402
- }
3403
- function posHeightInTree(initialPos) {
3404
- let pos = initialPos + 1n;
3405
- while (!allOnes(pos)) {
3406
- pos = jumpLeft(pos);
3565
+ getChainConfig(chain) {
3566
+ return {
3567
+ chainId: chainIds[chain],
3568
+ rpcUrl: this.rpcUrls[chain],
3569
+ intentGatewayAddress: addresses.IntentGateway[chain]
3570
+ };
3407
3571
  }
3408
- return pos.toString(2).length - 1;
3572
+ getIntentGatewayAddress(chain) {
3573
+ return addresses.IntentGateway[chain];
3574
+ }
3575
+ getHostAddress(chain) {
3576
+ return addresses.Host[chain];
3577
+ }
3578
+ getWrappedNativeAssetWithDecimals(chain) {
3579
+ return {
3580
+ asset: assets[chain].WETH,
3581
+ decimals: WrappedNativeDecimals[chain]
3582
+ };
3583
+ }
3584
+ getDaiAsset(chain) {
3585
+ return assets[chain].DAI;
3586
+ }
3587
+ getUsdtAsset(chain) {
3588
+ return assets[chain].USDT;
3589
+ }
3590
+ getUsdcAsset(chain) {
3591
+ return assets[chain].USDC;
3592
+ }
3593
+ getChainId(chain) {
3594
+ return chainIds[chain];
3595
+ }
3596
+ getConsensusStateId(chain) {
3597
+ return toHex(consensusStateIds[chain]);
3598
+ }
3599
+ getHyperbridgeChainId() {
3600
+ return chainIds["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */];
3601
+ }
3602
+ getRpcUrl(chain) {
3603
+ return this.rpcUrls[chain];
3604
+ }
3605
+ getUniswapRouterV2Address(chain) {
3606
+ return addresses.UniswapRouter02[chain];
3607
+ }
3608
+ getUniswapV2FactoryAddress(chain) {
3609
+ return addresses.UniswapV2Factory[chain];
3610
+ }
3611
+ getBatchExecutorAddress(chain) {
3612
+ return addresses.BatchExecutor[chain];
3613
+ }
3614
+ getUniversalRouterAddress(chain) {
3615
+ return addresses.UniversalRouter[chain];
3616
+ }
3617
+ getUniswapV3RouterAddress(chain) {
3618
+ return addresses.UniswapV3Router[chain];
3619
+ }
3620
+ getUniswapV3FactoryAddress(chain) {
3621
+ return addresses.UniswapV3Factory[chain];
3622
+ }
3623
+ getUniswapV3QuoterAddress(chain) {
3624
+ return addresses.UniswapV3Quoter[chain];
3625
+ }
3626
+ getUniswapV4PoolManagerAddress(chain) {
3627
+ return addresses.UniswapV4PoolManager[chain];
3628
+ }
3629
+ getUniswapV4QuoterAddress(chain) {
3630
+ return addresses.UniswapV4Quoter[chain];
3631
+ }
3632
+ getCoingeckoId(chain) {
3633
+ return coingeckoIds[chain];
3634
+ }
3635
+ };
3636
+ function getPeakPosByHeight(height) {
3637
+ return (1n << BigInt(height + 1)) - 2n;
3638
+ }
3639
+ function leftPeakHeightPos(mmrSize) {
3640
+ let height = 1;
3641
+ let prevPos = 0n;
3642
+ let pos = getPeakPosByHeight(height);
3643
+ while (pos < mmrSize) {
3644
+ height += 1;
3645
+ prevPos = pos;
3646
+ pos = getPeakPosByHeight(height);
3647
+ }
3648
+ return [height - 1, prevPos];
3649
+ }
3650
+ function getRightPeak(initialHeight, initialPos, mmrSize) {
3651
+ let height = initialHeight;
3652
+ let pos = initialPos;
3653
+ pos += siblingOffset(height);
3654
+ while (pos > mmrSize - 1n) {
3655
+ if (height === 0) {
3656
+ return null;
3657
+ }
3658
+ pos -= parentOffset(height - 1);
3659
+ height -= 1;
3660
+ }
3661
+ return [height, pos];
3662
+ }
3663
+ function getPeaks(mmrSize) {
3664
+ const positions = [];
3665
+ let [height, pos] = leftPeakHeightPos(mmrSize);
3666
+ positions.push(pos);
3667
+ while (height > 0) {
3668
+ const peak = getRightPeak(height, pos, mmrSize);
3669
+ if (!peak) break;
3670
+ [height, pos] = peak;
3671
+ positions.push(pos);
3672
+ }
3673
+ return positions;
3674
+ }
3675
+ function allOnes(num) {
3676
+ if (num === 0n) return false;
3677
+ return num.toString(2).split("").every((bit) => bit === "1");
3678
+ }
3679
+ function jumpLeft(pos) {
3680
+ const bitLength = pos.toString(2).length;
3681
+ const mostSignificantBits = 1n << BigInt(bitLength - 1);
3682
+ return pos - (mostSignificantBits - 1n);
3683
+ }
3684
+ function posHeightInTree(initialPos) {
3685
+ let pos = initialPos + 1n;
3686
+ while (!allOnes(pos)) {
3687
+ pos = jumpLeft(pos);
3688
+ }
3689
+ return pos.toString(2).length - 1;
3409
3690
  }
3410
3691
  function parentOffset(height) {
3411
3692
  return 2n << BigInt(height);
@@ -4188,51 +4469,24 @@ function mapTestnetToMainnet(identifier) {
4188
4469
  return identifier;
4189
4470
  }
4190
4471
  }
4191
- async function fetchTokenUsdPrice(identifier) {
4192
- try {
4193
- const coinGeckoPrice = await fetchFromCoinGecko(identifier);
4194
- return coinGeckoPrice;
4195
- } catch (error) {
4196
- try {
4197
- const defillamaPrice = await fetchFromDefillama(identifier);
4198
- return defillamaPrice;
4199
- } catch (fallbackError) {
4200
- console.log(
4201
- `Both APIs failed for ${identifier}. CoinGecko: ${error}, Defillama: ${fallbackError}. Returning 1`
4202
- );
4203
- return 1;
4204
- }
4205
- }
4206
- }
4207
- async function fetchFromCoinGecko(identifier) {
4472
+ async function fetchPrice(identifier, chainId = 1) {
4208
4473
  const mappedIdentifier = mapTestnetToMainnet(identifier);
4209
- const url = mappedIdentifier.startsWith("0x") ? `https://api.coingecko.com/api/v3/simple/token_price/ethereum?contract_addresses=${mappedIdentifier}&vs_currencies=usd` : `https://api.coingecko.com/api/v3/simple/price?ids=${mappedIdentifier}&vs_currencies=usd`;
4210
- const response = await fetch(url);
4474
+ const network = new ChainConfigService().getCoingeckoId(`EVM-${chainId}`) || "ethereum";
4475
+ const apiKey = typeof process !== "undefined" ? process?.env?.COINGECKO : void 0;
4476
+ const baseUrl = apiKey ? "https://pro-api.coingecko.com/api/v3" : "https://api.coingecko.com/api/v3";
4477
+ const url = mappedIdentifier.startsWith("0x") ? `${baseUrl}/simple/token_price/${network}?contract_addresses=${mappedIdentifier}&vs_currencies=usd` : `${baseUrl}/simple/price?ids=${mappedIdentifier}&vs_currencies=usd`;
4478
+ const headers = apiKey ? { "x-cg-pro-api-key": apiKey } : void 0;
4479
+ const response = await fetch(url, { headers });
4211
4480
  if (!response.ok) {
4212
4481
  throw new Error(`CoinGecko API error: ${response.status} ${response.statusText}`);
4213
4482
  }
4214
4483
  const data = await response.json();
4215
4484
  const key = mappedIdentifier.toLowerCase();
4216
4485
  if (!data[key]?.usd) {
4217
- throw new Error(`Price not found for token: ${mappedIdentifier}`);
4486
+ throw new Error(`Price not found for token: ${mappedIdentifier} on ${network}`);
4218
4487
  }
4219
4488
  return data[key].usd;
4220
4489
  }
4221
- async function fetchFromDefillama(identifier) {
4222
- const mappedIdentifier = mapTestnetToMainnet(identifier);
4223
- const coinId = mappedIdentifier.startsWith("0x") ? `ethereum:${mappedIdentifier}` : `coingecko:${mappedIdentifier}`;
4224
- const url = `https://coins.llama.fi/prices/current/${coinId}`;
4225
- const response = await fetch(url);
4226
- if (!response.ok) {
4227
- throw new Error(`Defillama API error: ${response.status} ${response.statusText}`);
4228
- }
4229
- const data = await response.json();
4230
- const price = data.coins?.[coinId]?.price;
4231
- if (!price && price !== 0) {
4232
- throw new Error(`Price not found for token: ${mappedIdentifier}`);
4233
- }
4234
- return price;
4235
- }
4236
4490
  var ERC20Method = /* @__PURE__ */ ((ERC20Method2) => {
4237
4491
  ERC20Method2["BALANCE_OF"] = "0x70a08231";
4238
4492
  ERC20Method2["ALLOWANCE"] = "0xdd62ed3e";
@@ -4299,276 +4553,6 @@ var ExpectedError = class _ExpectedError extends Error {
4299
4553
  return error instanceof _ExpectedError;
4300
4554
  }
4301
4555
  };
4302
- var Chains = /* @__PURE__ */ ((Chains2) => {
4303
- Chains2["BSC_CHAPEL"] = "EVM-97";
4304
- Chains2["GNOSIS_CHIADO"] = "EVM-10200";
4305
- Chains2["HYPERBRIDGE_GARGANTUA"] = "KUSAMA-4009";
4306
- Chains2["SEPOLIA"] = "EVM-11155111";
4307
- Chains2["MAINNET"] = "EVM-1";
4308
- Chains2["BSC_MAINNET"] = "EVM-56";
4309
- Chains2["ARBITRUM_MAINNET"] = "EVM-42161";
4310
- Chains2["BASE_MAINNET"] = "EVM-8453";
4311
- return Chains2;
4312
- })(Chains || {});
4313
- var chainIds = {
4314
- ["EVM-97" /* BSC_CHAPEL */]: 97,
4315
- ["EVM-10200" /* GNOSIS_CHIADO */]: 10200,
4316
- ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: 4009,
4317
- ["EVM-11155111" /* SEPOLIA */]: 11155111,
4318
- ["EVM-1" /* MAINNET */]: 1,
4319
- ["EVM-56" /* BSC_MAINNET */]: 56,
4320
- ["EVM-42161" /* ARBITRUM_MAINNET */]: 42161,
4321
- ["EVM-8453" /* BASE_MAINNET */]: 8453
4322
- };
4323
- var viemChains = {
4324
- "97": bscTestnet,
4325
- "10200": gnosisChiado,
4326
- "11155111": sepolia,
4327
- "1": mainnet,
4328
- "56": bsc,
4329
- "42161": arbitrum,
4330
- "8453": base
4331
- };
4332
- var WrappedNativeDecimals = {
4333
- ["EVM-97" /* BSC_CHAPEL */]: 18,
4334
- ["EVM-10200" /* GNOSIS_CHIADO */]: 18,
4335
- ["EVM-11155111" /* SEPOLIA */]: 18,
4336
- ["EVM-1" /* MAINNET */]: 18,
4337
- ["EVM-56" /* BSC_MAINNET */]: 18,
4338
- ["EVM-42161" /* ARBITRUM_MAINNET */]: 18,
4339
- ["EVM-8453" /* BASE_MAINNET */]: 18
4340
- };
4341
- var assets = {
4342
- ["EVM-97" /* BSC_CHAPEL */]: {
4343
- WETH: "0xae13d989dac2f0debff460ac112a837c89baa7cd".toLowerCase(),
4344
- DAI: "0x1938165569A5463327fb206bE06d8D9253aa06b7".toLowerCase(),
4345
- USDC: "0xC625ec7D30A4b1AAEfb1304610CdAcD0d606aC92".toLowerCase(),
4346
- USDT: "0xc043f483373072f7f27420d6e7d7ad269c018e18".toLowerCase()
4347
- },
4348
- ["EVM-10200" /* GNOSIS_CHIADO */]: {
4349
- WETH: "0x0000000000000000000000000000000000000000".toLowerCase(),
4350
- DAI: "0x50B1d3c7c073c9caa1Ef207365A2c9C976bD70b9".toLowerCase(),
4351
- USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
4352
- USDT: "0x0000000000000000000000000000000000000000".toLowerCase()
4353
- },
4354
- ["EVM-11155111" /* SEPOLIA */]: {
4355
- WETH: "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9".toLowerCase(),
4356
- USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
4357
- USDT: "0x0000000000000000000000000000000000000000".toLowerCase(),
4358
- DAI: "0x0000000000000000000000000000000000000000".toLowerCase()
4359
- },
4360
- ["EVM-1" /* MAINNET */]: {
4361
- WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2".toLowerCase(),
4362
- DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F".toLowerCase(),
4363
- USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48".toLowerCase(),
4364
- USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7".toLowerCase()
4365
- },
4366
- ["EVM-56" /* BSC_MAINNET */]: {
4367
- WETH: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c".toLowerCase(),
4368
- DAI: "0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3".toLowerCase(),
4369
- USDC: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d".toLowerCase(),
4370
- USDT: "0x55d398326f99059fF775485246999027B3197955".toLowerCase()
4371
- },
4372
- ["EVM-42161" /* ARBITRUM_MAINNET */]: {
4373
- WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1".toLowerCase(),
4374
- DAI: "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1".toLowerCase(),
4375
- USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831".toLowerCase(),
4376
- USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9".toLowerCase()
4377
- },
4378
- ["EVM-8453" /* BASE_MAINNET */]: {
4379
- WETH: "0x4200000000000000000000000000000000000006".toLowerCase(),
4380
- DAI: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb".toLowerCase(),
4381
- USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913".toLowerCase(),
4382
- USDT: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2".toLowerCase()
4383
- }
4384
- };
4385
- var addresses = {
4386
- IntentGateway: {
4387
- ["EVM-97" /* BSC_CHAPEL */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
4388
- ["EVM-10200" /* GNOSIS_CHIADO */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
4389
- ["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
4390
- ["EVM-1" /* MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
4391
- ["EVM-56" /* BSC_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
4392
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
4393
- ["EVM-8453" /* BASE_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA"
4394
- },
4395
- Host: {
4396
- ["EVM-97" /* BSC_CHAPEL */]: "0x8Aa0Dea6D675d785A882967Bf38183f6117C09b7",
4397
- ["EVM-10200" /* GNOSIS_CHIADO */]: "0x58a41b89f4871725e5d898d98ef4bf917601c5eb",
4398
- ["EVM-11155111" /* SEPOLIA */]: "0x2EdB74C269948b60ec1000040E104cef0eABaae8",
4399
- ["EVM-1" /* MAINNET */]: "0x792A6236AF69787C40cF76b69B4c8c7B28c4cA20",
4400
- ["EVM-56" /* BSC_MAINNET */]: "0x24B5d421Ec373FcA57325dd2F0C074009Af021F7",
4401
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0xE05AFD4Eb2ce6d65c40e1048381BD0Ef8b4B299e",
4402
- ["EVM-8453" /* BASE_MAINNET */]: "0x6FFe92e4d7a9D589549644544780e6725E84b248"
4403
- },
4404
- UniswapRouter02: {
4405
- ["EVM-97" /* BSC_CHAPEL */]: "0x9639379819420704457B07A0C33B678D9E0F8Df0",
4406
- ["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
4407
- ["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
4408
- ["EVM-1" /* MAINNET */]: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
4409
- ["EVM-56" /* BSC_MAINNET */]: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24",
4410
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4411
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4412
- },
4413
- UniswapV2Factory: {
4414
- ["EVM-97" /* BSC_CHAPEL */]: "0x12e036669DA18F4A2777853d6e2136b32AceEC86",
4415
- ["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
4416
- ["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
4417
- ["EVM-1" /* MAINNET */]: "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
4418
- ["EVM-56" /* BSC_MAINNET */]: "0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",
4419
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4420
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4421
- },
4422
- BatchExecutor: {
4423
- ["EVM-97" /* BSC_CHAPEL */]: "0x4CC58B5D8FBf838d062E4b21F75C327835B5F0ef",
4424
- ["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
4425
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4426
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4427
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4428
- },
4429
- UniversalRouter: {
4430
- ["EVM-97" /* BSC_CHAPEL */]: "0xcc6d5ece3d4a57245bf5a2f64f3ed9179b81f714",
4431
- ["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
4432
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4433
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4434
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4435
- },
4436
- UniswapV3Router: {
4437
- ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
4438
- ["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
4439
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4440
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4441
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4442
- },
4443
- UniswapV3Factory: {
4444
- ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
4445
- ["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
4446
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4447
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4448
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4449
- },
4450
- UniswapV3Quoter: {
4451
- ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
4452
- ["EVM-1" /* MAINNET */]: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
4453
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4454
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4455
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4456
- },
4457
- UniswapV4PoolManager: {
4458
- ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
4459
- ["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
4460
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4461
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4462
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4463
- },
4464
- UniswapV4Quoter: {
4465
- ["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
4466
- ["EVM-1" /* MAINNET */]: "0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203",
4467
- ["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
4468
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
4469
- ["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
4470
- },
4471
- Calldispatcher: {
4472
- ["EVM-11155111" /* SEPOLIA */]: "0xC7f13b6D03A0A7F3239d38897503E90553ABe155"
4473
- }
4474
- };
4475
- var createRpcUrls = (env2) => ({
4476
- ["EVM-97" /* BSC_CHAPEL */]: env2.BSC_CHAPEL || "https://bnb-testnet.api.onfinality.io/public",
4477
- ["EVM-10200" /* GNOSIS_CHIADO */]: env2.GNOSIS_CHIADO || "https://gnosis-chiado-rpc.publicnode.com",
4478
- ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: env2.HYPERBRIDGE_GARGANTUA || "",
4479
- ["EVM-11155111" /* SEPOLIA */]: env2.SEPOLIA || "https://1rpc.io/sepolia",
4480
- ["EVM-1" /* MAINNET */]: env2.ETH_MAINNET || "https://eth-mainnet.g.alchemy.com/v2/demo",
4481
- ["EVM-56" /* BSC_MAINNET */]: env2.BSC_MAINNET || "https://binance.llamarpc.com",
4482
- ["EVM-42161" /* ARBITRUM_MAINNET */]: env2.ARBITRUM_MAINNET || "https://arbitrum-one.public.blastapi.io",
4483
- ["EVM-8453" /* BASE_MAINNET */]: env2.BASE_MAINNET || "https://base-mainnet.public.blastapi.io"
4484
- });
4485
- var consensusStateIds = {
4486
- ["EVM-97" /* BSC_CHAPEL */]: "BSC0",
4487
- ["EVM-10200" /* GNOSIS_CHIADO */]: "GNO0",
4488
- ["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: "PAS0",
4489
- ["EVM-11155111" /* SEPOLIA */]: "ETH0",
4490
- ["EVM-1" /* MAINNET */]: "ETH0",
4491
- ["EVM-56" /* BSC_MAINNET */]: "BSC0",
4492
- ["EVM-42161" /* ARBITRUM_MAINNET */]: "ETH0",
4493
- ["EVM-8453" /* BASE_MAINNET */]: "ETH0"
4494
- };
4495
-
4496
- // src/configs/ChainConfigService.ts
4497
- var ChainConfigService = class {
4498
- rpcUrls;
4499
- constructor(env2 = process.env) {
4500
- this.rpcUrls = createRpcUrls(env2);
4501
- }
4502
- getChainConfig(chain) {
4503
- return {
4504
- chainId: chainIds[chain],
4505
- rpcUrl: this.rpcUrls[chain],
4506
- intentGatewayAddress: addresses.IntentGateway[chain]
4507
- };
4508
- }
4509
- getIntentGatewayAddress(chain) {
4510
- return addresses.IntentGateway[chain];
4511
- }
4512
- getHostAddress(chain) {
4513
- return addresses.Host[chain];
4514
- }
4515
- getWrappedNativeAssetWithDecimals(chain) {
4516
- return {
4517
- asset: assets[chain].WETH,
4518
- decimals: WrappedNativeDecimals[chain]
4519
- };
4520
- }
4521
- getDaiAsset(chain) {
4522
- return assets[chain].DAI;
4523
- }
4524
- getUsdtAsset(chain) {
4525
- return assets[chain].USDT;
4526
- }
4527
- getUsdcAsset(chain) {
4528
- return assets[chain].USDC;
4529
- }
4530
- getChainId(chain) {
4531
- return chainIds[chain];
4532
- }
4533
- getConsensusStateId(chain) {
4534
- return toHex(consensusStateIds[chain]);
4535
- }
4536
- getHyperbridgeChainId() {
4537
- return chainIds["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */];
4538
- }
4539
- getRpcUrl(chain) {
4540
- return this.rpcUrls[chain];
4541
- }
4542
- getUniswapRouterV2Address(chain) {
4543
- return addresses.UniswapRouter02[chain];
4544
- }
4545
- getUniswapV2FactoryAddress(chain) {
4546
- return addresses.UniswapV2Factory[chain];
4547
- }
4548
- getBatchExecutorAddress(chain) {
4549
- return addresses.BatchExecutor[chain];
4550
- }
4551
- getUniversalRouterAddress(chain) {
4552
- return addresses.UniversalRouter[chain];
4553
- }
4554
- getUniswapV3RouterAddress(chain) {
4555
- return addresses.UniswapV3Router[chain];
4556
- }
4557
- getUniswapV3FactoryAddress(chain) {
4558
- return addresses.UniswapV3Factory[chain];
4559
- }
4560
- getUniswapV3QuoterAddress(chain) {
4561
- return addresses.UniswapV3Quoter[chain];
4562
- }
4563
- getUniswapV4PoolManagerAddress(chain) {
4564
- return addresses.UniswapV4PoolManager[chain];
4565
- }
4566
- getUniswapV4QuoterAddress(chain) {
4567
- return addresses.UniswapV4Quoter[chain];
4568
- }
4569
- };
4570
-
4571
- // src/chains/evm.ts
4572
4556
  var chains = {
4573
4557
  [mainnet.id]: mainnet,
4574
4558
  [arbitrum.id]: arbitrum,
@@ -11613,11 +11597,12 @@ var IntentGateway = class {
11613
11597
  */
11614
11598
  async convertFeeTokenToNative(feeTokenAmount, publicClient, feeTokenDecimals) {
11615
11599
  const nativeToken = publicClient.chain?.nativeCurrency;
11600
+ const chainId = publicClient.chain?.id;
11616
11601
  if (!nativeToken?.symbol || !nativeToken?.decimals) {
11617
11602
  throw new Error("Chain native currency information not available");
11618
11603
  }
11619
11604
  const feeTokenAmountNumber = Number(feeTokenAmount) / Math.pow(10, feeTokenDecimals);
11620
- const nativeTokenPriceUsd = await fetchTokenUsdPrice(nativeToken.symbol);
11605
+ const nativeTokenPriceUsd = await fetchPrice(nativeToken.symbol, chainId);
11621
11606
  const totalCostInNativeToken = feeTokenAmountNumber / nativeTokenPriceUsd;
11622
11607
  return BigInt(Math.floor(totalCostInNativeToken * Math.pow(10, nativeToken.decimals)));
11623
11608
  }
@@ -11635,13 +11620,14 @@ var IntentGateway = class {
11635
11620
  const gasPrice = await publicClient.getGasPrice();
11636
11621
  const gasCostInWei = gasEstimate * gasPrice;
11637
11622
  const nativeToken = publicClient.chain?.nativeCurrency;
11623
+ const chainId = publicClient.chain?.id;
11638
11624
  if (!nativeToken?.symbol || !nativeToken?.decimals) {
11639
11625
  throw new Error("Chain native currency information not available");
11640
11626
  }
11641
11627
  const gasCostInToken = Number(gasCostInWei) / Math.pow(10, nativeToken.decimals);
11642
- const tokenPriceUsd = await fetchTokenUsdPrice(nativeToken.symbol);
11628
+ const tokenPriceUsd = await fetchPrice(nativeToken.symbol, chainId);
11643
11629
  const gasCostUsd = gasCostInToken * tokenPriceUsd;
11644
- const feeTokenPriceUsd = await fetchTokenUsdPrice("DAI");
11630
+ const feeTokenPriceUsd = await fetchPrice("DAI");
11645
11631
  const gasCostInFeeToken = gasCostUsd / feeTokenPriceUsd;
11646
11632
  return BigInt(Math.floor(gasCostInFeeToken * Math.pow(10, targetDecimals)));
11647
11633
  }
@@ -12354,6 +12340,6 @@ async function teleportDot(param_) {
12354
12340
  return stream;
12355
12341
  }
12356
12342
 
12357
- export { ADDRESS_ZERO, ChainConfigService, Chains, DEFAULT_ADDRESS, DEFAULT_GRAFFITI, DUMMY_PRIVATE_KEY, ERC20Method, EvmChain, HyperClientStatus, IndexerClient, IntentGateway, OrderStatus, REQUEST_COMMITMENTS_SLOT, REQUEST_RECEIPTS_SLOT, RESPONSE_COMMITMENTS_SLOT, RESPONSE_RECEIPTS_SLOT, RequestKind, RequestStatus, STATE_COMMITMENTS_SLOT, SubstrateChain, TeleportStatus, TimeoutStatus, WrappedNativeDecimals, __test, addresses, adjustFeeDecimals, assets, bytes20ToBytes32, bytes32ToBytes20, chainIds, consensusStateIds, constructRedeemEscrowRequestBody, convertStateMachineIdToEnum, createQueryClient, createRpcUrls, encodeISMPMessage, estimateGasForPost, fetchTokenUsdPrice, generateRootWithProof, getChain, getRequestCommitment, getStateCommitmentFieldSlot, getStateCommitmentSlot, getStorageSlot, hexToString, orderCommitment, postRequestCommitment, queryGetRequest, queryPostRequest, teleport, teleportDot, viemChains };
12343
+ export { ADDRESS_ZERO, ChainConfigService, Chains, DEFAULT_ADDRESS, DEFAULT_GRAFFITI, DUMMY_PRIVATE_KEY, ERC20Method, EvmChain, HyperClientStatus, IndexerClient, IntentGateway, OrderStatus, REQUEST_COMMITMENTS_SLOT, REQUEST_RECEIPTS_SLOT, RESPONSE_COMMITMENTS_SLOT, RESPONSE_RECEIPTS_SLOT, RequestKind, RequestStatus, STATE_COMMITMENTS_SLOT, SubstrateChain, TeleportStatus, TimeoutStatus, WrappedNativeDecimals, __test, addresses, adjustFeeDecimals, assets, bytes20ToBytes32, bytes32ToBytes20, chainIds, coingeckoIds, consensusStateIds, constructRedeemEscrowRequestBody, convertStateMachineIdToEnum, createQueryClient, createRpcUrls, encodeISMPMessage, estimateGasForPost, fetchPrice, generateRootWithProof, getChain, getRequestCommitment, getStateCommitmentFieldSlot, getStateCommitmentSlot, getStorageSlot, hexToString, orderCommitment, postRequestCommitment, queryGetRequest, queryPostRequest, teleport, teleportDot, viemChains };
12358
12344
  //# sourceMappingURL=index.js.map
12359
12345
  //# sourceMappingURL=index.js.map