@scallop-io/sui-scallop-sdk 0.42.7 → 0.44.0

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,6 +1,8 @@
1
- import type { SupportCoinDecimals, AssetCoins, MarketCoins, StakeMarketCoins, RewardCoins } from '../types';
1
+ import type { SupportCoinDecimals, AssetCoins, MarketCoins, StakeMarketCoins, RewardCoins, AssetCoinIds, WormholeCoinIds } from '../types';
2
2
  export declare const coinDecimals: SupportCoinDecimals;
3
3
  export declare const assetCoins: AssetCoins;
4
4
  export declare const marketCoins: MarketCoins;
5
5
  export declare const stakeMarketCoins: StakeMarketCoins;
6
6
  export declare const rewardCoins: RewardCoins;
7
+ export declare const coinIds: AssetCoinIds;
8
+ export declare const wormholeCoinIds: WormholeCoinIds;
package/dist/index.js CHANGED
@@ -47,9 +47,11 @@ __export(src_exports, {
47
47
  ScallopUtils: () => ScallopUtils,
48
48
  assetCoins: () => assetCoins,
49
49
  coinDecimals: () => coinDecimals,
50
+ coinIds: () => coinIds,
50
51
  marketCoins: () => marketCoins,
51
52
  rewardCoins: () => rewardCoins,
52
- stakeMarketCoins: () => stakeMarketCoins
53
+ stakeMarketCoins: () => stakeMarketCoins,
54
+ wormholeCoinIds: () => wormholeCoinIds
53
55
  });
54
56
  module.exports = __toCommonJS(src_exports);
55
57
 
@@ -144,6 +146,24 @@ var rewardCoins = {
144
146
  susdc: "sui",
145
147
  susdt: "sui"
146
148
  };
149
+ var coinIds = {
150
+ sui: "0x0000000000000000000000000000000000000000000000000000000000000002",
151
+ eth: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
152
+ btc: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881",
153
+ usdc: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf",
154
+ usdt: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
155
+ apt: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
156
+ sol: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8",
157
+ cetus: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b"
158
+ };
159
+ var wormholeCoinIds = {
160
+ eth: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
161
+ btc: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881",
162
+ usdc: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf",
163
+ usdt: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
164
+ apt: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
165
+ sol: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8"
166
+ };
147
167
 
148
168
  // src/models/scallop.ts
149
169
  var import_sui_kit8 = require("@scallop-io/sui-kit");
@@ -604,11 +624,11 @@ var ScallopAddress = class {
604
624
  };
605
625
 
606
626
  // src/models/scallopClient.ts
607
- var import_utils10 = require("@mysten/sui.js/utils");
627
+ var import_utils11 = require("@mysten/sui.js/utils");
608
628
  var import_sui_kit7 = require("@scallop-io/sui-kit");
609
629
 
610
630
  // src/models/scallopUtils.ts
611
- var import_utils4 = require("@mysten/sui.js/utils");
631
+ var import_utils5 = require("@mysten/sui.js/utils");
612
632
  var import_sui_kit3 = require("@scallop-io/sui-kit");
613
633
  var import_pyth_sui_js = require("@pythnetwork/pyth-sui-js");
614
634
 
@@ -851,9 +871,9 @@ var calculateRewardPoolData = (parsedStakePoolData, parsedRewardPoolData, calcul
851
871
  );
852
872
  const claimedRewardValue = claimedRewardCoin.multipliedBy(rewardCoinPrice);
853
873
  const rewardValueForYear = (0, import_bignumber.default)(rewardPerSec).shiftedBy(-1 * rewardCoinDecimal).multipliedBy(rateYearFactor).multipliedBy(rewardCoinPrice);
854
- const stakeRate = rewardValueForYear.dividedBy(calculatedStakePoolData.stakedValue).isFinite() ? rewardValueForYear.dividedBy(calculatedStakePoolData.stakedValue).toNumber() : Infinity;
874
+ const rewardRate = rewardValueForYear.dividedBy(calculatedStakePoolData.stakedValue).isFinite() ? rewardValueForYear.dividedBy(calculatedStakePoolData.stakedValue).toNumber() : Infinity;
855
875
  return {
856
- stakeApr: stakeRate,
876
+ rewardApr: rewardRate,
857
877
  totalRewardAmount: totalRewardAmount.toNumber(),
858
878
  totalRewardCoin: totalRewardCoin.toNumber(),
859
879
  totalRewardValue: totalRewardValue.toNumber(),
@@ -868,6 +888,13 @@ var calculateRewardPoolData = (parsedStakePoolData, parsedRewardPoolData, calcul
868
888
  exchangeRateDenominator: parsedRewardPoolData.exchangeRateDenominator
869
889
  };
870
890
  };
