@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/node/index.js
CHANGED
|
@@ -3,11 +3,11 @@ import { join } from 'path';
|
|
|
3
3
|
import { TextDecoder as TextDecoder$1, TextEncoder as TextEncoder$1 } from 'util';
|
|
4
4
|
import { createConsola, LogLevels } from 'consola';
|
|
5
5
|
import { flatten, zip, capitalize, maxBy, isNil } from 'lodash-es';
|
|
6
|
-
import { hexToBytes, encodePacked,
|
|
6
|
+
import { toHex, hexToBytes, encodePacked, keccak256, encodeAbiParameters, bytesToHex, concatHex, createPublicClient, http, encodeFunctionData, erc20Abi, bytesToBigInt, pad, toBytes, maxUint256, parseUnits } from 'viem';
|
|
7
7
|
import mergeRace from '@async-generator/merge-race';
|
|
8
|
+
import { gnosisChiado, gnosis, bscTestnet, bsc, soneium, baseSepolia, base, optimismSepolia, optimism, arbitrumSepolia, arbitrum, mainnet, sepolia } from 'viem/chains';
|
|
8
9
|
import { hasWindow, isNode, env } from 'std-env';
|
|
9
10
|
import { Vector, u8, Struct, Tuple, Enum, _void, u64, u32, Option, bool, u128 } from 'scale-ts';
|
|
10
|
-
import { gnosisChiado, gnosis, bscTestnet, bsc, soneium, baseSepolia, base, optimismSepolia, optimism, arbitrumSepolia, arbitrum, mainnet, sepolia } from 'viem/chains';
|
|
11
11
|
import { match } from 'ts-pattern';
|
|
12
12
|
import { WsProvider, ApiPromise } from '@polkadot/api';
|
|
13
13
|
import { RpcWebSocketClient } from 'rpc-websocket-client';
|
|
@@ -3303,60 +3303,341 @@ var ABI2 = [
|
|
|
3303
3303
|
}
|
|
3304
3304
|
];
|
|
3305
3305
|
var handler_default = { ABI: ABI2 };
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3306
|
+
var Chains = /* @__PURE__ */ ((Chains2) => {
|
|
3307
|
+
Chains2["BSC_CHAPEL"] = "EVM-97";
|
|
3308
|
+
Chains2["GNOSIS_CHIADO"] = "EVM-10200";
|
|
3309
|
+
Chains2["HYPERBRIDGE_GARGANTUA"] = "KUSAMA-4009";
|
|
3310
|
+
Chains2["SEPOLIA"] = "EVM-11155111";
|
|
3311
|
+
Chains2["MAINNET"] = "EVM-1";
|
|
3312
|
+
Chains2["BSC_MAINNET"] = "EVM-56";
|
|
3313
|
+
Chains2["ARBITRUM_MAINNET"] = "EVM-42161";
|
|
3314
|
+
Chains2["BASE_MAINNET"] = "EVM-8453";
|
|
3315
|
+
return Chains2;
|
|
3316
|
+
})(Chains || {});
|
|
3317
|
+
var chainIds = {
|
|
3318
|
+
["EVM-97" /* BSC_CHAPEL */]: 97,
|
|
3319
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: 10200,
|
|
3320
|
+
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: 4009,
|
|
3321
|
+
["EVM-11155111" /* SEPOLIA */]: 11155111,
|
|
3322
|
+
["EVM-1" /* MAINNET */]: 1,
|
|
3323
|
+
["EVM-56" /* BSC_MAINNET */]: 56,
|
|
3324
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: 42161,
|
|
3325
|
+
["EVM-8453" /* BASE_MAINNET */]: 8453
|
|
3326
|
+
};
|
|
3327
|
+
var viemChains = {
|
|
3328
|
+
"97": bscTestnet,
|
|
3329
|
+
"10200": gnosisChiado,
|
|
3330
|
+
"11155111": sepolia,
|
|
3331
|
+
"1": mainnet,
|
|
3332
|
+
"56": bsc,
|
|
3333
|
+
"42161": arbitrum,
|
|
3334
|
+
"8453": base
|
|
3335
|
+
};
|
|
3336
|
+
var WrappedNativeDecimals = {
|
|
3337
|
+
["EVM-97" /* BSC_CHAPEL */]: 18,
|
|
3338
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: 18,
|
|
3339
|
+
["EVM-11155111" /* SEPOLIA */]: 18,
|
|
3340
|
+
["EVM-1" /* MAINNET */]: 18,
|
|
3341
|
+
["EVM-56" /* BSC_MAINNET */]: 18,
|
|
3342
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: 18,
|
|
3343
|
+
["EVM-8453" /* BASE_MAINNET */]: 18
|
|
3344
|
+
};
|
|
3345
|
+
var assets = {
|
|
3346
|
+
["EVM-97" /* BSC_CHAPEL */]: {
|
|
3347
|
+
WETH: "0xae13d989dac2f0debff460ac112a837c89baa7cd".toLowerCase(),
|
|
3348
|
+
DAI: "0x1938165569A5463327fb206bE06d8D9253aa06b7".toLowerCase(),
|
|
3349
|
+
USDC: "0xC625ec7D30A4b1AAEfb1304610CdAcD0d606aC92".toLowerCase(),
|
|
3350
|
+
USDT: "0xc043f483373072f7f27420d6e7d7ad269c018e18".toLowerCase()
|
|
3351
|
+
},
|
|
3352
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: {
|
|
3353
|
+
WETH: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
3354
|
+
DAI: "0x50B1d3c7c073c9caa1Ef207365A2c9C976bD70b9".toLowerCase(),
|
|
3355
|
+
USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
3356
|
+
USDT: "0x0000000000000000000000000000000000000000".toLowerCase()
|
|
3357
|
+
},
|
|
3358
|
+
["EVM-11155111" /* SEPOLIA */]: {
|
|
3359
|
+
WETH: "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9".toLowerCase(),
|
|
3360
|
+
USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
3361
|
+
USDT: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
3362
|
+
DAI: "0x0000000000000000000000000000000000000000".toLowerCase()
|
|
3363
|
+
},
|
|
3364
|
+
["EVM-1" /* MAINNET */]: {
|
|
3365
|
+
WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2".toLowerCase(),
|
|
3366
|
+
DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F".toLowerCase(),
|
|
3367
|
+
USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48".toLowerCase(),
|
|
3368
|
+
USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7".toLowerCase()
|
|
3369
|
+
},
|
|
3370
|
+
["EVM-56" /* BSC_MAINNET */]: {
|
|
3371
|
+
WETH: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c".toLowerCase(),
|
|
3372
|
+
DAI: "0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3".toLowerCase(),
|
|
3373
|
+
USDC: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d".toLowerCase(),
|
|
3374
|
+
USDT: "0x55d398326f99059fF775485246999027B3197955".toLowerCase()
|
|
3375
|
+
},
|
|
3376
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: {
|
|
3377
|
+
WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1".toLowerCase(),
|
|
3378
|
+
DAI: "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1".toLowerCase(),
|
|
3379
|
+
USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831".toLowerCase(),
|
|
3380
|
+
USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9".toLowerCase()
|
|
3381
|
+
},
|
|
3382
|
+
["EVM-8453" /* BASE_MAINNET */]: {
|
|
3383
|
+
WETH: "0x4200000000000000000000000000000000000006".toLowerCase(),
|
|
3384
|
+
DAI: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb".toLowerCase(),
|
|
3385
|
+
USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913".toLowerCase(),
|
|
3386
|
+
USDT: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2".toLowerCase()
|
|
3317
3387
|
}
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3388
|
+
};
|
|
3389
|
+
var addresses = {
|
|
3390
|
+
IntentGateway: {
|
|
3391
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
|
|
3392
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
|
|
3393
|
+
["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
|
|
3394
|
+
["EVM-1" /* MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
|
|
3395
|
+
["EVM-56" /* BSC_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
|
|
3396
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
|
|
3397
|
+
["EVM-8453" /* BASE_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA"
|
|
3398
|
+
},
|
|
3399
|
+
Host: {
|
|
3400
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x8Aa0Dea6D675d785A882967Bf38183f6117C09b7",
|
|
3401
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: "0x58a41b89f4871725e5d898d98ef4bf917601c5eb",
|
|
3402
|
+
["EVM-11155111" /* SEPOLIA */]: "0x2EdB74C269948b60ec1000040E104cef0eABaae8",
|
|
3403
|
+
["EVM-1" /* MAINNET */]: "0x792A6236AF69787C40cF76b69B4c8c7B28c4cA20",
|
|
3404
|
+
["EVM-56" /* BSC_MAINNET */]: "0x24B5d421Ec373FcA57325dd2F0C074009Af021F7",
|
|
3405
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0xE05AFD4Eb2ce6d65c40e1048381BD0Ef8b4B299e",
|
|
3406
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x6FFe92e4d7a9D589549644544780e6725E84b248"
|
|
3407
|
+
},
|
|
3408
|
+
UniswapRouter02: {
|
|
3409
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x9639379819420704457B07A0C33B678D9E0F8Df0",
|
|
3410
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
|
|
3411
|
+
["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
|
|
3412
|
+
["EVM-1" /* MAINNET */]: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
|
|
3413
|
+
["EVM-56" /* BSC_MAINNET */]: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24",
|
|
3414
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3415
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3416
|
+
},
|
|
3417
|
+
UniswapV2Factory: {
|
|
3418
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x12e036669DA18F4A2777853d6e2136b32AceEC86",
|
|
3419
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
|
|
3420
|
+
["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
|
|
3421
|
+
["EVM-1" /* MAINNET */]: "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
|
|
3422
|
+
["EVM-56" /* BSC_MAINNET */]: "0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",
|
|
3423
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3424
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3425
|
+
},
|
|
3426
|
+
BatchExecutor: {
|
|
3427
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x4CC58B5D8FBf838d062E4b21F75C327835B5F0ef",
|
|
3428
|
+
["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3429
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3430
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3431
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3432
|
+
},
|
|
3433
|
+
UniversalRouter: {
|
|
3434
|
+
["EVM-97" /* BSC_CHAPEL */]: "0xcc6d5ece3d4a57245bf5a2f64f3ed9179b81f714",
|
|
3435
|
+
["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3436
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3437
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3438
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3439
|
+
},
|
|
3440
|
+
UniswapV3Router: {
|
|
3441
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
3442
|
+
["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
|
|
3443
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3444
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3445
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3446
|
+
},
|
|
3447
|
+
UniswapV3Factory: {
|
|
3448
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
3449
|
+
["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
|
|
3450
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3451
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3452
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3453
|
+
},
|
|
3454
|
+
UniswapV3Quoter: {
|
|
3455
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
3456
|
+
["EVM-1" /* MAINNET */]: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
|
|
3457
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3458
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3459
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3460
|
+
},
|
|
3461
|
+
UniswapV4PoolManager: {
|
|
3462
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
3463
|
+
["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3464
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3465
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3466
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3467
|
+
},
|
|
3468
|
+
UniswapV4Quoter: {
|
|
3469
|
+
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
3470
|
+
["EVM-1" /* MAINNET */]: "0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203",
|
|
3471
|
+
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3472
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
3473
|
+
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
3474
|
+
},
|
|
3475
|
+
Calldispatcher: {
|
|
3476
|
+
["EVM-11155111" /* SEPOLIA */]: "0xC7f13b6D03A0A7F3239d38897503E90553ABe155"
|
|
3330
3477
|
}
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3478
|
+
};
|
|
3479
|
+
var createRpcUrls = (env2) => ({
|
|
3480
|
+
["EVM-97" /* BSC_CHAPEL */]: env2.BSC_CHAPEL || "https://bnb-testnet.api.onfinality.io/public",
|
|
3481
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: env2.GNOSIS_CHIADO || "https://gnosis-chiado-rpc.publicnode.com",
|
|
3482
|
+
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: env2.HYPERBRIDGE_GARGANTUA || "",
|
|
3483
|
+
["EVM-11155111" /* SEPOLIA */]: env2.SEPOLIA || "https://1rpc.io/sepolia",
|
|
3484
|
+
["EVM-1" /* MAINNET */]: env2.ETH_MAINNET || "https://eth-mainnet.g.alchemy.com/v2/demo",
|
|
3485
|
+
["EVM-56" /* BSC_MAINNET */]: env2.BSC_MAINNET || "https://binance.llamarpc.com",
|
|
3486
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: env2.ARBITRUM_MAINNET || "https://arbitrum-one.public.blastapi.io",
|
|
3487
|
+
["EVM-8453" /* BASE_MAINNET */]: env2.BASE_MAINNET || "https://base-mainnet.public.blastapi.io"
|
|
3488
|
+
});
|
|
3489
|
+
var consensusStateIds = {
|
|
3490
|
+
["EVM-97" /* BSC_CHAPEL */]: "BSC0",
|
|
3491
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: "GNO0",
|
|
3492
|
+
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: "PAS0",
|
|
3493
|
+
["EVM-11155111" /* SEPOLIA */]: "ETH0",
|
|
3494
|
+
["EVM-1" /* MAINNET */]: "ETH0",
|
|
3495
|
+
["EVM-56" /* BSC_MAINNET */]: "BSC0",
|
|
3496
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "ETH0",
|
|
3497
|
+
["EVM-8453" /* BASE_MAINNET */]: "ETH0"
|
|
3498
|
+
};
|
|
3499
|
+
var coingeckoIds = {
|
|
3500
|
+
["EVM-97" /* BSC_CHAPEL */]: "binance-smart-chain",
|
|
3501
|
+
["EVM-10200" /* GNOSIS_CHIADO */]: "gnosis",
|
|
3502
|
+
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: "hyperbridge",
|
|
3503
|
+
["EVM-11155111" /* SEPOLIA */]: "ethereum",
|
|
3504
|
+
["EVM-1" /* MAINNET */]: "ethereum",
|
|
3505
|
+
["EVM-56" /* BSC_MAINNET */]: "binance-smart-chain",
|
|
3506
|
+
["EVM-42161" /* ARBITRUM_MAINNET */]: "arbitrum-one",
|
|
3507
|
+
["EVM-8453" /* BASE_MAINNET */]: "base"
|
|
3508
|
+
};
|
|
3509
|
+
|
|
3510
|
+
// src/configs/ChainConfigService.ts
|
|
3511
|
+
var ChainConfigService = class {
|
|
3512
|
+
rpcUrls;
|
|
3513
|
+
constructor(env2 = process.env) {
|
|
3514
|
+
this.rpcUrls = createRpcUrls(env2);
|
|
3342
3515
|
}
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
}
|
|
3349
|
-
function jumpLeft(pos) {
|
|
3350
|
-
const bitLength = pos.toString(2).length;
|
|
3351
|
-
const mostSignificantBits = 1n << BigInt(bitLength - 1);
|
|
3352
|
-
return pos - (mostSignificantBits - 1n);
|
|
3353
|
-
}
|
|
3354
|
-
function posHeightInTree(initialPos) {
|
|
3355
|
-
let pos = initialPos + 1n;
|
|
3356
|
-
while (!allOnes(pos)) {
|
|
3357
|
-
pos = jumpLeft(pos);
|
|
3516
|
+
getChainConfig(chain) {
|
|
3517
|
+
return {
|
|
3518
|
+
chainId: chainIds[chain],
|
|
3519
|
+
rpcUrl: this.rpcUrls[chain],
|
|
3520
|
+
intentGatewayAddress: addresses.IntentGateway[chain]
|
|
3521
|
+
};
|
|
3358
3522
|
}
|
|
3359
|
-
|
|
3523
|
+
getIntentGatewayAddress(chain) {
|
|
3524
|
+
return addresses.IntentGateway[chain];
|
|
3525
|
+
}
|
|
3526
|
+
getHostAddress(chain) {
|
|
3527
|
+
return addresses.Host[chain];
|
|
3528
|
+
}
|
|
3529
|
+
getWrappedNativeAssetWithDecimals(chain) {
|
|
3530
|
+
return {
|
|
3531
|
+
asset: assets[chain].WETH,
|
|
3532
|
+
decimals: WrappedNativeDecimals[chain]
|
|
3533
|
+
};
|
|
3534
|
+
}
|
|
3535
|
+
getDaiAsset(chain) {
|
|
3536
|
+
return assets[chain].DAI;
|
|
3537
|
+
}
|
|
3538
|
+
getUsdtAsset(chain) {
|
|
3539
|
+
return assets[chain].USDT;
|
|
3540
|
+
}
|
|
3541
|
+
getUsdcAsset(chain) {
|
|
3542
|
+
return assets[chain].USDC;
|
|
3543
|
+
}
|
|
3544
|
+
getChainId(chain) {
|
|
3545
|
+
return chainIds[chain];
|
|
3546
|
+
}
|
|
3547
|
+
getConsensusStateId(chain) {
|
|
3548
|
+
return toHex(consensusStateIds[chain]);
|
|
3549
|
+
}
|
|
3550
|
+
getHyperbridgeChainId() {
|
|
3551
|
+
return chainIds["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */];
|
|
3552
|
+
}
|
|
3553
|
+
getRpcUrl(chain) {
|
|
3554
|
+
return this.rpcUrls[chain];
|
|
3555
|
+
}
|
|
3556
|
+
getUniswapRouterV2Address(chain) {
|
|
3557
|
+
return addresses.UniswapRouter02[chain];
|
|
3558
|
+
}
|
|
3559
|
+
getUniswapV2FactoryAddress(chain) {
|
|
3560
|
+
return addresses.UniswapV2Factory[chain];
|
|
3561
|
+
}
|
|
3562
|
+
getBatchExecutorAddress(chain) {
|
|
3563
|
+
return addresses.BatchExecutor[chain];
|
|
3564
|
+
}
|
|
3565
|
+
getUniversalRouterAddress(chain) {
|
|
3566
|
+
return addresses.UniversalRouter[chain];
|
|
3567
|
+
}
|
|
3568
|
+
getUniswapV3RouterAddress(chain) {
|
|
3569
|
+
return addresses.UniswapV3Router[chain];
|
|
3570
|
+
}
|
|
3571
|
+
getUniswapV3FactoryAddress(chain) {
|
|
3572
|
+
return addresses.UniswapV3Factory[chain];
|
|
3573
|
+
}
|
|
3574
|
+
getUniswapV3QuoterAddress(chain) {
|
|
3575
|
+
return addresses.UniswapV3Quoter[chain];
|
|
3576
|
+
}
|
|
3577
|
+
getUniswapV4PoolManagerAddress(chain) {
|
|
3578
|
+
return addresses.UniswapV4PoolManager[chain];
|
|
3579
|
+
}
|
|
3580
|
+
getUniswapV4QuoterAddress(chain) {
|
|
3581
|
+
return addresses.UniswapV4Quoter[chain];
|
|
3582
|
+
}
|
|
3583
|
+
getCoingeckoId(chain) {
|
|
3584
|
+
return coingeckoIds[chain];
|
|
3585
|
+
}
|
|
3586
|
+
};
|
|
3587
|
+
function getPeakPosByHeight(height) {
|
|
3588
|
+
return (1n << BigInt(height + 1)) - 2n;
|
|
3589
|
+
}
|
|
3590
|
+
function leftPeakHeightPos(mmrSize) {
|
|
3591
|
+
let height = 1;
|
|
3592
|
+
let prevPos = 0n;
|
|
3593
|
+
let pos = getPeakPosByHeight(height);
|
|
3594
|
+
while (pos < mmrSize) {
|
|
3595
|
+
height += 1;
|
|
3596
|
+
prevPos = pos;
|
|
3597
|
+
pos = getPeakPosByHeight(height);
|
|
3598
|
+
}
|
|
3599
|
+
return [height - 1, prevPos];
|
|
3600
|
+
}
|
|
3601
|
+
function getRightPeak(initialHeight, initialPos, mmrSize) {
|
|
3602
|
+
let height = initialHeight;
|
|
3603
|
+
let pos = initialPos;
|
|
3604
|
+
pos += siblingOffset(height);
|
|
3605
|
+
while (pos > mmrSize - 1n) {
|
|
3606
|
+
if (height === 0) {
|
|
3607
|
+
return null;
|
|
3608
|
+
}
|
|
3609
|
+
pos -= parentOffset(height - 1);
|
|
3610
|
+
height -= 1;
|
|
3611
|
+
}
|
|
3612
|
+
return [height, pos];
|
|
3613
|
+
}
|
|
3614
|
+
function getPeaks(mmrSize) {
|
|
3615
|
+
const positions = [];
|
|
3616
|
+
let [height, pos] = leftPeakHeightPos(mmrSize);
|
|
3617
|
+
positions.push(pos);
|
|
3618
|
+
while (height > 0) {
|
|
3619
|
+
const peak = getRightPeak(height, pos, mmrSize);
|
|
3620
|
+
if (!peak) break;
|
|
3621
|
+
[height, pos] = peak;
|
|
3622
|
+
positions.push(pos);
|
|
3623
|
+
}
|
|
3624
|
+
return positions;
|
|
3625
|
+
}
|
|
3626
|
+
function allOnes(num) {
|
|
3627
|
+
if (num === 0n) return false;
|
|
3628
|
+
return num.toString(2).split("").every((bit) => bit === "1");
|
|
3629
|
+
}
|
|
3630
|
+
function jumpLeft(pos) {
|
|
3631
|
+
const bitLength = pos.toString(2).length;
|
|
3632
|
+
const mostSignificantBits = 1n << BigInt(bitLength - 1);
|
|
3633
|
+
return pos - (mostSignificantBits - 1n);
|
|
3634
|
+
}
|
|
3635
|
+
function posHeightInTree(initialPos) {
|
|
3636
|
+
let pos = initialPos + 1n;
|
|
3637
|
+
while (!allOnes(pos)) {
|
|
3638
|
+
pos = jumpLeft(pos);
|
|
3639
|
+
}
|
|
3640
|
+
return pos.toString(2).length - 1;
|
|
3360
3641
|
}
|
|
3361
3642
|
function parentOffset(height) {
|
|
3362
3643
|
return 2n << BigInt(height);
|
|
@@ -4139,51 +4420,24 @@ function mapTestnetToMainnet(identifier) {
|
|
|
4139
4420
|
return identifier;
|
|
4140
4421
|
}
|
|
4141
4422
|
}
|
|
4142
|
-
async function
|
|
4143
|
-
try {
|
|
4144
|
-
const coinGeckoPrice = await fetchFromCoinGecko(identifier);
|
|
4145
|
-
return coinGeckoPrice;
|
|
4146
|
-
} catch (error) {
|
|
4147
|
-
try {
|
|
4148
|
-
const defillamaPrice = await fetchFromDefillama(identifier);
|
|
4149
|
-
return defillamaPrice;
|
|
4150
|
-
} catch (fallbackError) {
|
|
4151
|
-
console.log(
|
|
4152
|
-
`Both APIs failed for ${identifier}. CoinGecko: ${error}, Defillama: ${fallbackError}. Returning 1`
|
|
4153
|
-
);
|
|
4154
|
-
return 1;
|
|
4155
|
-
}
|
|
4156
|
-
}
|
|
4157
|
-
}
|
|
4158
|
-
async function fetchFromCoinGecko(identifier) {
|
|
4423
|
+
async function fetchPrice(identifier, chainId = 1, apiKey) {
|
|
4159
4424
|
const mappedIdentifier = mapTestnetToMainnet(identifier);
|
|
4160
|
-
const
|
|
4161
|
-
|
|
4425
|
+
const network = new ChainConfigService().getCoingeckoId(`EVM-${chainId}`) || "ethereum";
|
|
4426
|
+
apiKey = apiKey || (typeof process !== "undefined" ? process?.env?.COINGECKO : void 0);
|
|
4427
|
+
const baseUrl = apiKey ? "https://pro-api.coingecko.com/api/v3" : "https://api.coingecko.com/api/v3";
|
|
4428
|
+
const url = mappedIdentifier.startsWith("0x") ? `${baseUrl}/simple/token_price/${network}?contract_addresses=${mappedIdentifier}&vs_currencies=usd` : `${baseUrl}/simple/price?ids=${mappedIdentifier}&vs_currencies=usd`;
|
|
4429
|
+
const headers = apiKey ? { "x-cg-pro-api-key": apiKey } : void 0;
|
|
4430
|
+
const response = await fetch(url, { headers });
|
|
4162
4431
|
if (!response.ok) {
|
|
4163
4432
|
throw new Error(`CoinGecko API error: ${response.status} ${response.statusText}`);
|
|
4164
4433
|
}
|
|
4165
4434
|
const data = await response.json();
|
|
4166
4435
|
const key = mappedIdentifier.toLowerCase();
|
|
4167
4436
|
if (!data[key]?.usd) {
|
|
4168
|
-
throw new Error(`Price not found for token: ${mappedIdentifier}`);
|
|
4437
|
+
throw new Error(`Price not found for token: ${mappedIdentifier} on ${network}`);
|
|
4169
4438
|
}
|
|
4170
4439
|
return data[key].usd;
|
|
4171
4440
|
}
|
|
4172
|
-
async function fetchFromDefillama(identifier) {
|
|
4173
|
-
const mappedIdentifier = mapTestnetToMainnet(identifier);
|
|
4174
|
-
const coinId = mappedIdentifier.startsWith("0x") ? `ethereum:${mappedIdentifier}` : `coingecko:${mappedIdentifier}`;
|
|
4175
|
-
const url = `https://coins.llama.fi/prices/current/${coinId}`;
|
|
4176
|
-
const response = await fetch(url);
|
|
4177
|
-
if (!response.ok) {
|
|
4178
|
-
throw new Error(`Defillama API error: ${response.status} ${response.statusText}`);
|
|
4179
|
-
}
|
|
4180
|
-
const data = await response.json();
|
|
4181
|
-
const price = data.coins?.[coinId]?.price;
|
|
4182
|
-
if (!price && price !== 0) {
|
|
4183
|
-
throw new Error(`Price not found for token: ${mappedIdentifier}`);
|
|
4184
|
-
}
|
|
4185
|
-
return price;
|
|
4186
|
-
}
|
|
4187
4441
|
var ERC20Method = /* @__PURE__ */ ((ERC20Method2) => {
|
|
4188
4442
|
ERC20Method2["BALANCE_OF"] = "0x70a08231";
|
|
4189
4443
|
ERC20Method2["ALLOWANCE"] = "0xdd62ed3e";
|
|
@@ -4250,276 +4504,6 @@ var ExpectedError = class _ExpectedError extends Error {
|
|
|
4250
4504
|
return error instanceof _ExpectedError;
|
|
4251
4505
|
}
|
|
4252
4506
|
};
|
|
4253
|
-
var Chains = /* @__PURE__ */ ((Chains2) => {
|
|
4254
|
-
Chains2["BSC_CHAPEL"] = "EVM-97";
|
|
4255
|
-
Chains2["GNOSIS_CHIADO"] = "EVM-10200";
|
|
4256
|
-
Chains2["HYPERBRIDGE_GARGANTUA"] = "KUSAMA-4009";
|
|
4257
|
-
Chains2["SEPOLIA"] = "EVM-11155111";
|
|
4258
|
-
Chains2["MAINNET"] = "EVM-1";
|
|
4259
|
-
Chains2["BSC_MAINNET"] = "EVM-56";
|
|
4260
|
-
Chains2["ARBITRUM_MAINNET"] = "EVM-42161";
|
|
4261
|
-
Chains2["BASE_MAINNET"] = "EVM-8453";
|
|
4262
|
-
return Chains2;
|
|
4263
|
-
})(Chains || {});
|
|
4264
|
-
var chainIds = {
|
|
4265
|
-
["EVM-97" /* BSC_CHAPEL */]: 97,
|
|
4266
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: 10200,
|
|
4267
|
-
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: 4009,
|
|
4268
|
-
["EVM-11155111" /* SEPOLIA */]: 11155111,
|
|
4269
|
-
["EVM-1" /* MAINNET */]: 1,
|
|
4270
|
-
["EVM-56" /* BSC_MAINNET */]: 56,
|
|
4271
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: 42161,
|
|
4272
|
-
["EVM-8453" /* BASE_MAINNET */]: 8453
|
|
4273
|
-
};
|
|
4274
|
-
var viemChains = {
|
|
4275
|
-
"97": bscTestnet,
|
|
4276
|
-
"10200": gnosisChiado,
|
|
4277
|
-
"11155111": sepolia,
|
|
4278
|
-
"1": mainnet,
|
|
4279
|
-
"56": bsc,
|
|
4280
|
-
"42161": arbitrum,
|
|
4281
|
-
"8453": base
|
|
4282
|
-
};
|
|
4283
|
-
var WrappedNativeDecimals = {
|
|
4284
|
-
["EVM-97" /* BSC_CHAPEL */]: 18,
|
|
4285
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: 18,
|
|
4286
|
-
["EVM-11155111" /* SEPOLIA */]: 18,
|
|
4287
|
-
["EVM-1" /* MAINNET */]: 18,
|
|
4288
|
-
["EVM-56" /* BSC_MAINNET */]: 18,
|
|
4289
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: 18,
|
|
4290
|
-
["EVM-8453" /* BASE_MAINNET */]: 18
|
|
4291
|
-
};
|
|
4292
|
-
var assets = {
|
|
4293
|
-
["EVM-97" /* BSC_CHAPEL */]: {
|
|
4294
|
-
WETH: "0xae13d989dac2f0debff460ac112a837c89baa7cd".toLowerCase(),
|
|
4295
|
-
DAI: "0x1938165569A5463327fb206bE06d8D9253aa06b7".toLowerCase(),
|
|
4296
|
-
USDC: "0xC625ec7D30A4b1AAEfb1304610CdAcD0d606aC92".toLowerCase(),
|
|
4297
|
-
USDT: "0xc043f483373072f7f27420d6e7d7ad269c018e18".toLowerCase()
|
|
4298
|
-
},
|
|
4299
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: {
|
|
4300
|
-
WETH: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
4301
|
-
DAI: "0x50B1d3c7c073c9caa1Ef207365A2c9C976bD70b9".toLowerCase(),
|
|
4302
|
-
USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
4303
|
-
USDT: "0x0000000000000000000000000000000000000000".toLowerCase()
|
|
4304
|
-
},
|
|
4305
|
-
["EVM-11155111" /* SEPOLIA */]: {
|
|
4306
|
-
WETH: "0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9".toLowerCase(),
|
|
4307
|
-
USDC: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
4308
|
-
USDT: "0x0000000000000000000000000000000000000000".toLowerCase(),
|
|
4309
|
-
DAI: "0x0000000000000000000000000000000000000000".toLowerCase()
|
|
4310
|
-
},
|
|
4311
|
-
["EVM-1" /* MAINNET */]: {
|
|
4312
|
-
WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2".toLowerCase(),
|
|
4313
|
-
DAI: "0x6B175474E89094C44Da98b954EedeAC495271d0F".toLowerCase(),
|
|
4314
|
-
USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48".toLowerCase(),
|
|
4315
|
-
USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7".toLowerCase()
|
|
4316
|
-
},
|
|
4317
|
-
["EVM-56" /* BSC_MAINNET */]: {
|
|
4318
|
-
WETH: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c".toLowerCase(),
|
|
4319
|
-
DAI: "0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3".toLowerCase(),
|
|
4320
|
-
USDC: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d".toLowerCase(),
|
|
4321
|
-
USDT: "0x55d398326f99059fF775485246999027B3197955".toLowerCase()
|
|
4322
|
-
},
|
|
4323
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: {
|
|
4324
|
-
WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1".toLowerCase(),
|
|
4325
|
-
DAI: "0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1".toLowerCase(),
|
|
4326
|
-
USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831".toLowerCase(),
|
|
4327
|
-
USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9".toLowerCase()
|
|
4328
|
-
},
|
|
4329
|
-
["EVM-8453" /* BASE_MAINNET */]: {
|
|
4330
|
-
WETH: "0x4200000000000000000000000000000000000006".toLowerCase(),
|
|
4331
|
-
DAI: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb".toLowerCase(),
|
|
4332
|
-
USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913".toLowerCase(),
|
|
4333
|
-
USDT: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2".toLowerCase()
|
|
4334
|
-
}
|
|
4335
|
-
};
|
|
4336
|
-
var addresses = {
|
|
4337
|
-
IntentGateway: {
|
|
4338
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
|
|
4339
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: "0x016b6ffC9f890d1e28f9Fdb9eaDA776b02F89509",
|
|
4340
|
-
["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
|
|
4341
|
-
["EVM-1" /* MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
|
|
4342
|
-
["EVM-56" /* BSC_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
|
|
4343
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA",
|
|
4344
|
-
["EVM-8453" /* BASE_MAINNET */]: "0xd54165e45926720b062C192a5bacEC64d5bB08DA"
|
|
4345
|
-
},
|
|
4346
|
-
Host: {
|
|
4347
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x8Aa0Dea6D675d785A882967Bf38183f6117C09b7",
|
|
4348
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: "0x58a41b89f4871725e5d898d98ef4bf917601c5eb",
|
|
4349
|
-
["EVM-11155111" /* SEPOLIA */]: "0x2EdB74C269948b60ec1000040E104cef0eABaae8",
|
|
4350
|
-
["EVM-1" /* MAINNET */]: "0x792A6236AF69787C40cF76b69B4c8c7B28c4cA20",
|
|
4351
|
-
["EVM-56" /* BSC_MAINNET */]: "0x24B5d421Ec373FcA57325dd2F0C074009Af021F7",
|
|
4352
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0xE05AFD4Eb2ce6d65c40e1048381BD0Ef8b4B299e",
|
|
4353
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x6FFe92e4d7a9D589549644544780e6725E84b248"
|
|
4354
|
-
},
|
|
4355
|
-
UniswapRouter02: {
|
|
4356
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x9639379819420704457B07A0C33B678D9E0F8Df0",
|
|
4357
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
|
|
4358
|
-
["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
|
|
4359
|
-
["EVM-1" /* MAINNET */]: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
|
|
4360
|
-
["EVM-56" /* BSC_MAINNET */]: "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24",
|
|
4361
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4362
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4363
|
-
},
|
|
4364
|
-
UniswapV2Factory: {
|
|
4365
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x12e036669DA18F4A2777853d6e2136b32AceEC86",
|
|
4366
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: "0x0000000000000000000000000000000000000000",
|
|
4367
|
-
["EVM-11155111" /* SEPOLIA */]: "0x0000000000000000000000000000000000000000",
|
|
4368
|
-
["EVM-1" /* MAINNET */]: "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
|
|
4369
|
-
["EVM-56" /* BSC_MAINNET */]: "0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",
|
|
4370
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4371
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4372
|
-
},
|
|
4373
|
-
BatchExecutor: {
|
|
4374
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x4CC58B5D8FBf838d062E4b21F75C327835B5F0ef",
|
|
4375
|
-
["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4376
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4377
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4378
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4379
|
-
},
|
|
4380
|
-
UniversalRouter: {
|
|
4381
|
-
["EVM-97" /* BSC_CHAPEL */]: "0xcc6d5ece3d4a57245bf5a2f64f3ed9179b81f714",
|
|
4382
|
-
["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4383
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4384
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4385
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4386
|
-
},
|
|
4387
|
-
UniswapV3Router: {
|
|
4388
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
4389
|
-
["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
|
|
4390
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4391
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4392
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4393
|
-
},
|
|
4394
|
-
UniswapV3Factory: {
|
|
4395
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
4396
|
-
["EVM-1" /* MAINNET */]: "0x1F98431c8aD98523631AE4a59f267346ea31F984",
|
|
4397
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4398
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4399
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4400
|
-
},
|
|
4401
|
-
UniswapV3Quoter: {
|
|
4402
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
4403
|
-
["EVM-1" /* MAINNET */]: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e",
|
|
4404
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4405
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4406
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4407
|
-
},
|
|
4408
|
-
UniswapV4PoolManager: {
|
|
4409
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
4410
|
-
["EVM-1" /* MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4411
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4412
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4413
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4414
|
-
},
|
|
4415
|
-
UniswapV4Quoter: {
|
|
4416
|
-
["EVM-97" /* BSC_CHAPEL */]: "0x0000000000000000000000000000000000000000",
|
|
4417
|
-
["EVM-1" /* MAINNET */]: "0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203",
|
|
4418
|
-
["EVM-56" /* BSC_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4419
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "0x0000000000000000000000000000000000000000",
|
|
4420
|
-
["EVM-8453" /* BASE_MAINNET */]: "0x0000000000000000000000000000000000000000"
|
|
4421
|
-
},
|
|
4422
|
-
Calldispatcher: {
|
|
4423
|
-
["EVM-11155111" /* SEPOLIA */]: "0xC7f13b6D03A0A7F3239d38897503E90553ABe155"
|
|
4424
|
-
}
|
|
4425
|
-
};
|
|
4426
|
-
var createRpcUrls = (env2) => ({
|
|
4427
|
-
["EVM-97" /* BSC_CHAPEL */]: env2.BSC_CHAPEL || "https://bnb-testnet.api.onfinality.io/public",
|
|
4428
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: env2.GNOSIS_CHIADO || "https://gnosis-chiado-rpc.publicnode.com",
|
|
4429
|
-
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: env2.HYPERBRIDGE_GARGANTUA || "",
|
|
4430
|
-
["EVM-11155111" /* SEPOLIA */]: env2.SEPOLIA || "https://1rpc.io/sepolia",
|
|
4431
|
-
["EVM-1" /* MAINNET */]: env2.ETH_MAINNET || "https://eth-mainnet.g.alchemy.com/v2/demo",
|
|
4432
|
-
["EVM-56" /* BSC_MAINNET */]: env2.BSC_MAINNET || "https://binance.llamarpc.com",
|
|
4433
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: env2.ARBITRUM_MAINNET || "https://arbitrum-one.public.blastapi.io",
|
|
4434
|
-
["EVM-8453" /* BASE_MAINNET */]: env2.BASE_MAINNET || "https://base-mainnet.public.blastapi.io"
|
|
4435
|
-
});
|
|
4436
|
-
var consensusStateIds = {
|
|
4437
|
-
["EVM-97" /* BSC_CHAPEL */]: "BSC0",
|
|
4438
|
-
["EVM-10200" /* GNOSIS_CHIADO */]: "GNO0",
|
|
4439
|
-
["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */]: "PAS0",
|
|
4440
|
-
["EVM-11155111" /* SEPOLIA */]: "ETH0",
|
|
4441
|
-
["EVM-1" /* MAINNET */]: "ETH0",
|
|
4442
|
-
["EVM-56" /* BSC_MAINNET */]: "BSC0",
|
|
4443
|
-
["EVM-42161" /* ARBITRUM_MAINNET */]: "ETH0",
|
|
4444
|
-
["EVM-8453" /* BASE_MAINNET */]: "ETH0"
|
|
4445
|
-
};
|
|
4446
|
-
|
|
4447
|
-
// src/configs/ChainConfigService.ts
|
|
4448
|
-
var ChainConfigService = class {
|
|
4449
|
-
rpcUrls;
|
|
4450
|
-
constructor(env2 = process.env) {
|
|
4451
|
-
this.rpcUrls = createRpcUrls(env2);
|
|
4452
|
-
}
|
|
4453
|
-
getChainConfig(chain) {
|
|
4454
|
-
return {
|
|
4455
|
-
chainId: chainIds[chain],
|
|
4456
|
-
rpcUrl: this.rpcUrls[chain],
|
|
4457
|
-
intentGatewayAddress: addresses.IntentGateway[chain]
|
|
4458
|
-
};
|
|
4459
|
-
}
|
|
4460
|
-
getIntentGatewayAddress(chain) {
|
|
4461
|
-
return addresses.IntentGateway[chain];
|
|
4462
|
-
}
|
|
4463
|
-
getHostAddress(chain) {
|
|
4464
|
-
return addresses.Host[chain];
|
|
4465
|
-
}
|
|
4466
|
-
getWrappedNativeAssetWithDecimals(chain) {
|
|
4467
|
-
return {
|
|
4468
|
-
asset: assets[chain].WETH,
|
|
4469
|
-
decimals: WrappedNativeDecimals[chain]
|
|
4470
|
-
};
|
|
4471
|
-
}
|
|
4472
|
-
getDaiAsset(chain) {
|
|
4473
|
-
return assets[chain].DAI;
|
|
4474
|
-
}
|
|
4475
|
-
getUsdtAsset(chain) {
|
|
4476
|
-
return assets[chain].USDT;
|
|
4477
|
-
}
|
|
4478
|
-
getUsdcAsset(chain) {
|
|
4479
|
-
return assets[chain].USDC;
|
|
4480
|
-
}
|
|
4481
|
-
getChainId(chain) {
|
|
4482
|
-
return chainIds[chain];
|
|
4483
|
-
}
|
|
4484
|
-
getConsensusStateId(chain) {
|
|
4485
|
-
return toHex(consensusStateIds[chain]);
|
|
4486
|
-
}
|
|
4487
|
-
getHyperbridgeChainId() {
|
|
4488
|
-
return chainIds["KUSAMA-4009" /* HYPERBRIDGE_GARGANTUA */];
|
|
4489
|
-
}
|
|
4490
|
-
getRpcUrl(chain) {
|
|
4491
|
-
return this.rpcUrls[chain];
|
|
4492
|
-
}
|
|
4493
|
-
getUniswapRouterV2Address(chain) {
|
|
4494
|
-
return addresses.UniswapRouter02[chain];
|
|
4495
|
-
}
|
|
4496
|
-
getUniswapV2FactoryAddress(chain) {
|
|
4497
|
-
return addresses.UniswapV2Factory[chain];
|
|
4498
|
-
}
|
|
4499
|
-
getBatchExecutorAddress(chain) {
|
|
4500
|
-
return addresses.BatchExecutor[chain];
|
|
4501
|
-
}
|
|
4502
|
-
getUniversalRouterAddress(chain) {
|
|
4503
|
-
return addresses.UniversalRouter[chain];
|
|
4504
|
-
}
|
|
4505
|
-
getUniswapV3RouterAddress(chain) {
|
|
4506
|
-
return addresses.UniswapV3Router[chain];
|
|
4507
|
-
}
|
|
4508
|
-
getUniswapV3FactoryAddress(chain) {
|
|
4509
|
-
return addresses.UniswapV3Factory[chain];
|
|
4510
|
-
}
|
|
4511
|
-
getUniswapV3QuoterAddress(chain) {
|
|
4512
|
-
return addresses.UniswapV3Quoter[chain];
|
|
4513
|
-
}
|
|
4514
|
-
getUniswapV4PoolManagerAddress(chain) {
|
|
4515
|
-
return addresses.UniswapV4PoolManager[chain];
|
|
4516
|
-
}
|
|
4517
|
-
getUniswapV4QuoterAddress(chain) {
|
|
4518
|
-
return addresses.UniswapV4Quoter[chain];
|
|
4519
|
-
}
|
|
4520
|
-
};
|
|
4521
|
-
|
|
4522
|
-
// src/chains/evm.ts
|
|
4523
4507
|
var chains = {
|
|
4524
4508
|
[mainnet.id]: mainnet,
|
|
4525
4509
|
[arbitrum.id]: arbitrum,
|
|
@@ -11426,8 +11410,7 @@ var IntentGateway = class {
|
|
|
11426
11410
|
this.source.client,
|
|
11427
11411
|
sourceChainFeeTokenDecimals
|
|
11428
11412
|
);
|
|
11429
|
-
const
|
|
11430
|
-
const relayerFeeInSourceFeeToken = postGasEstimateInSourceFeeToken + postGasEstimateInSourceFeeToken * RELAYER_FEE_BPS / 10000n;
|
|
11413
|
+
const relayerFeeInSourceFeeToken = postGasEstimateInSourceFeeToken + 25n * 10n ** BigInt(sourceChainFeeTokenDecimals - 2);
|
|
11431
11414
|
const relayerFeeInDestFeeToken = adjustFeeDecimals(
|
|
11432
11415
|
relayerFeeInSourceFeeToken,
|
|
11433
11416
|
sourceChainFeeTokenDecimals,
|
|
@@ -11482,7 +11465,8 @@ var IntentGateway = class {
|
|
|
11482
11465
|
];
|
|
11483
11466
|
let destChainFillGas = 0n;
|
|
11484
11467
|
try {
|
|
11485
|
-
|
|
11468
|
+
let protocolFeeInNativeToken = await this.quoteNative(postRequest, relayerFeeInDestFeeToken);
|
|
11469
|
+
protocolFeeInNativeToken = protocolFeeInNativeToken + protocolFeeInNativeToken * 50n / 10000n;
|
|
11486
11470
|
destChainFillGas = await this.dest.client.estimateContractGas({
|
|
11487
11471
|
abi: IntentGateway_default.ABI,
|
|
11488
11472
|
address: intentGatewayAddress,
|
|
@@ -11538,7 +11522,7 @@ var IntentGateway = class {
|
|
|
11538
11522
|
sourceChainFeeTokenDecimals
|
|
11539
11523
|
);
|
|
11540
11524
|
const totalEstimate = fillGasInSourceFeeToken + protocolFeeInSourceFeeToken + relayerFeeInSourceFeeToken;
|
|
11541
|
-
const SWAP_OPERATIONS_BPS =
|
|
11525
|
+
const SWAP_OPERATIONS_BPS = 3500n;
|
|
11542
11526
|
const swapOperationsInFeeToken = totalEstimate * SWAP_OPERATIONS_BPS / 10000n;
|
|
11543
11527
|
const totalFeeTokenAmount = totalEstimate + swapOperationsInFeeToken;
|
|
11544
11528
|
const totalNativeTokenAmount = await this.convertFeeTokenToNative(
|
|
@@ -11564,11 +11548,12 @@ var IntentGateway = class {
|
|
|
11564
11548
|
*/
|
|
11565
11549
|
async convertFeeTokenToNative(feeTokenAmount, publicClient, feeTokenDecimals) {
|
|
11566
11550
|
const nativeToken = publicClient.chain?.nativeCurrency;
|
|
11551
|
+
const chainId = publicClient.chain?.id;
|
|
11567
11552
|
if (!nativeToken?.symbol || !nativeToken?.decimals) {
|
|
11568
11553
|
throw new Error("Chain native currency information not available");
|
|
11569
11554
|
}
|
|
11570
11555
|
const feeTokenAmountNumber = Number(feeTokenAmount) / Math.pow(10, feeTokenDecimals);
|
|
11571
|
-
const nativeTokenPriceUsd = await
|
|
11556
|
+
const nativeTokenPriceUsd = await fetchPrice(nativeToken.symbol, chainId);
|
|
11572
11557
|
const totalCostInNativeToken = feeTokenAmountNumber / nativeTokenPriceUsd;
|
|
11573
11558
|
return BigInt(Math.floor(totalCostInNativeToken * Math.pow(10, nativeToken.decimals)));
|
|
11574
11559
|
}
|
|
@@ -11586,13 +11571,14 @@ var IntentGateway = class {
|
|
|
11586
11571
|
const gasPrice = await publicClient.getGasPrice();
|
|
11587
11572
|
const gasCostInWei = gasEstimate * gasPrice;
|
|
11588
11573
|
const nativeToken = publicClient.chain?.nativeCurrency;
|
|
11574
|
+
const chainId = publicClient.chain?.id;
|
|
11589
11575
|
if (!nativeToken?.symbol || !nativeToken?.decimals) {
|
|
11590
11576
|
throw new Error("Chain native currency information not available");
|
|
11591
11577
|
}
|
|
11592
11578
|
const gasCostInToken = Number(gasCostInWei) / Math.pow(10, nativeToken.decimals);
|
|
11593
|
-
const tokenPriceUsd = await
|
|
11579
|
+
const tokenPriceUsd = await fetchPrice(nativeToken.symbol, chainId);
|
|
11594
11580
|
const gasCostUsd = gasCostInToken * tokenPriceUsd;
|
|
11595
|
-
const feeTokenPriceUsd = await
|
|
11581
|
+
const feeTokenPriceUsd = await fetchPrice("DAI");
|
|
11596
11582
|
const gasCostInFeeToken = gasCostUsd / feeTokenPriceUsd;
|
|
11597
11583
|
return BigInt(Math.floor(gasCostInFeeToken * Math.pow(10, targetDecimals)));
|
|
11598
11584
|
}
|
|
@@ -12305,6 +12291,6 @@ async function teleportDot(param_) {
|
|
|
12305
12291
|
return stream;
|
|
12306
12292
|
}
|
|
12307
12293
|
|
|
12308
|
-
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,
|
|
12294
|
+
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 };
|
|
12309
12295
|
//# sourceMappingURL=index.js.map
|
|
12310
12296
|
//# sourceMappingURL=index.js.map
|