@hyperbridge/sdk 1.3.2 → 1.3.4
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/browser/index.d.ts +14 -9
- package/dist/browser/index.js +351 -365
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.d.ts +14 -9
- package/dist/node/index.js +351 -365
- package/dist/node/index.js.map +1 -1
- package/package.json +39 -7
package/dist/browser/index.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
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
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
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
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
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
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
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
|
-
|
|
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
|
|
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, apiKey) {
|
|
4208
4473
|
const mappedIdentifier = mapTestnetToMainnet(identifier);
|
|
4209
|
-
const
|
|
4210
|
-
|
|
4474
|
+
const network = new ChainConfigService().getCoingeckoId(`EVM-${chainId}`) || "ethereum";
|
|
4475
|
+
apiKey = 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,
|
|
@@ -11475,8 +11459,7 @@ var IntentGateway = class {
|
|
|
11475
11459
|
this.source.client,
|
|
11476
11460
|
sourceChainFeeTokenDecimals
|
|
11477
11461
|
);
|
|
11478
|
-
const
|
|
11479
|
-
const relayerFeeInSourceFeeToken = postGasEstimateInSourceFeeToken + postGasEstimateInSourceFeeToken * RELAYER_FEE_BPS / 10000n;
|
|
11462
|
+
const relayerFeeInSourceFeeToken = postGasEstimateInSourceFeeToken + 25n * 10n ** BigInt(sourceChainFeeTokenDecimals - 2);
|
|
11480
11463
|
const relayerFeeInDestFeeToken = adjustFeeDecimals(
|
|
11481
11464
|
relayerFeeInSourceFeeToken,
|
|
11482
11465
|
sourceChainFeeTokenDecimals,
|
|
@@ -11531,7 +11514,8 @@ var IntentGateway = class {
|
|
|
11531
11514
|
];
|
|
11532
11515
|
let destChainFillGas = 0n;
|
|
11533
11516
|
try {
|
|
11534
|
-
|
|
11517
|
+
let protocolFeeInNativeToken = await this.quoteNative(postRequest, relayerFeeInDestFeeToken);
|
|
11518
|
+
protocolFeeInNativeToken = protocolFeeInNativeToken + protocolFeeInNativeToken * 50n / 10000n;
|
|
11535
11519
|
destChainFillGas = await this.dest.client.estimateContractGas({
|
|
11536
11520
|
abi: IntentGateway_default.ABI,
|
|
11537
11521
|
address: intentGatewayAddress,
|
|
@@ -11587,7 +11571,7 @@ var IntentGateway = class {
|
|
|
11587
11571
|
sourceChainFeeTokenDecimals
|
|
11588
11572
|
);
|
|
11589
11573
|
const totalEstimate = fillGasInSourceFeeToken + protocolFeeInSourceFeeToken + relayerFeeInSourceFeeToken;
|
|
11590
|
-
const SWAP_OPERATIONS_BPS =
|
|
11574
|
+
const SWAP_OPERATIONS_BPS = 3500n;
|
|
11591
11575
|
const swapOperationsInFeeToken = totalEstimate * SWAP_OPERATIONS_BPS / 10000n;
|
|
11592
11576
|
const totalFeeTokenAmount = totalEstimate + swapOperationsInFeeToken;
|
|
11593
11577
|
const totalNativeTokenAmount = await this.convertFeeTokenToNative(
|
|
@@ -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
|
|
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
|
|
11628
|
+
const tokenPriceUsd = await fetchPrice(nativeToken.symbol, chainId);
|
|
11643
11629
|
const gasCostUsd = gasCostInToken * tokenPriceUsd;
|
|
11644
|
-
const feeTokenPriceUsd = await
|
|
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,
|
|
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
|