@0dotxyz/p0-ts-sdk 2.7.1-alpha.0 → 2.7.1-alpha.1
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/index.cjs +86 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +50 -6
- package/dist/index.d.ts +50 -6
- package/dist/index.js +85 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -27746,6 +27746,11 @@ var klendInstructions = {
|
|
|
27746
27746
|
};
|
|
27747
27747
|
var instructions_default2 = klendInstructions;
|
|
27748
27748
|
|
|
27749
|
+
// src/vendor/drift/types/drift-spot-market/drift-spot-market.types.ts
|
|
27750
|
+
function isSpotBalanceTypeVariant(value, variant) {
|
|
27751
|
+
return value === variant;
|
|
27752
|
+
}
|
|
27753
|
+
|
|
27749
27754
|
// src/vendor/drift/idl/drift.json
|
|
27750
27755
|
var drift_default = {
|
|
27751
27756
|
address: "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH",
|
|
@@ -42111,6 +42116,34 @@ function deriveDriftSpotMarketVault(marketIndex, programId = DRIFT_PROGRAM_ID) {
|
|
|
42111
42116
|
programId
|
|
42112
42117
|
);
|
|
42113
42118
|
}
|
|
42119
|
+
var ZERO = new BN9__default.default(0);
|
|
42120
|
+
var ONE = new BN9__default.default(1);
|
|
42121
|
+
var TEN = new BN9__default.default(10);
|
|
42122
|
+
var PERCENTAGE_PRECISION_EXP = new BN9__default.default(6);
|
|
42123
|
+
new BN9__default.default(10).pow(PERCENTAGE_PRECISION_EXP);
|
|
42124
|
+
var SPOT_MARKET_RATE_PRECISION_EXP = new BN9__default.default(6);
|
|
42125
|
+
new BN9__default.default(10).pow(SPOT_MARKET_RATE_PRECISION_EXP);
|
|
42126
|
+
var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new BN9__default.default(6);
|
|
42127
|
+
new BN9__default.default(10).pow(
|
|
42128
|
+
SPOT_MARKET_UTILIZATION_PRECISION_EXP
|
|
42129
|
+
);
|
|
42130
|
+
new BN9__default.default(31536e3);
|
|
42131
|
+
function divCeil(a, b) {
|
|
42132
|
+
const quotient = a.div(b);
|
|
42133
|
+
const remainder = a.mod(b);
|
|
42134
|
+
if (remainder.gt(ZERO)) {
|
|
42135
|
+
return quotient.add(ONE);
|
|
42136
|
+
}
|
|
42137
|
+
return quotient;
|
|
42138
|
+
}
|
|
42139
|
+
function getDriftTokenAmount(balanceAmount, spotMarket, balanceType) {
|
|
42140
|
+
const precisionDecrease = TEN.pow(new BN9__default.default(19 - spotMarket.decimals));
|
|
42141
|
+
if (isSpotBalanceTypeVariant(balanceType, "deposit")) {
|
|
42142
|
+
return balanceAmount.mul(spotMarket.cumulativeDepositInterest).div(precisionDecrease);
|
|
42143
|
+
} else {
|
|
42144
|
+
return divCeil(balanceAmount.mul(spotMarket.cumulativeBorrowInterest), precisionDecrease);
|
|
42145
|
+
}
|
|
42146
|
+
}
|
|
42114
42147
|
|
|
42115
42148
|
// src/vendor/drift/utils/rewards.utils.ts
|
|
42116
42149
|
async function getDriftRewards(spotMarkets, userStates, connection) {
|
|
@@ -77860,6 +77893,7 @@ function computeMaxWithdrawForBank(params) {
|
|
|
77860
77893
|
oraclePricesByBank,
|
|
77861
77894
|
assetShareValueMultiplierByBank,
|
|
77862
77895
|
groupRateLimiter,
|
|
77896
|
+
venueStates,
|
|
77863
77897
|
ignoreBankLimits
|
|
77864
77898
|
} = params;
|
|
77865
77899
|
const bank = banksMap.get(bankAddress.toBase58());
|
|
@@ -77874,7 +77908,10 @@ function computeMaxWithdrawForBank(params) {
|
|
|
77874
77908
|
assetShareValueMultiplier
|
|
77875
77909
|
);
|
|
77876
77910
|
const rateLimitRemaining = computeOutflowRateLimitRemaining(bank, oraclePrice, groupRateLimiter);
|
|
77877
|
-
|
|
77911
|
+
const clamps = [healthMaxWithdraw, availableLiquidity, rateLimitRemaining];
|
|
77912
|
+
const venueLiquidity = computeVenueAvailableLiquidity(bank, venueStates);
|
|
77913
|
+
if (venueLiquidity !== void 0) clamps.push(venueLiquidity);
|
|
77914
|
+
return BigNumber3__default.default.max(0, BigNumber3__default.default.min(...clamps));
|
|
77878
77915
|
}
|
|
77879
77916
|
function computeHealthMaxWithdrawForBank(params) {
|
|
77880
77917
|
const {
|
|
@@ -79942,6 +79979,51 @@ function computeGroupRateLimitRemainingUsd(rateLimiter, nowSeconds = Date.now()
|
|
|
79942
79979
|
if (remaining === null) return null;
|
|
79943
79980
|
return BigNumber3__default.default.max(0, remaining);
|
|
79944
79981
|
}
|
|
79982
|
+
var VENUE_AVAILABLE_LIQUIDITY_BUFFER = 0.995;
|
|
79983
|
+
function computeVenueAvailableLiquidity(bank, venueStates) {
|
|
79984
|
+
const decimals = bank.mintDecimals;
|
|
79985
|
+
switch (bank.config.assetTag) {
|
|
79986
|
+
case 3 /* KAMINO */: {
|
|
79987
|
+
const reserveState = venueStates?.kaminoStates?.reserveState;
|
|
79988
|
+
if (!reserveState) return void 0;
|
|
79989
|
+
return new BigNumber3__default.default(
|
|
79990
|
+
nativeToUi(reserveState.liquidity.availableAmount.toString(), decimals)
|
|
79991
|
+
).times(VENUE_AVAILABLE_LIQUIDITY_BUFFER);
|
|
79992
|
+
}
|
|
79993
|
+
case 4 /* DRIFT */: {
|
|
79994
|
+
const spotMarketState = venueStates?.driftStates?.spotMarketState;
|
|
79995
|
+
if (!spotMarketState) return void 0;
|
|
79996
|
+
const deposits = getDriftTokenAmount(
|
|
79997
|
+
spotMarketState.depositBalance,
|
|
79998
|
+
spotMarketState,
|
|
79999
|
+
"deposit" /* DEPOSIT */
|
|
80000
|
+
);
|
|
80001
|
+
const borrows = getDriftTokenAmount(
|
|
80002
|
+
spotMarketState.borrowBalance,
|
|
80003
|
+
spotMarketState,
|
|
80004
|
+
"borrow" /* BORROW */
|
|
80005
|
+
);
|
|
80006
|
+
const idle = deposits.sub(borrows);
|
|
80007
|
+
return new BigNumber3__default.default(nativeToUi(idle.isNeg() ? "0" : idle.toString(), decimals)).times(
|
|
80008
|
+
VENUE_AVAILABLE_LIQUIDITY_BUFFER
|
|
80009
|
+
);
|
|
80010
|
+
}
|
|
80011
|
+
case 6 /* JUPLEND */: {
|
|
80012
|
+
const reserveState = venueStates?.jupLendStates?.jupTokenReserveState;
|
|
80013
|
+
if (!reserveState) return void 0;
|
|
80014
|
+
const supplyWithInterestNative = reserveState.totalSupplyWithInterest.mul(reserveState.supplyExchangePrice).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
80015
|
+
const borrowWithInterestNative = reserveState.totalBorrowWithInterest.mul(reserveState.borrowExchangePrice).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
80016
|
+
const totalSupply = supplyWithInterestNative.add(reserveState.totalSupplyInterestFree);
|
|
80017
|
+
const totalBorrow = borrowWithInterestNative.add(reserveState.totalBorrowInterestFree);
|
|
80018
|
+
const idle = totalSupply.sub(totalBorrow);
|
|
80019
|
+
return new BigNumber3__default.default(nativeToUi(idle.isNeg() ? "0" : idle.toString(), decimals)).times(
|
|
80020
|
+
VENUE_AVAILABLE_LIQUIDITY_BUFFER
|
|
80021
|
+
);
|
|
80022
|
+
}
|
|
80023
|
+
default:
|
|
80024
|
+
return void 0;
|
|
80025
|
+
}
|
|
80026
|
+
}
|
|
79945
80027
|
|
|
79946
80028
|
// src/services/bank/bank.service.ts
|
|
79947
80029
|
async function freezeBankConfigIx(program, bankAddress, bankConfigOpt) {
|
|
@@ -82788,6 +82870,7 @@ var MarginfiAccountWrapper = class {
|
|
|
82788
82870
|
activePair,
|
|
82789
82871
|
volatilityFactor: opts?.volatilityFactor,
|
|
82790
82872
|
groupRateLimiter: this.client.group.rateLimiter,
|
|
82873
|
+
venueStates: this.client.bankIntegrationMap[bankAddress.toBase58()],
|
|
82791
82874
|
ignoreBankLimits: opts?.ignoreBankLimits
|
|
82792
82875
|
});
|
|
82793
82876
|
}
|
|
@@ -83309,6 +83392,7 @@ exports.U64_MAX = U64_MAX;
|
|
|
83309
83392
|
exports.USDC_DECIMALS = USDC_DECIMALS;
|
|
83310
83393
|
exports.USDC_MINT = USDC_MINT;
|
|
83311
83394
|
exports.USDT_MINT = USDT_MINT;
|
|
83395
|
+
exports.VENUE_AVAILABLE_LIQUIDITY_BUFFER = VENUE_AVAILABLE_LIQUIDITY_BUFFER;
|
|
83312
83396
|
exports.WSOL_MINT = WSOL_MINT;
|
|
83313
83397
|
exports.ZERO_ORACLE_KEY = ZERO_ORACLE_KEY;
|
|
83314
83398
|
exports.accountConflictsWithBridgeBank = accountConflictsWithBridgeBank;
|
|
@@ -83402,6 +83486,7 @@ exports.computeTvl = computeTvl;
|
|
|
83402
83486
|
exports.computeUsdValue = computeUsdValue;
|
|
83403
83487
|
exports.computeUtilizationRate = computeUtilizationRate;
|
|
83404
83488
|
exports.computeV0TxSize = computeV0TxSize;
|
|
83489
|
+
exports.computeVenueAvailableLiquidity = computeVenueAvailableLiquidity;
|
|
83405
83490
|
exports.convertVoteAccCoeffsToBankCoeffs = convertVoteAccCoeffsToBankCoeffs;
|
|
83406
83491
|
exports.createActiveEmodePairFromPairs = createActiveEmodePairFromPairs;
|
|
83407
83492
|
exports.createEmptyBalance = createEmptyBalance;
|