@scallop-io/sui-scallop-sdk 0.42.6 → 0.42.8
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/constants/enum.d.ts +3 -1
- package/dist/index.js +183 -109
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +153 -81
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopUtils.d.ts +1 -0
- package/dist/types/constant/enum.d.ts +8 -0
- package/dist/types/query/core.d.ts +2 -2
- package/dist/types/query/portfolio.d.ts +53 -36
- package/dist/types/query/spool.d.ts +3 -3
- package/dist/utils/query.d.ts +3 -0
- package/package.json +1 -1
- package/src/constants/enum.ts +22 -0
- package/src/models/scallopUtils.ts +36 -13
- package/src/queries/coreQuery.ts +4 -0
- package/src/queries/portfolioQuery.ts +115 -68
- package/src/queries/spoolQuery.ts +2 -2
- package/src/types/constant/enum.ts +13 -0
- package/src/types/query/core.ts +3 -1
- package/src/types/query/portfolio.ts +56 -45
- package/src/types/query/spool.ts +3 -3
- package/src/utils/query.ts +22 -6
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
|
|
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
|
|
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
|
|
|
@@ -691,12 +711,12 @@ var calculateMarketPoolData = (utils, parsedMarketPoolData) => {
|
|
|
691
711
|
parsedMarketPoolData.debtAmount
|
|
692
712
|
);
|
|
693
713
|
const borrowCoin = borrowAmount.shiftedBy(-1 * coinDecimal);
|
|
694
|
-
const
|
|
714
|
+
const reserveAmount = (0, import_bignumber.default)(parsedMarketPoolData.reserveAmount).plus(
|
|
695
715
|
increasedDebtAmount.multipliedBy(parsedMarketPoolData.reserveFactor)
|
|
696
716
|
);
|
|
697
|
-
const reserveCoin =
|
|
717
|
+
const reserveCoin = reserveAmount.shiftedBy(-1 * coinDecimal);
|
|
698
718
|
const supplyAmount = (0, import_bignumber.default)(borrowAmount).plus(
|
|
699
|
-
Math.max(parsedMarketPoolData.cashAmount -
|
|
719
|
+
Math.max(parsedMarketPoolData.cashAmount - reserveAmount.toNumber(), 0)
|
|
700
720
|
);
|
|
701
721
|
const supplyCoin = supplyAmount.shiftedBy(-1 * coinDecimal);
|
|
702
722
|
let utilizationRate = (0, import_bignumber.default)(borrowAmount).dividedBy(supplyAmount);
|
|
@@ -727,7 +747,7 @@ var calculateMarketPoolData = (utils, parsedMarketPoolData) => {
|
|
|
727
747
|
supplyCoin: supplyCoin.toNumber(),
|
|
728
748
|
borrowAmount: borrowAmount.toNumber(),
|
|
729
749
|
borrowCoin: borrowCoin.toNumber(),
|
|
730
|
-
reserveAmount:
|
|
750
|
+
reserveAmount: reserveAmount.toNumber(),
|
|
731
751
|
reserveCoin: reserveCoin.toNumber(),
|
|
732
752
|
utilizationRate: utilizationRate.toNumber(),
|
|
733
753
|
supplyApr: supplyApr.toNumber(),
|
|
@@ -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
|
|
874
|
+
const rewardRate = rewardValueForYear.dividedBy(calculatedStakePoolData.stakedValue).isFinite() ? rewardValueForYear.dividedBy(calculatedStakePoolData.stakedValue).toNumber() : Infinity;
|
|
855
875
|
return {
|
|
856
|
-
|
|
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,
|
|
@@ -1499,8 +1530,8 @@ var getSpool = async (query, stakeMarketCoinName, marketPool) => {
|
|
|
1499
1530
|
rewardCoinDecimal
|
|
1500
1531
|
);
|
|
1501
1532
|
spool = {
|
|
1502
|
-
|
|
1503
|
-
symbol: query.utils.parseSymbol(
|
|
1533
|
+
marketCoinName: stakeMarketCoinName,
|
|
1534
|
+
symbol: query.utils.parseSymbol(stakeMarketCoinName),
|
|
1504
1535
|
coinType: query.utils.parseCoinType(stakeCoinName),
|
|
1505
1536
|
marketCoinType: query.utils.parseMarketCoinType(stakeCoinName),
|
|
1506
1537
|
rewardCoinType: isMarketCoin(rewardCoin) ? query.utils.parseMarketCoinType(rewardCoin) : query.utils.parseCoinType(rewardCoin),
|
|
@@ -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?.
|
|
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
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
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
|
-
|
|
1896
|
+
availableUnstakeCoin: availableUnstakeCoin.toNumber(),
|
|
1897
|
+
availableClaimAmount: availableClaimAmount.toNumber(),
|
|
1898
|
+
availableClaimCoin: availableClaimCoin.toNumber()
|
|
1842
1899
|
};
|
|
1843
1900
|
return lending;
|
|
1844
1901
|
};
|
|
@@ -1875,13 +1932,13 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
|
|
|
1875
1932
|
coinAmounts = coinAmounts || await query.getCoinAmounts(assetCoinNames, ownerAddress);
|
|
1876
1933
|
const collaterals = {};
|
|
1877
1934
|
const debts = {};
|
|
1878
|
-
let
|
|
1879
|
-
let
|
|
1935
|
+
let totalDepositedPools = 0;
|
|
1936
|
+
let totalDepositedValue = (0, import_bignumber3.default)(0);
|
|
1880
1937
|
let totalBorrowCapacityValue = (0, import_bignumber3.default)(0);
|
|
1881
1938
|
let totalRequiredCollateralValue = (0, import_bignumber3.default)(0);
|
|
1882
|
-
let
|
|
1883
|
-
let
|
|
1884
|
-
let
|
|
1939
|
+
let totalBorrowedPools = 0;
|
|
1940
|
+
let totalBorrowedValue = (0, import_bignumber3.default)(0);
|
|
1941
|
+
let totalBorrowedValueWithWeight = (0, import_bignumber3.default)(0);
|
|
1885
1942
|
for (const collateral of obligationQuery.collaterals) {
|
|
1886
1943
|
const collateralCoinName = query.utils.parseCoinNameFromType(
|
|
1887
1944
|
collateral.type.name
|
|
@@ -1891,33 +1948,36 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
|
|
|
1891
1948
|
const coinPrice = coinPrices?.[collateralCoinName];
|
|
1892
1949
|
const coinAmount = coinAmounts?.[collateralCoinName] ?? 0;
|
|
1893
1950
|
if (marketCollateral && coinPrice) {
|
|
1894
|
-
const
|
|
1895
|
-
const
|
|
1896
|
-
const
|
|
1897
|
-
const borrowCapacityValue =
|
|
1951
|
+
const depositedAmount = (0, import_bignumber3.default)(collateral.amount);
|
|
1952
|
+
const depositedCoin = depositedAmount.shiftedBy(-1 * coinDecimal);
|
|
1953
|
+
const depositedValue = depositedCoin.multipliedBy(coinPrice);
|
|
1954
|
+
const borrowCapacityValue = depositedValue.multipliedBy(
|
|
1898
1955
|
marketCollateral.collateralFactor
|
|
1899
1956
|
);
|
|
1900
|
-
const requiredCollateralValue2 =
|
|
1957
|
+
const requiredCollateralValue2 = depositedValue.multipliedBy(
|
|
1901
1958
|
marketCollateral.liquidationFactor
|
|
1902
1959
|
);
|
|
1903
1960
|
const availableDepositAmount = (0, import_bignumber3.default)(coinAmount);
|
|
1904
1961
|
const availableDepositCoin = availableDepositAmount.shiftedBy(
|
|
1905
1962
|
-1 * coinDecimal
|
|
1906
1963
|
);
|
|
1907
|
-
|
|
1964
|
+
totalDepositedValue = totalDepositedValue.plus(depositedValue);
|
|
1908
1965
|
totalBorrowCapacityValue = totalBorrowCapacityValue.plus(borrowCapacityValue);
|
|
1909
1966
|
totalRequiredCollateralValue = totalRequiredCollateralValue.plus(
|
|
1910
1967
|
requiredCollateralValue2
|
|
1911
1968
|
);
|
|
1912
|
-
if (
|
|
1913
|
-
|
|
1969
|
+
if (depositedAmount.isGreaterThan(0)) {
|
|
1970
|
+
totalDepositedPools++;
|
|
1914
1971
|
}
|
|
1915
1972
|
collaterals[collateralCoinName] = {
|
|
1916
1973
|
coinName: collateralCoinName,
|
|
1917
1974
|
coinType: collateral.type.name,
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1975
|
+
symbol: query.utils.parseSymbol(collateralCoinName),
|
|
1976
|
+
coinDecimal,
|
|
1977
|
+
coinPrice,
|
|
1978
|
+
depositedAmount: depositedAmount.toNumber(),
|
|
1979
|
+
depositedCoin: depositedCoin.toNumber(),
|
|
1980
|
+
depositedValue: depositedValue.toNumber(),
|
|
1921
1981
|
borrowCapacityValue: borrowCapacityValue.toNumber(),
|
|
1922
1982
|
requiredCollateralValue: requiredCollateralValue2.toNumber(),
|
|
1923
1983
|
availableDepositAmount: availableDepositAmount.toNumber(),
|
|
@@ -1936,28 +1996,35 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
|
|
|
1936
1996
|
const coinPrice = coinPrices?.[poolCoinName];
|
|
1937
1997
|
if (marketPool && coinPrice) {
|
|
1938
1998
|
const increasedRate = marketPool.borrowIndex / Number(debt.borrowIndex) - 1;
|
|
1939
|
-
const
|
|
1940
|
-
const
|
|
1941
|
-
const availableRepayAmount =
|
|
1999
|
+
const borrowedAmount = (0, import_bignumber3.default)(debt.amount);
|
|
2000
|
+
const borrowedCoin = borrowedAmount.shiftedBy(-1 * coinDecimal);
|
|
2001
|
+
const availableRepayAmount = borrowedAmount.multipliedBy(
|
|
2002
|
+
increasedRate + 1
|
|
2003
|
+
);
|
|
1942
2004
|
const availableRepayCoin = availableRepayAmount.shiftedBy(
|
|
1943
2005
|
-1 * coinDecimal
|
|
1944
2006
|
);
|
|
1945
|
-
const
|
|
1946
|
-
const
|
|
2007
|
+
const borrowedValue = availableRepayCoin.multipliedBy(coinPrice);
|
|
2008
|
+
const borrowedValueWithWeight = borrowedValue.multipliedBy(
|
|
1947
2009
|
marketPool.borrowWeight
|
|
1948
2010
|
);
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
2011
|
+
totalBorrowedValue = totalBorrowedValue.plus(borrowedValue);
|
|
2012
|
+
totalBorrowedValueWithWeight = totalBorrowedValueWithWeight.plus(
|
|
2013
|
+
borrowedValueWithWeight
|
|
2014
|
+
);
|
|
2015
|
+
if (borrowedAmount.isGreaterThan(0)) {
|
|
2016
|
+
totalBorrowedPools++;
|
|
1953
2017
|
}
|
|
1954
2018
|
debts[poolCoinName] = {
|
|
1955
2019
|
coinName: poolCoinName,
|
|
1956
2020
|
coinType: debt.type.name,
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
2021
|
+
symbol: query.utils.parseSymbol(poolCoinName),
|
|
2022
|
+
coinDecimal,
|
|
2023
|
+
coinPrice,
|
|
2024
|
+
borrowedAmount: borrowedAmount.toNumber(),
|
|
2025
|
+
borrowedCoin: borrowedCoin.toNumber(),
|
|
2026
|
+
borrowedValue: borrowedValue.toNumber(),
|
|
2027
|
+
borrowedValueWithWeight: borrowedValueWithWeight.toNumber(),
|
|
1961
2028
|
borrowIndex: Number(debt.borrowIndex),
|
|
1962
2029
|
availableBorrowAmount: 0,
|
|
1963
2030
|
availableBorrowCoin: 0,
|
|
@@ -1966,33 +2033,33 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
|
|
|
1966
2033
|
};
|
|
1967
2034
|
}
|
|
1968
2035
|
}
|
|
1969
|
-
let riskLevel = totalRequiredCollateralValue.isZero() &&
|
|
2036
|
+
let riskLevel = totalRequiredCollateralValue.isZero() && totalBorrowedValueWithWeight.isZero() ? (0, import_bignumber3.default)(0) : totalBorrowedValueWithWeight.dividedBy(totalRequiredCollateralValue);
|
|
1970
2037
|
riskLevel = riskLevel.isFinite() ? riskLevel.isLessThan(1) ? riskLevel : (0, import_bignumber3.default)(1) : (0, import_bignumber3.default)(1);
|
|
1971
|
-
const accountBalanceValue =
|
|
1972
|
-
const availableCollateralValue = totalBorrowCapacityValue.minus(
|
|
1973
|
-
const requiredCollateralValue =
|
|
1974
|
-
const unhealthyCollateralValue =
|
|
2038
|
+
const accountBalanceValue = totalDepositedValue.minus(totalBorrowedValue).isGreaterThan(0) ? totalDepositedValue.minus(totalBorrowedValue) : (0, import_bignumber3.default)(0);
|
|
2039
|
+
const availableCollateralValue = totalBorrowCapacityValue.minus(totalBorrowedValueWithWeight).isGreaterThan(0) ? totalBorrowCapacityValue.minus(totalBorrowedValueWithWeight) : (0, import_bignumber3.default)(0);
|
|
2040
|
+
const requiredCollateralValue = totalBorrowedValueWithWeight.isGreaterThan(0) ? totalRequiredCollateralValue : (0, import_bignumber3.default)(0);
|
|
2041
|
+
const unhealthyCollateralValue = totalBorrowedValueWithWeight.minus(requiredCollateralValue).isGreaterThan(0) ? totalBorrowedValueWithWeight.minus(requiredCollateralValue) : (0, import_bignumber3.default)(0);
|
|
1975
2042
|
const obligationAccount = {
|
|
1976
2043
|
obligationId,
|
|
1977
2044
|
// Deposited collateral value (collateral balance)
|
|
1978
|
-
|
|
2045
|
+
totalDepositedValue: totalDepositedValue.toNumber(),
|
|
1979
2046
|
// Borrowed debt value (liabilities balance)
|
|
1980
|
-
|
|
2047
|
+
totalBorrowedValue: totalBorrowedValue.toNumber(),
|
|
1981
2048
|
// The difference between the user’s actual deposit and loan (remaining balance)
|
|
1982
2049
|
totalBalanceValue: accountBalanceValue.toNumber(),
|
|
1983
2050
|
// Effective collateral value (the actual collateral value included in the calculation).
|
|
1984
2051
|
totalBorrowCapacityValue: totalBorrowCapacityValue.toNumber(),
|
|
1985
2052
|
// Available collateral value (the remaining collateral value that can be borrowed).
|
|
1986
|
-
|
|
2053
|
+
totalAvailableCollateralValue: availableCollateralValue.toNumber(),
|
|
1987
2054
|
// Available debt value (the actual borrowing value included in the calculation).
|
|
1988
|
-
|
|
2055
|
+
totalBorrowedValueWithWeight: totalBorrowedValueWithWeight.toNumber(),
|
|
1989
2056
|
// Required collateral value (avoid be liquidated).
|
|
1990
|
-
|
|
2057
|
+
totalRequiredCollateralValue: requiredCollateralValue.toNumber(),
|
|
1991
2058
|
// Unliquidated collateral value (pending liquidation).
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
2059
|
+
totalUnhealthyCollateralValue: unhealthyCollateralValue.toNumber(),
|
|
2060
|
+
totalRiskLevel: riskLevel.toNumber(),
|
|
2061
|
+
totalDepositedPools,
|
|
2062
|
+
totalBorrowedPools,
|
|
1996
2063
|
collaterals,
|
|
1997
2064
|
debts
|
|
1998
2065
|
};
|
|
@@ -2001,13 +2068,13 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
|
|
|
2001
2068
|
)) {
|
|
2002
2069
|
const marketCollateral = market.collaterals[collateralCoinName];
|
|
2003
2070
|
if (marketCollateral) {
|
|
2004
|
-
const availableWithdrawAmount = obligationAccount.
|
|
2005
|
-
(0, import_bignumber3.default)(obligationAccount.
|
|
2006
|
-
obligationCollateral.
|
|
2071
|
+
const availableWithdrawAmount = obligationAccount.totalBorrowedValueWithWeight === 0 ? (0, import_bignumber3.default)(obligationCollateral.depositedAmount) : minBigNumber(
|
|
2072
|
+
(0, import_bignumber3.default)(obligationAccount.totalAvailableCollateralValue).dividedBy(marketCollateral.collateralFactor).dividedBy(marketCollateral.coinPrice).multipliedBy(0.99).toNumber(),
|
|
2073
|
+
obligationCollateral.depositedAmount,
|
|
2007
2074
|
marketCollateral.depositAmount
|
|
2008
2075
|
);
|
|
2009
|
-
obligationCollateral.availableWithdrawAmount = availableWithdrawAmount;
|
|
2010
|
-
obligationCollateral.availableWithdrawCoin = availableWithdrawAmount;
|
|
2076
|
+
obligationCollateral.availableWithdrawAmount = availableWithdrawAmount.toNumber();
|
|
2077
|
+
obligationCollateral.availableWithdrawCoin = availableWithdrawAmount.shiftedBy(-1 * obligationCollateral.coinDecimal).toNumber();
|
|
2011
2078
|
}
|
|
2012
2079
|
}
|
|
2013
2080
|
for (const [assetCoinName, obligationDebt] of Object.entries(
|
|
@@ -2017,17 +2084,19 @@ var getObligationAccount = async (query, obligationId, ownerAddress, market, coi
|
|
|
2017
2084
|
if (marketPool) {
|
|
2018
2085
|
const availableRepayAmount = (0, import_bignumber3.default)(
|
|
2019
2086
|
obligationDebt.availableRepayAmount
|
|
2020
|
-
).multipliedBy(1.01)
|
|
2021
|
-
const availableBorrowAmount = obligationAccount.
|
|
2022
|
-
(0, import_bignumber3.default)(obligationAccount.
|
|
2087
|
+
).multipliedBy(1.01);
|
|
2088
|
+
const availableBorrowAmount = obligationAccount.totalAvailableCollateralValue !== 0 ? minBigNumber(
|
|
2089
|
+
(0, import_bignumber3.default)(obligationAccount.totalAvailableCollateralValue).dividedBy(
|
|
2023
2090
|
(0, import_bignumber3.default)(marketPool.coinPrice).multipliedBy(
|
|
2024
2091
|
marketPool.borrowWeight
|
|
2025
2092
|
)
|
|
2026
2093
|
).multipliedBy(0.99).toNumber(),
|
|
2027
2094
|
marketPool.supplyAmount
|
|
2028
|
-
) : 0;
|
|
2029
|
-
obligationDebt.availableBorrowAmount = availableBorrowAmount;
|
|
2030
|
-
obligationDebt.
|
|
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();
|
|
2031
2100
|
}
|
|
2032
2101
|
}
|
|
2033
2102
|
return obligationAccount;
|
|
@@ -2429,16 +2498,19 @@ var ScallopUtils = class {
|
|
|
2429
2498
|
*/
|
|
2430
2499
|
parseCoinType(coinName) {
|
|
2431
2500
|
coinName = isMarketCoin(coinName) ? this.parseCoinName(coinName) : coinName;
|
|
2432
|
-
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
|
+
}
|
|
2433
2505
|
if (coinName === "sui")
|
|
2434
|
-
return (0,
|
|
2506
|
+
return (0, import_utils5.normalizeStructTag)(`${coinPackageId}::sui::SUI`);
|
|
2435
2507
|
const wormHoleCoinIds = [
|
|
2436
|
-
this._address.get("core.coins.usdc.id"),
|
|
2437
|
-
this._address.get("core.coins.usdt.id"),
|
|
2438
|
-
this._address.get("core.coins.eth.id"),
|
|
2439
|
-
this._address.get("core.coins.btc.id"),
|
|
2440
|
-
this._address.get("core.coins.sol.id"),
|
|
2441
|
-
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
|
|
2442
2514
|
];
|
|
2443
2515
|
if (wormHoleCoinIds.includes(coinPackageId)) {
|
|
2444
2516
|
return `${coinPackageId}::coin::COIN`;
|
|
@@ -2458,18 +2530,18 @@ var ScallopUtils = class {
|
|
|
2458
2530
|
return `${PROTOCOL_OBJECT_ID}::reserve::MarketCoin<${coinType}>`;
|
|
2459
2531
|
}
|
|
2460
2532
|
parseCoinNameFromType(coinType) {
|
|
2461
|
-
coinType = (0,
|
|
2533
|
+
coinType = (0, import_utils5.normalizeStructTag)(coinType);
|
|
2462
2534
|
const coinTypeRegex = new RegExp(`((0x[^:]+::[^:]+::[^<>]+))(?![^<>]*<)`);
|
|
2463
2535
|
const coinTypeMatch = coinType.match(coinTypeRegex);
|
|
2464
2536
|
const isMarketCoinType = coinType.includes("reserve::MarketCoin");
|
|
2465
2537
|
coinType = coinTypeMatch?.[1] || coinType;
|
|
2466
2538
|
const wormHoleCoinTypeMap = {
|
|
2467
|
-
[`${this._address.get("core.coins.usdc.id")}::coin::COIN`]: "usdc",
|
|
2468
|
-
[`${this._address.get("core.coins.usdt.id")}::coin::COIN`]: "usdt",
|
|
2469
|
-
[`${this._address.get("core.coins.eth.id")}::coin::COIN`]: "eth",
|
|
2470
|
-
[`${this._address.get("core.coins.btc.id")}::coin::COIN`]: "btc",
|
|
2471
|
-
[`${this._address.get("core.coins.sol.id")}::coin::COIN`]: "sol",
|
|
2472
|
-
[`${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"
|
|
2473
2545
|
};
|
|
2474
2546
|
const assetCoinName = wormHoleCoinTypeMap[coinType] || coinType.split("::")[2].toLowerCase();
|
|
2475
2547
|
return isMarketCoinType ? this.parseMarketCoinName(assetCoinName) : assetCoinName;
|
|
@@ -2519,7 +2591,7 @@ var ScallopUtils = class {
|
|
|
2519
2591
|
* @param coinType - The coin type, default is 0x2::SUI::SUI.
|
|
2520
2592
|
* @return The selected transaction coin arguments.
|
|
2521
2593
|
*/
|
|
2522
|
-
async selectCoinIds(amount, coinType =
|
|
2594
|
+
async selectCoinIds(amount, coinType = import_utils5.SUI_TYPE_ARG, ownerAddress) {
|
|
2523
2595
|
ownerAddress = ownerAddress || this._suiKit.currentAddress();
|
|
2524
2596
|
const coins = await this._suiKit.suiInteractor.selectCoins(
|
|
2525
2597
|
ownerAddress,
|
|
@@ -2638,16 +2710,16 @@ var ScallopUtils = class {
|
|
|
2638
2710
|
};
|
|
2639
2711
|
|
|
2640
2712
|
// src/models/scallopBuilder.ts
|
|
2641
|
-
var
|
|
2713
|
+
var import_utils10 = require("@mysten/sui.js/utils");
|
|
2642
2714
|
var import_sui_kit6 = require("@scallop-io/sui-kit");
|
|
2643
2715
|
|
|
2644
2716
|
// src/builders/coreBuilder.ts
|
|
2645
2717
|
var import_transactions = require("@mysten/sui.js/transactions");
|
|
2646
|
-
var
|
|
2718
|
+
var import_utils8 = require("@mysten/sui.js/utils");
|
|
2647
2719
|
var import_sui_kit4 = require("@scallop-io/sui-kit");
|
|
2648
2720
|
|
|
2649
2721
|
// src/builders/oracle.ts
|
|
2650
|
-
var
|
|
2722
|
+
var import_utils7 = require("@mysten/sui.js/utils");
|
|
2651
2723
|
var import_pyth_sui_js2 = require("@pythnetwork/pyth-sui-js");
|
|
2652
2724
|
var updateOracles = async (builder, txBlock, assetCoinNames) => {
|
|
2653
2725
|
assetCoinNames = assetCoinNames ?? [
|
|
@@ -2753,27 +2825,27 @@ var priceUpdateRequest = (txBlock, packageId, xOracleId, coinType) => {
|
|
|
2753
2825
|
var confirmPriceUpdateRequest = (txBlock, packageId, xOracleId, request, coinType) => {
|
|
2754
2826
|
const target = `${packageId}::x_oracle::confirm_price_update_request`;
|
|
2755
2827
|
const typeArgs = [coinType];
|
|
2756
|
-
txBlock.moveCall(target, [xOracleId, request,
|
|
2828
|
+
txBlock.moveCall(target, [xOracleId, request, import_utils7.SUI_CLOCK_OBJECT_ID], typeArgs);
|
|
2757
2829
|
return txBlock;
|
|
2758
2830
|
};
|
|
2759
2831
|
var updateSupraPrice = (txBlock, packageId, request, holderId, registryId, coinType) => {
|
|
2760
2832
|
txBlock.moveCall(
|
|
2761
2833
|
`${packageId}::rule::set_price`,
|
|
2762
|
-
[request, holderId, registryId,
|
|
2834
|
+
[request, holderId, registryId, import_utils7.SUI_CLOCK_OBJECT_ID],
|
|
2763
2835
|
[coinType]
|
|
2764
2836
|
);
|
|
2765
2837
|
};
|
|
2766
2838
|
var updateSwitchboardPrice = (txBlock, packageId, request, aggregatorId, registryId, coinType) => {
|
|
2767
2839
|
txBlock.moveCall(
|
|
2768
2840
|
`${packageId}::rule::set_price`,
|
|
2769
|
-
[request, aggregatorId, registryId,
|
|
2841
|
+
[request, aggregatorId, registryId, import_utils7.SUI_CLOCK_OBJECT_ID],
|
|
2770
2842
|
[coinType]
|
|
2771
2843
|
);
|
|
2772
2844
|
};
|
|
2773
2845
|
var updatePythPrice = (txBlock, packageId, request, stateId, feedObjectId, registryId, coinType) => {
|
|
2774
2846
|
txBlock.moveCall(
|
|
2775
2847
|
`${packageId}::rule::set_price`,
|
|
2776
|
-
[request, stateId, feedObjectId, registryId,
|
|
2848
|
+
[request, stateId, feedObjectId, registryId, import_utils7.SUI_CLOCK_OBJECT_ID],
|
|
2777
2849
|
[coinType]
|
|
2778
2850
|
);
|
|
2779
2851
|
};
|
|
@@ -2846,7 +2918,7 @@ var generateCoreNormalMethod = ({
|
|
|
2846
2918
|
coreIds.coinDecimalsRegistry,
|
|
2847
2919
|
amount,
|
|
2848
2920
|
coreIds.xOracle,
|
|
2849
|
-
|
|
2921
|
+
import_utils8.SUI_CLOCK_OBJECT_ID
|
|
2850
2922
|
],
|
|
2851
2923
|
[coinType]
|
|
2852
2924
|
);
|
|
@@ -2855,7 +2927,7 @@ var generateCoreNormalMethod = ({
|
|
|
2855
2927
|
const coinType = builder.utils.parseCoinType(poolCoinName);
|
|
2856
2928
|
return txBlock.moveCall(
|
|
2857
2929
|
`${coreIds.protocolPkg}::mint::mint`,
|
|
2858
|
-
[coreIds.version, coreIds.market, coin,
|
|
2930
|
+
[coreIds.version, coreIds.market, coin, import_utils8.SUI_CLOCK_OBJECT_ID],
|
|
2859
2931
|
[coinType]
|
|
2860
2932
|
);
|
|
2861
2933
|
},
|
|
@@ -2863,7 +2935,7 @@ var generateCoreNormalMethod = ({
|
|
|
2863
2935
|
const coinType = builder.utils.parseCoinType(poolCoinName);
|
|
2864
2936
|
return txBlock.moveCall(
|
|
2865
2937
|
`${coreIds.protocolPkg}::mint::mint_entry`,
|
|
2866
|
-
[coreIds.version, coreIds.market, coin,
|
|
2938
|
+
[coreIds.version, coreIds.market, coin, import_utils8.SUI_CLOCK_OBJECT_ID],
|
|
2867
2939
|
[coinType]
|
|
2868
2940
|
);
|
|
2869
2941
|
},
|
|
@@ -2871,7 +2943,7 @@ var generateCoreNormalMethod = ({
|
|
|
2871
2943
|
const coinType = builder.utils.parseCoinType(poolCoinName);
|
|
2872
2944
|
return txBlock.moveCall(
|
|
2873
2945
|
`${coreIds.protocolPkg}::redeem::redeem`,
|
|
2874
|
-
[coreIds.version, coreIds.market, marketCoin,
|
|
2946
|
+
[coreIds.version, coreIds.market, marketCoin, import_utils8.SUI_CLOCK_OBJECT_ID],
|
|
2875
2947
|
[coinType]
|
|
2876
2948
|
);
|
|
2877
2949
|
},
|
|
@@ -2879,7 +2951,7 @@ var generateCoreNormalMethod = ({
|
|
|
2879
2951
|
const coinType = builder.utils.parseCoinType(poolCoinName);
|
|
2880
2952
|
return txBlock.moveCall(
|
|
2881
2953
|
`${coreIds.protocolPkg}::redeem::redeem_entry`,
|
|
2882
|
-
[coreIds.version, coreIds.market, marketCoin,
|
|
2954
|
+
[coreIds.version, coreIds.market, marketCoin, import_utils8.SUI_CLOCK_OBJECT_ID],
|
|
2883
2955
|
[coinType]
|
|
2884
2956
|
);
|
|
2885
2957
|
},
|
|
@@ -2895,7 +2967,7 @@ var generateCoreNormalMethod = ({
|
|
|
2895
2967
|
coreIds.coinDecimalsRegistry,
|
|
2896
2968
|
amount,
|
|
2897
2969
|
coreIds.xOracle,
|
|
2898
|
-
|
|
2970
|
+
import_utils8.SUI_CLOCK_OBJECT_ID
|
|
2899
2971
|
],
|
|
2900
2972
|
[coinType]
|
|
2901
2973
|
);
|
|
@@ -2912,7 +2984,7 @@ var generateCoreNormalMethod = ({
|
|
|
2912
2984
|
coreIds.coinDecimalsRegistry,
|
|
2913
2985
|
amount,
|
|
2914
2986
|
coreIds.xOracle,
|
|
2915
|
-
|
|
2987
|
+
import_utils8.SUI_CLOCK_OBJECT_ID
|
|
2916
2988
|
],
|
|
2917
2989
|
[coinType]
|
|
2918
2990
|
);
|
|
@@ -2926,7 +2998,7 @@ var generateCoreNormalMethod = ({
|
|
|
2926
2998
|
obligation,
|
|
2927
2999
|
coreIds.market,
|
|
2928
3000
|
coin,
|
|
2929
|
-
|
|
3001
|
+
import_utils8.SUI_CLOCK_OBJECT_ID
|
|
2930
3002
|
],
|
|
2931
3003
|
[coinType]
|
|
2932
3004
|
);
|
|
@@ -3104,7 +3176,7 @@ var newCoreTxBlock = (builder, initTxBlock) => {
|
|
|
3104
3176
|
|
|
3105
3177
|
// src/builders/spoolBuilder.ts
|
|
3106
3178
|
var import_transactions2 = require("@mysten/sui.js/transactions");
|
|
3107
|
-
var
|
|
3179
|
+
var import_utils9 = require("@mysten/sui.js/utils");
|
|
3108
3180
|
var import_sui_kit5 = require("@scallop-io/sui-kit");
|
|
3109
3181
|
var requireSender2 = (txBlock) => {
|
|
3110
3182
|
const sender = txBlock.blockData.sender;
|
|
@@ -3151,7 +3223,7 @@ var generateSpoolNormalMethod = ({
|
|
|
3151
3223
|
);
|
|
3152
3224
|
return txBlock.moveCall(
|
|
3153
3225
|
`${spoolIds.spoolPkg}::user::new_spool_account`,
|
|
3154
|
-
[stakePoolId,
|
|
3226
|
+
[stakePoolId, import_utils9.SUI_CLOCK_OBJECT_ID],
|
|
3155
3227
|
[marketCoinType]
|
|
3156
3228
|
);
|
|
3157
3229
|
},
|
|
@@ -3162,7 +3234,7 @@ var generateSpoolNormalMethod = ({
|
|
|
3162
3234
|
);
|
|
3163
3235
|
txBlock.moveCall(
|
|
3164
3236
|
`${spoolIds.spoolPkg}::user::stake`,
|
|
3165
|
-
[stakePoolId, stakeAccount, coin,
|
|
3237
|
+
[stakePoolId, stakeAccount, coin, import_utils9.SUI_CLOCK_OBJECT_ID],
|
|
3166
3238
|
[marketCoinType]
|
|
3167
3239
|
);
|
|
3168
3240
|
},
|
|
@@ -3173,7 +3245,7 @@ var generateSpoolNormalMethod = ({
|
|
|
3173
3245
|
);
|
|
3174
3246
|
return txBlock.moveCall(
|
|
3175
3247
|
`${spoolIds.spoolPkg}::user::unstake`,
|
|
3176
|
-
[stakePoolId, stakeAccount, amount,
|
|
3248
|
+
[stakePoolId, stakeAccount, amount, import_utils9.SUI_CLOCK_OBJECT_ID],
|
|
3177
3249
|
[marketCoinType]
|
|
3178
3250
|
);
|
|
3179
3251
|
},
|
|
@@ -3189,7 +3261,7 @@ var generateSpoolNormalMethod = ({
|
|
|
3189
3261
|
const rewardCoinType = builder.utils.parseCoinType(rewardCoinName);
|
|
3190
3262
|
return txBlock.moveCall(
|
|
3191
3263
|
`${spoolIds.spoolPkg}::user::redeem_rewards`,
|
|
3192
|
-
[stakePoolId, rewardPoolId, stakeAccount,
|
|
3264
|
+
[stakePoolId, rewardPoolId, stakeAccount, import_utils9.SUI_CLOCK_OBJECT_ID],
|
|
3193
3265
|
[marketCoinType, rewardCoinType]
|
|
3194
3266
|
);
|
|
3195
3267
|
}
|
|
@@ -3329,7 +3401,7 @@ var ScallopBuilder = class {
|
|
|
3329
3401
|
address: this.address,
|
|
3330
3402
|
query: this.query
|
|
3331
3403
|
});
|
|
3332
|
-
this.walletAddress = (0,
|
|
3404
|
+
this.walletAddress = (0, import_utils10.normalizeSuiAddress)(
|
|
3333
3405
|
params?.walletAddress || this.suiKit.currentAddress()
|
|
3334
3406
|
);
|
|
3335
3407
|
this.isTestnet = params.networkType ? params.networkType === "testnet" : false;
|
|
@@ -3425,7 +3497,7 @@ var ScallopClient = class {
|
|
|
3425
3497
|
query: this.query,
|
|
3426
3498
|
utils: this.utils
|
|
3427
3499
|
});
|
|
3428
|
-
this.walletAddress = (0,
|
|
3500
|
+
this.walletAddress = (0, import_utils11.normalizeSuiAddress)(
|
|
3429
3501
|
params?.walletAddress || this.suiKit.currentAddress()
|
|
3430
3502
|
);
|
|
3431
3503
|
}
|
|
@@ -3932,8 +4004,10 @@ var Scallop = class {
|
|
|
3932
4004
|
ScallopUtils,
|
|
3933
4005
|
assetCoins,
|
|
3934
4006
|
coinDecimals,
|
|
4007
|
+
coinIds,
|
|
3935
4008
|
marketCoins,
|
|
3936
4009
|
rewardCoins,
|
|
3937
|
-
stakeMarketCoins
|
|
4010
|
+
stakeMarketCoins,
|
|
4011
|
+
wormholeCoinIds
|
|
3938
4012
|
});
|
|
3939
4013
|
//# sourceMappingURL=index.js.map
|