891
+ var minBigNumber = (...args) => {
892
+ return (0, import_bignumber.default)(
893
+ args.reduce(
894
+ (min, current) => new import_bignumber.default(current).lt(min) ? current : min
895
+ )
896
+ );
897
+ };
871
898
 
872
899
  // src/utils/util.ts
873
900
  var isMarketCoin = (coinName) => {
@@ -928,6 +955,8 @@ var queryMarket = async (query) => {
928
955
  coinWrappedType: query.utils.getCoinWrappedType(poolCoinName),
929
956
  coinDecimal: query.utils.getCoinDecimal(poolCoinName),
930
957
  coinPrice,
958
+ highKink: parsedMarketPoolData.highKink,
959
+ midKink: parsedMarketPoolData.midKink,
931
960
  reserveFactor: parsedMarketPoolData.reserveFactor,
932
961
  borrowWeight: parsedMarketPoolData.borrowWeight,
933
962
  marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
@@ -1096,6 +1125,8 @@ var getMarketPool = async (query, poolCoinName, marketObject, coinPrice) => {
1096
1125
  coinWrappedType: query.utils.getCoinWrappedType(poolCoinName),
1097
1126
  coinDecimal: query.utils.getCoinDecimal(poolCoinName),
1098
1127
  coinPrice: coinPrice ?? 0,
1128
+ highKink: parsedMarketPoolData.highKink,
1129
+ midKink: parsedMarketPoolData.midKink,
1099
1130
  reserveFactor: parsedMarketPoolData.reserveFactor,
1100
1131
  borrowWeight: parsedMarketPoolData.borrowWeight,
1101
1132
  marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
@@ -1776,7 +1807,9 @@ var getLending = async (query, poolCoinName, ownerAddress, marketPool, spool, st
1776
1807
  let stakedCoin = (0, import_bignumber3.default)(0);
1777
1808
  let stakedValue = (0, import_bignumber3.default)(0);
1778
1809
  let availableUnstakeAmount = (0, import_bignumber3.default)(0);
1810
+ let availableUnstakeCoin = (0, import_bignumber3.default)(0);
1779
1811
  let availableClaimAmount = (0, import_bignumber3.default)(0);
1812
+ let availableClaimCoin = (0, import_bignumber3.default)(0);
1780
1813
  if (spool) {
1781
1814
  for (const stakeAccount of stakeAccounts) {
1782
1815
  const accountStakedMarketCoinAmount = (0, import_bignumber3.default)(stakeAccount.staked);
@@ -1802,6 +1835,7 @@ var getLending = async (query, poolCoinName, ownerAddress, marketPool, spool, st
1802
1835
  availableUnstakeAmount = availableUnstakeAmount.plus(
1803
1836
  accountStakedMarketCoinAmount
1804
1837
  );
1838
+ availableUnstakeCoin = availableUnstakeAmount.shiftedBy(-1 * coinDecimal);
1805
1839
  const baseIndexRate = 1e9;
1806
1840
  const increasedPointRate = spool?.currentPointIndex ? (0, import_bignumber3.default)(spool.currentPointIndex - stakeAccount.index).dividedBy(
1807
1841
  baseIndexRate
@@ -1809,6 +1843,7 @@ var getLending = async (query, poolCoinName, ownerAddress, marketPool, spool, st
1809
1843
  availableClaimAmount = availableClaimAmount.plus(
1810
1844
  (0, import_bignumber3.default)(stakeAccount.staked).multipliedBy(increasedPointRate).plus(stakeAccount.points).multipliedBy(spool.exchangeRateNumerator).dividedBy(spool.exchangeRateDenominator)
1811
1845
  );
1846
+ availableClaimCoin = availableClaimAmount.shiftedBy(-1 * coinDecimal);
1812
1847
  }
1813
1848
  }
1814
1849
  const suppliedAmount = (0, import_bignumber3.default)(marketCoinAmount).multipliedBy(
@@ -1816,6 +1851,18 @@ var getLending = async (query, poolCoinName, ownerAddress, marketPool, spool, st
1816
1851
  );
1817
1852
  const suppliedCoin = suppliedAmount.shiftedBy(-1 * coinDecimal);
1818
1853
  const suppliedValue = suppliedCoin.multipliedBy(coinPrice ?? 0);
1854
+ const unstakedMarketAmount = (0, import_bignumber3.default)(marketCoinAmount);
1855
+ const unstakedMarketCoin = unstakedMarketAmount.shiftedBy(-1 * coinDecimal);
1856
+ const availableSupplyAmount = (0, import_bignumber3.default)(coinAmount);
1857
+ const availableSupplyCoin = availableSupplyAmount.shiftedBy(-1 * coinDecimal);
1858
+ const availableWithdrawAmount = minBigNumber(
1859
+ suppliedAmount,
1860
+ marketPool?.supplyAmount ?? Infinity
1861
+ ).plus(stakedAmount);
1862
+ const availableWithdrawCoin = minBigNumber(
1863
+ suppliedCoin,
1864
+ marketPool?.supplyCoin ?? Infinity
1865
+ ).plus(stakedCoin);
1819
1866
  const lending = {
1820
1867
  coinName: poolCoinName,
1821
1868
  symbol: query.utils.parseSymbol(poolCoinName),
@@ -1825,7 +1872,7 @@ var getLending = async (query, poolCoinName, ownerAddress, marketPool, spool, st
1825
1872
  coinPrice: coinPrice ?? 0,
1826
1873
  supplyApr: marketPool?.supplyApr ?? 0,
1827
1874
  supplyApy: marketPool?.supplyApy ?? 0,
1828
- rewardApr: spool?.stakeApr ?? 0,
1875
+ rewardApr: spool?.rewardApr ?? 0,
1829
1876
  suppliedAmount: suppliedAmount.plus(stakedAmount).toNumber(),
1830
1877
  suppliedCoin: suppliedCoin.plus(stakedCoin).toNumber(),
1831
1878
  suppliedValue: suppliedValue.plus(stakedValue).toNumber(),
@@ -1834,11 +1881,21 @@ var getLending = async (query, poolCoinName, ownerAddress, marketPool, spool, st
1834
1881
  stakedAmount: stakedAmount.toNumber(),
1835
1882
  stakedCoin: stakedCoin.toNumber(),
1836
1883
  stakedValue: stakedValue.toNumber(),
1837
- availableSupplyAmount: coinAmount,
1838
- availableWithdrawAmount: 0,
1839
- availableStakeAmount: marketCoinAmount,
1884
+ unstakedMarketAmount: unstakedMarketAmount.toNumber(),
1885
+ unstakedMarketCoin: unstakedMarketCoin.toNumber(),
1886
+ unstakedAmount: suppliedAmount.toNumber(),
1887
+ unstakedCoin: suppliedCoin.toNumber(),
1888
+ unstakedValue: suppliedValue.toNumber(),
1889
+ availableSupplyAmount: availableSupplyAmount.toNumber(),
1890
+ availableSupplyCoin: availableSupplyCoin.toNumber(),
1891
+ availableWithdrawAmount: availableWithdrawAmount.toNumber(),
1892
+ availableWithdrawCoin: availableWithdrawCoin.toNumber(),
1893
+ availableStakeAmount: unstakedMarketAmount.toNumber(),
1894
+ availableStakeCoin: unstakedMarketCoin.toNumber(),
1840
1895
  availableUnstakeAmount: availableUnstakeAmount.toNumber(),
1841
- availableClaimAmount: availableClaimAmount.toNumber()
1896
+ availableUnstakeCoin: availableUnstakeCoin.toNumber(),
1897
+ availableClaimAmount: availableClaimAmount.toNumber(),
1898
+ availableClaimCoin: availableClaimCoin.toNumber()
1842
1899
  };
1843
1900
  return lending;
1844
1901
  };
@@ -1916,6 +1973,8 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
1916
1973
  coinName: collateralCoinName,
1917
1974
  coinType: collateral.type.name,
1918
1975
  symbol: query.utils.parseSymbol(collateralCoinName),
1976
+ coinDecimal,
1977
+ coinPrice,
1919
1978
  depositedAmount: depositedAmount.toNumber(),
1920
1979
  depositedCoin: depositedCoin.toNumber(),
1921
1980
  depositedValue: depositedValue.toNumber(),
@@ -1960,6 +2019,8 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
1960
2019
  coinName: poolCoinName,
1961
2020
  coinType: debt.type.name,
1962
2021
  symbol: query.utils.parseSymbol(poolCoinName),
2022
+ coinDecimal,
2023
+ coinPrice,
1963
2024
  borrowedAmount: borrowedAmount.toNumber(),
1964
2025
  borrowedCoin: borrowedCoin.toNumber(),
1965
2026
  borrowedValue: borrowedValue.toNumber(),
@@ -2007,13 +2068,13 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
2007
2068
  )) {
2008
2069
  const marketCollateral = market.collaterals[collateralCoinName];
2009
2070
  if (marketCollateral) {
2010
- const availableWithdrawAmount = obligationAccount.totalBorrowedValueWithWeight === 0 ? obligationCollateral.depositedAmount : Math.min(
2071
+ const availableWithdrawAmount = obligationAccount.totalBorrowedValueWithWeight === 0 ? (0, import_bignumber3.default)(obligationCollateral.depositedAmount) : minBigNumber(
2011
2072
  (0, import_bignumber3.default)(obligationAccount.totalAvailableCollateralValue).dividedBy(marketCollateral.collateralFactor).dividedBy(marketCollateral.coinPrice).multipliedBy(0.99).toNumber(),
2012
2073
  obligationCollateral.depositedAmount,
2013
2074
  marketCollateral.depositAmount
2014
2075
  );
2015
- obligationCollateral.availableWithdrawAmount = availableWithdrawAmount;
2016
- obligationCollateral.availableWithdrawCoin = availableWithdrawAmount;
2076
+ obligationCollateral.availableWithdrawAmount = availableWithdrawAmount.toNumber();
2077
+ obligationCollateral.availableWithdrawCoin = availableWithdrawAmount.shiftedBy(-1 * obligationCollateral.coinDecimal).toNumber();
2017
2078
  }
2018
2079
  }
2019
2080
  for (const [assetCoinName, obligationDebt] of Object.entries(
@@ -2023,17 +2084,19 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
2023
2084
  if (marketPool) {
2024
2085
  const availableRepayAmount = (0, import_bignumber3.default)(
2025
2086
  obligationDebt.availableRepayAmount
2026
- ).multipliedBy(1.01).toNumber();
2027
- const availableBorrowAmount = obligationAccount.totalAvailableCollateralValue !== 0 ? Math.min(
2087
+ ).multipliedBy(1.01);
2088
+ const availableBorrowAmount = obligationAccount.totalAvailableCollateralValue !== 0 ? minBigNumber(
2028
2089
  (0, import_bignumber3.default)(obligationAccount.totalAvailableCollateralValue).dividedBy(
2029
2090
  (0, import_bignumber3.default)(marketPool.coinPrice).multipliedBy(
2030
2091
  marketPool.borrowWeight
2031
2092
  )
2032
2093
  ).multipliedBy(0.99).toNumber(),
2033
2094
  marketPool.supplyAmount
2034
- ) : 0;
2035
- obligationDebt.availableBorrowAmount = availableBorrowAmount;
2036
- obligationDebt.availableRepayAmount = availableRepayAmount;
2095
+ ) : (0, import_bignumber3.default)(0);
2096
+ obligationDebt.availableBorrowAmount = availableBorrowAmount.toNumber();
2097
+ obligationDebt.availableBorrowCoin = availableBorrowAmount.shiftedBy(-1 * obligationDebt.coinDecimal).toNumber();
2098
+ obligationDebt.availableRepayAmount = availableRepayAmount.toNumber();
2099
+ obligationDebt.availableRepayCoin = availableRepayAmount.shiftedBy(-1 * obligationDebt.coinDecimal).toNumber();
2037
2100
  }
2038
2101
  }
2039
2102
  return obligationAccount;
@@ -2435,16 +2498,19 @@ var ScallopUtils = class {
2435
2498
  */
2436
2499
  parseCoinType(coinName) {
2437
2500
  coinName = isMarketCoin(coinName) ? this.parseCoinName(coinName) : coinName;
2438
- const coinPackageId = this._address.get(`core.coins.${coinName}.id`);
2501
+ const coinPackageId = this._address.get(`core.coins.${coinName}.id`) ?? coinIds[coinName] ?? void 0;
2502
+ if (!coinPackageId) {
2503
+ throw Error(`Coin ${coinName} is not supported`);
2504
+ }
2439
2505
  if (coinName === "sui")
2440
- return (0, import_utils4.normalizeStructTag)(`${coinPackageId}::sui::SUI`);
2506
+ return (0, import_utils5.normalizeStructTag)(`${coinPackageId}::sui::SUI`);
2441
2507
  const wormHoleCoinIds = [
2442
- this._address.get("core.coins.usdc.id"),
2443
- this._address.get("core.coins.usdt.id"),
2444
- this._address.get("core.coins.eth.id"),
2445
- this._address.get("core.coins.btc.id"),
2446
- this._address.get("core.coins.sol.id"),
2447
- this._address.get("core.coins.apt.id")
2508
+ this._address.get("core.coins.usdc.id") ?? wormholeCoinIds.usdc,
2509
+ this._address.get("core.coins.usdt.id") ?? wormholeCoinIds.usdt,
2510
+ this._address.get("core.coins.eth.id") ?? wormholeCoinIds.eth,
2511
+ this._address.get("core.coins.btc.id") ?? wormholeCoinIds.btc,
2512
+ this._address.get("core.coins.sol.id") ?? wormholeCoinIds.sol,
2513
+ this._address.get("core.coins.apt.id") ?? wormholeCoinIds.apt
2448
2514
  ];
2449
2515
  if (wormHoleCoinIds.includes(coinPackageId)) {
2450
2516
  return `${coinPackageId}::coin::COIN`;
@@ -2464,18 +2530,18 @@ var ScallopUtils = class {
2464
2530
  return `${PROTOCOL_OBJECT_ID}::reserve::MarketCoin<${coinType}>`;
2465
2531
  }
2466
2532
  parseCoinNameFromType(coinType) {
2467
- coinType = (0, import_utils4.normalizeStructTag)(coinType);
2533
+ coinType = (0, import_utils5.normalizeStructTag)(coinType);
2468
2534
  const coinTypeRegex = new RegExp(`((0x[^:]+::[^:]+::[^<>]+))(?![^<>]*<)`);
2469
2535
  const coinTypeMatch = coinType.match(coinTypeRegex);
2470
2536
  const isMarketCoinType = coinType.includes("reserve::MarketCoin");
2471
2537
  coinType = coinTypeMatch?.[1] || coinType;
2472
2538
  const wormHoleCoinTypeMap = {
2473
- [`${this._address.get("core.coins.usdc.id")}::coin::COIN`]: "usdc",
2474
- [`${this._address.get("core.coins.usdt.id")}::coin::COIN`]: "usdt",
2475
- [`${this._address.get("core.coins.eth.id")}::coin::COIN`]: "eth",
2476
- [`${this._address.get("core.coins.btc.id")}::coin::COIN`]: "btc",
2477
- [`${this._address.get("core.coins.sol.id")}::coin::COIN`]: "sol",
2478
- [`${this._address.get("core.coins.apt.id")}::coin::COIN`]: "apt"
2539
+ [`${this._address.get("core.coins.usdc.id") ?? wormholeCoinIds.usdc}::coin::COIN`]: "usdc",
2540
+ [`${this._address.get("core.coins.usdt.id") ?? wormholeCoinIds.usdt}::coin::COIN`]: "usdt",
2541
+ [`${this._address.get("core.coins.eth.id") ?? wormholeCoinIds.eth}::coin::COIN`]: "eth",
2542
+ [`${this._address.get("core.coins.btc.id") ?? wormholeCoinIds.btc}::coin::COIN`]: "btc",
2543
+ [`${this._address.get("core.coins.sol.id") ?? wormholeCoinIds.sol}::coin::COIN`]: "sol",
2544
+ [`${this._address.get("core.coins.apt.id") ?? wormholeCoinIds.apt}::coin::COIN`]: "apt"
2479
2545
  };
2480
2546
  const assetCoinName = wormHoleCoinTypeMap[coinType] || coinType.split("::")[2].toLowerCase();
2481
2547
  return isMarketCoinType ? this.parseMarketCoinName(assetCoinName) : assetCoinName;
@@ -2525,7 +2591,7 @@ var ScallopUtils = class {
2525
2591
  * @param coinType - The coin type, default is 0x2::SUI::SUI.
2526
2592
  * @return The selected transaction coin arguments.
2527
2593
  */
2528
- async selectCoinIds(amount, coinType = import_utils4.SUI_TYPE_ARG, ownerAddress) {
2594
+ async selectCoinIds(amount, coinType = import_utils5.SUI_TYPE_ARG, ownerAddress) {
2529
2595
  ownerAddress = ownerAddress || this._suiKit.currentAddress();
2530
2596
  const coins = await this._suiKit.suiInteractor.selectCoins(
2531
2597
  ownerAddress,
@@ -2644,16 +2710,16 @@ var ScallopUtils = class {
2644
2710
  };
2645
2711
 
2646
2712
  // src/models/scallopBuilder.ts
2647
- var import_utils9 = require("@mysten/sui.js/utils");
2713
+ var import_utils10 = require("@mysten/sui.js/utils");
2648
2714
  var import_sui_kit6 = require("@scallop-io/sui-kit");
2649
2715
 
2650
2716
  // src/builders/coreBuilder.ts
2651
2717
  var import_transactions = require("@mysten/sui.js/transactions");
2652
- var import_utils7 = require("@mysten/sui.js/utils");
2718
+ var import_utils8 = require("@mysten/sui.js/utils");
2653
2719
  var import_sui_kit4 = require("@scallop-io/sui-kit");
2654
2720
 
2655
2721
  // src/builders/oracle.ts
2656
- var import_utils6 = require("@mysten/sui.js/utils");
2722
+ var import_utils7 = require("@mysten/sui.js/utils");
2657
2723
  var import_pyth_sui_js2 = require("@pythnetwork/pyth-sui-js");
2658
2724
  var updateOracles = async (builder, txBlock, assetCoinNames) => {
2659
2725
  assetCoinNames = assetCoinNames ?? [
@@ -2759,27 +2825,27 @@ var priceUpdateRequest = (txBlock, packageId, xOracleId, coinType) => {
2759
2825
  var confirmPriceUpdateRequest = (txBlock, packageId, xOracleId, request, coinType) => {
2760
2826
  const target = `${packageId}::x_oracle::confirm_price_update_request`;
2761
2827
  const typeArgs = [coinType];
2762
- txBlock.moveCall(target, [xOracleId, request, import_utils6.SUI_CLOCK_OBJECT_ID], typeArgs);
2828
+ txBlock.moveCall(target, [xOracleId, request, import_utils7.SUI_CLOCK_OBJECT_ID], typeArgs);
2763
2829
  return txBlock;
2764
2830
  };
2765
2831
  var updateSupraPrice = (txBlock, packageId, request, holderId, registryId, coinType) => {
2766
2832
  txBlock.moveCall(
2767
2833
  `${packageId}::rule::set_price`,
2768
- [request, holderId, registryId, import_utils6.SUI_CLOCK_OBJECT_ID],
2834
+ [request, holderId, registryId, import_utils7.SUI_CLOCK_OBJECT_ID],
2769
2835
  [coinType]
2770
2836
  );
2771
2837
  };
2772
2838
  var updateSwitchboardPrice = (txBlock, packageId, request, aggregatorId, registryId, coinType) => {
2773
2839
  txBlock.moveCall(
2774
2840
  `${packageId}::rule::set_price`,
2775
- [request, aggregatorId, registryId, import_utils6.SUI_CLOCK_OBJECT_ID],
2841
+ [request, aggregatorId, registryId, import_utils7.SUI_CLOCK_OBJECT_ID],
2776
2842
  [coinType]
2777
2843
  );
2778
2844
  };
2779
2845
  var updatePythPrice = (txBlock, packageId, request, stateId, feedObjectId, registryId, coinType) => {
2780
2846
  txBlock.moveCall(
2781
2847
  `${packageId}::rule::set_price`,
2782
- [request, stateId, feedObjectId, registryId, import_utils6.SUI_CLOCK_OBJECT_ID],
2848
+ [request, stateId, feedObjectId, registryId, import_utils7.SUI_CLOCK_OBJECT_ID],
2783
2849
  [coinType]
2784
2850
  );
2785
2851
  };
@@ -2852,7 +2918,7 @@ var generateCoreNormalMethod = ({
2852
2918
  coreIds.coinDecimalsRegistry,
2853
2919
  amount,
2854
2920
  coreIds.xOracle,
2855
- import_utils7.SUI_CLOCK_OBJECT_ID
2921
+ import_utils8.SUI_CLOCK_OBJECT_ID
2856
2922
  ],
2857
2923
  [coinType]
2858
2924
  );
@@ -2861,7 +2927,7 @@ var generateCoreNormalMethod = ({
2861
2927
  const coinType = builder.utils.parseCoinType(poolCoinName);
2862
2928
  return txBlock.moveCall(
2863
2929
  `${coreIds.protocolPkg}::mint::mint`,
2864
- [coreIds.version, coreIds.market, coin, import_utils7.SUI_CLOCK_OBJECT_ID],
2930
+ [coreIds.version, coreIds.market, coin, import_utils8.SUI_CLOCK_OBJECT_ID],
2865
2931
  [coinType]
2866
2932
  );
2867
2933
  },
@@ -2869,7 +2935,7 @@ var generateCoreNormalMethod = ({
2869
2935
  const coinType = builder.utils.parseCoinType(poolCoinName);
2870
2936
  return txBlock.moveCall(
2871
2937
  `${coreIds.protocolPkg}::mint::mint_entry`,
2872
- [coreIds.version, coreIds.market, coin, import_utils7.SUI_CLOCK_OBJECT_ID],
2938
+ [coreIds.version, coreIds.market, coin, import_utils8.SUI_CLOCK_OBJECT_ID],
2873
2939
  [coinType]
2874
2940
  );
2875
2941
  },
@@ -2877,7 +2943,7 @@ var generateCoreNormalMethod = ({
2877
2943
  const coinType = builder.utils.parseCoinType(poolCoinName);
2878
2944
  return txBlock.moveCall(
2879
2945
  `${coreIds.protocolPkg}::redeem::redeem`,
2880
- [coreIds.version, coreIds.market, marketCoin, import_utils7.SUI_CLOCK_OBJECT_ID],
2946
+ [coreIds.version, coreIds.market, marketCoin, import_utils8.SUI_CLOCK_OBJECT_ID],
2881
2947
  [coinType]
2882
2948
  );
2883
2949
  },
@@ -2885,7 +2951,7 @@ var generateCoreNormalMethod = ({
2885
2951
  const coinType = builder.utils.parseCoinType(poolCoinName);
2886
2952
  return txBlock.moveCall(
2887
2953
  `${coreIds.protocolPkg}::redeem::redeem_entry`,
2888
- [coreIds.version, coreIds.market, marketCoin, import_utils7.SUI_CLOCK_OBJECT_ID],
2954
+ [coreIds.version, coreIds.market, marketCoin, import_utils8.SUI_CLOCK_OBJECT_ID],
2889
2955
  [coinType]
2890
2956
  );
2891
2957
  },
@@ -2901,7 +2967,7 @@ var generateCoreNormalMethod = ({
2901
2967
  coreIds.coinDecimalsRegistry,
2902
2968
  amount,
2903
2969
  coreIds.xOracle,
2904
- import_utils7.SUI_CLOCK_OBJECT_ID
2970
+ import_utils8.SUI_CLOCK_OBJECT_ID
2905
2971
  ],
2906
2972
  [coinType]
2907
2973
  );
@@ -2918,7 +2984,7 @@ var generateCoreNormalMethod = ({
2918
2984
  coreIds.coinDecimalsRegistry,
2919
2985
  amount,
2920
2986
  coreIds.xOracle,
2921
- import_utils7.SUI_CLOCK_OBJECT_ID
2987
+ import_utils8.SUI_CLOCK_OBJECT_ID
2922
2988
  ],
2923
2989
  [coinType]
2924
2990
  );
@@ -2932,7 +2998,7 @@ var generateCoreNormalMethod = ({
2932
2998
  obligation,
2933
2999
  coreIds.market,
2934
3000
  coin,
2935
- import_utils7.SUI_CLOCK_OBJECT_ID
3001
+ import_utils8.SUI_CLOCK_OBJECT_ID
2936
3002
  ],
2937
3003
  [coinType]
2938
3004
  );
@@ -3110,7 +3176,7 @@ var newCoreTxBlock = (builder, initTxBlock) => {
3110
3176
 
3111
3177
  // src/builders/spoolBuilder.ts
3112
3178
  var import_transactions2 = require("@mysten/sui.js/transactions");
3113
- var import_utils8 = require("@mysten/sui.js/utils");
3179
+ var import_utils9 = require("@mysten/sui.js/utils");
3114
3180
  var import_sui_kit5 = require("@scallop-io/sui-kit");
3115
3181
  var requireSender2 = (txBlock) => {
3116
3182
  const sender = txBlock.blockData.sender;
@@ -3157,7 +3223,7 @@ var generateSpoolNormalMethod = ({
3157
3223
  );
3158
3224
  return txBlock.moveCall(
3159
3225
  `${spoolIds.spoolPkg}::user::new_spool_account`,
3160
- [stakePoolId, import_utils8.SUI_CLOCK_OBJECT_ID],
3226
+ [stakePoolId, import_utils9.SUI_CLOCK_OBJECT_ID],
3161
3227
  [marketCoinType]
3162
3228
  );
3163
3229
  },
@@ -3168,7 +3234,7 @@ var generateSpoolNormalMethod = ({
3168
3234
  );
3169
3235
  txBlock.moveCall(
3170
3236
  `${spoolIds.spoolPkg}::user::stake`,
3171
- [stakePoolId, stakeAccount, coin, import_utils8.SUI_CLOCK_OBJECT_ID],
3237
+ [stakePoolId, stakeAccount, coin, import_utils9.SUI_CLOCK_OBJECT_ID],
3172
3238
  [marketCoinType]
3173
3239
  );
3174
3240
  },
@@ -3179,7 +3245,7 @@ var generateSpoolNormalMethod = ({
3179
3245
  );
3180
3246
  return txBlock.moveCall(
3181
3247
  `${spoolIds.spoolPkg}::user::unstake`,
3182
- [stakePoolId, stakeAccount, amount, import_utils8.SUI_CLOCK_OBJECT_ID],
3248
+ [stakePoolId, stakeAccount, amount, import_utils9.SUI_CLOCK_OBJECT_ID],
3183
3249
  [marketCoinType]
3184
3250
  );
3185
3251
  },
@@ -3195,7 +3261,7 @@ var generateSpoolNormalMethod = ({
3195
3261
  const rewardCoinType = builder.utils.parseCoinType(rewardCoinName);
3196
3262
  return txBlock.moveCall(
3197
3263
  `${spoolIds.spoolPkg}::user::redeem_rewards`,
3198
- [stakePoolId, rewardPoolId, stakeAccount, import_utils8.SUI_CLOCK_OBJECT_ID],
3264
+ [stakePoolId, rewardPoolId, stakeAccount, import_utils9.SUI_CLOCK_OBJECT_ID],
3199
3265
  [marketCoinType, rewardCoinType]
3200
3266
  );
3201
3267
  }
@@ -3335,7 +3401,7 @@ var ScallopBuilder = class {
3335
3401
  address: this.address,
3336
3402
  query: this.query
3337
3403
  });
3338
- this.walletAddress = (0, import_utils9.normalizeSuiAddress)(
3404
+ this.walletAddress = (0, import_utils10.normalizeSuiAddress)(
3339
3405
  params?.walletAddress || this.suiKit.currentAddress()
3340
3406
  );
3341
3407
  this.isTestnet = params.networkType ? params.networkType === "testnet" : false;
@@ -3431,7 +3497,7 @@ var ScallopClient = class {
3431
3497
  query: this.query,
3432
3498
  utils: this.utils
3433
3499
  });
3434
- this.walletAddress = (0, import_utils10.normalizeSuiAddress)(
3500
+ this.walletAddress = (0, import_utils11.normalizeSuiAddress)(
3435
3501
  params?.walletAddress || this.suiKit.currentAddress()
3436
3502
  );
3437
3503
  }
@@ -3938,8 +4004,10 @@ var Scallop = class {
3938
4004
  ScallopUtils,
3939
4005
  assetCoins,
3940
4006
  coinDecimals,
4007
+ coinIds,
3941
4008
  marketCoins,
3942
4009
  rewardCoins,
3943
- stakeMarketCoins
4010
+ stakeMarketCoins,
4011
+ wormholeCoinIds
3944
4012
  });
3945
4013
  //# sourceMappingURL=index.js.map