@0dotxyz/p0-ts-sdk 2.0.0-alpha.4 → 2.0.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 +294 -259
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +293 -258
- package/dist/index.js.map +1 -1
- package/dist/vendor.cjs +27 -27
- package/dist/vendor.cjs.map +1 -1
- package/dist/vendor.d.cts +20 -20
- package/dist/vendor.d.ts +20 -20
- package/dist/vendor.js +32 -32
- package/dist/vendor.js.map +1 -1
- package/package.json +25 -22
package/dist/vendor.cjs
CHANGED
|
@@ -27940,18 +27940,18 @@ function deriveDriftSpotMarketVault(marketIndex, programId = DRIFT_PROGRAM_ID) {
|
|
|
27940
27940
|
programId
|
|
27941
27941
|
);
|
|
27942
27942
|
}
|
|
27943
|
-
var ZERO = new
|
|
27944
|
-
var ONE = new
|
|
27945
|
-
var TEN = new
|
|
27946
|
-
var PERCENTAGE_PRECISION_EXP = new
|
|
27947
|
-
var PERCENTAGE_PRECISION = new
|
|
27948
|
-
var SPOT_MARKET_RATE_PRECISION_EXP = new
|
|
27949
|
-
var SPOT_MARKET_RATE_PRECISION = new
|
|
27950
|
-
var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new
|
|
27951
|
-
var SPOT_MARKET_UTILIZATION_PRECISION = new
|
|
27943
|
+
var ZERO = new BN2__default.default(0);
|
|
27944
|
+
var ONE = new BN2__default.default(1);
|
|
27945
|
+
var TEN = new BN2__default.default(10);
|
|
27946
|
+
var PERCENTAGE_PRECISION_EXP = new BN2__default.default(6);
|
|
27947
|
+
var PERCENTAGE_PRECISION = new BN2__default.default(10).pow(PERCENTAGE_PRECISION_EXP);
|
|
27948
|
+
var SPOT_MARKET_RATE_PRECISION_EXP = new BN2__default.default(6);
|
|
27949
|
+
var SPOT_MARKET_RATE_PRECISION = new BN2__default.default(10).pow(SPOT_MARKET_RATE_PRECISION_EXP);
|
|
27950
|
+
var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new BN2__default.default(6);
|
|
27951
|
+
var SPOT_MARKET_UTILIZATION_PRECISION = new BN2__default.default(10).pow(
|
|
27952
27952
|
SPOT_MARKET_UTILIZATION_PRECISION_EXP
|
|
27953
27953
|
);
|
|
27954
|
-
var ONE_YEAR = new
|
|
27954
|
+
var ONE_YEAR = new BN2__default.default(31536e3);
|
|
27955
27955
|
function divCeil(a, b) {
|
|
27956
27956
|
const quotient = a.div(b);
|
|
27957
27957
|
const remainder = a.mod(b);
|
|
@@ -27961,7 +27961,7 @@ function divCeil(a, b) {
|
|
|
27961
27961
|
return quotient;
|
|
27962
27962
|
}
|
|
27963
27963
|
function getDriftTokenAmount(balanceAmount, spotMarket, balanceType) {
|
|
27964
|
-
const precisionDecrease = TEN.pow(new
|
|
27964
|
+
const precisionDecrease = TEN.pow(new BN2__default.default(19 - spotMarket.decimals));
|
|
27965
27965
|
if (isSpotBalanceTypeVariant(balanceType, "deposit")) {
|
|
27966
27966
|
return balanceAmount.mul(spotMarket.cumulativeDepositInterest).div(precisionDecrease);
|
|
27967
27967
|
} else {
|
|
@@ -27996,18 +27996,18 @@ function calculateDriftUtilization(bank, delta = ZERO) {
|
|
|
27996
27996
|
}
|
|
27997
27997
|
function calculateDriftInterestRate(bank, delta = ZERO, currentUtilization = null) {
|
|
27998
27998
|
const utilization = currentUtilization || calculateDriftUtilization(bank, delta);
|
|
27999
|
-
const optimalUtil = new
|
|
28000
|
-
const optimalRate = new
|
|
28001
|
-
const maxRate = new
|
|
28002
|
-
const minRate = new
|
|
28003
|
-
const weightsDivisor = new
|
|
27999
|
+
const optimalUtil = new BN2__default.default(bank.optimalUtilization);
|
|
28000
|
+
const optimalRate = new BN2__default.default(bank.optimalBorrowRate);
|
|
28001
|
+
const maxRate = new BN2__default.default(bank.maxBorrowRate);
|
|
28002
|
+
const minRate = new BN2__default.default(bank.minBorrowRate).mul(PERCENTAGE_PRECISION.divn(200));
|
|
28003
|
+
const weightsDivisor = new BN2__default.default(1e3);
|
|
28004
28004
|
const segments = [
|
|
28005
|
-
[new
|
|
28006
|
-
[new
|
|
28007
|
-
[new
|
|
28008
|
-
[new
|
|
28009
|
-
[new
|
|
28010
|
-
[SPOT_MARKET_UTILIZATION_PRECISION, new
|
|
28005
|
+
[new BN2__default.default(85e4), new BN2__default.default(50)],
|
|
28006
|
+
[new BN2__default.default(9e5), new BN2__default.default(100)],
|
|
28007
|
+
[new BN2__default.default(95e4), new BN2__default.default(150)],
|
|
28008
|
+
[new BN2__default.default(99e4), new BN2__default.default(200)],
|
|
28009
|
+
[new BN2__default.default(995e3), new BN2__default.default(250)],
|
|
28010
|
+
[SPOT_MARKET_UTILIZATION_PRECISION, new BN2__default.default(250)]
|
|
28011
28011
|
];
|
|
28012
28012
|
let rate;
|
|
28013
28013
|
if (utilization.lte(optimalUtil)) {
|
|
@@ -28032,7 +28032,7 @@ function calculateDriftInterestRate(bank, delta = ZERO, currentUtilization = nul
|
|
|
28032
28032
|
}
|
|
28033
28033
|
}
|
|
28034
28034
|
}
|
|
28035
|
-
return
|
|
28035
|
+
return BN2__default.default.max(minRate, rate);
|
|
28036
28036
|
}
|
|
28037
28037
|
function calculateDriftBorrowRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28038
28038
|
return calculateDriftInterestRate(bank, delta, currentUtilization);
|
|
@@ -28040,7 +28040,7 @@ function calculateDriftBorrowRate(bank, delta = ZERO, currentUtilization = null)
|
|
|
28040
28040
|
function calculateDriftDepositRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28041
28041
|
const utilization = currentUtilization || calculateDriftUtilization(bank, delta);
|
|
28042
28042
|
const borrowRate = calculateDriftBorrowRate(bank, delta, utilization);
|
|
28043
|
-
const depositRate = borrowRate.mul(PERCENTAGE_PRECISION.sub(new
|
|
28043
|
+
const depositRate = borrowRate.mul(PERCENTAGE_PRECISION.sub(new BN2__default.default(bank.insuranceFund.totalFactor))).mul(utilization).div(SPOT_MARKET_UTILIZATION_PRECISION).div(PERCENTAGE_PRECISION);
|
|
28044
28044
|
return depositRate;
|
|
28045
28045
|
}
|
|
28046
28046
|
function calculateDriftLendingAPY(bank, delta = ZERO, currentUtilization = null, compoundingPeriodsPerYear = 365) {
|
|
@@ -28048,7 +28048,7 @@ function calculateDriftLendingAPY(bank, delta = ZERO, currentUtilization = null,
|
|
|
28048
28048
|
if (depositRate.eq(ZERO)) {
|
|
28049
28049
|
return ZERO;
|
|
28050
28050
|
}
|
|
28051
|
-
const CALC_PRECISION = new
|
|
28051
|
+
const CALC_PRECISION = new BN2__default.default(10).pow(new BN2__default.default(18));
|
|
28052
28052
|
const rateInCalcPrecisionDecimal = depositRate.mul(CALC_PRECISION).div(SPOT_MARKET_RATE_PRECISION);
|
|
28053
28053
|
let expResult = CALC_PRECISION;
|
|
28054
28054
|
let term = rateInCalcPrecisionDecimal;
|
|
@@ -28081,7 +28081,7 @@ function calculateDriftBorrowAPY(bank, delta = ZERO, currentUtilization = null,
|
|
|
28081
28081
|
if (borrowRate.eq(ZERO)) {
|
|
28082
28082
|
return ZERO;
|
|
28083
28083
|
}
|
|
28084
|
-
const CALC_PRECISION = new
|
|
28084
|
+
const CALC_PRECISION = new BN2__default.default(10).pow(new BN2__default.default(18));
|
|
28085
28085
|
const rateInCalcPrecisionDecimal = borrowRate.mul(CALC_PRECISION).div(SPOT_MARKET_RATE_PRECISION);
|
|
28086
28086
|
let expResult = CALC_PRECISION;
|
|
28087
28087
|
let term = rateInCalcPrecisionDecimal;
|
|
@@ -28117,7 +28117,7 @@ function calculateAPYFromAPR2(apr) {
|
|
|
28117
28117
|
function generateDriftReserveCurve(spotMarket) {
|
|
28118
28118
|
return Array.from({ length: 101 }, (_, i) => {
|
|
28119
28119
|
const utilizationPercent = i / 100;
|
|
28120
|
-
const utilizationBN = new
|
|
28120
|
+
const utilizationBN = new BN2__default.default(
|
|
28121
28121
|
Math.floor(utilizationPercent * SPOT_MARKET_UTILIZATION_PRECISION.toNumber())
|
|
28122
28122
|
);
|
|
28123
28123
|
const borrowRateBN = calculateDriftBorrowRate(spotMarket, ZERO, utilizationBN);
|