@0dotxyz/p0-ts-sdk 2.3.3 → 2.4.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.
- package/dist/dto-rate-model.types-DWB7J91n.d.cts +860 -0
- package/dist/dto-rate-model.types-DWB7J91n.d.ts +860 -0
- package/dist/index.cjs +266 -732
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +264 -730
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.cts +2 -2
- package/dist/instructions.d.ts +2 -2
- package/dist/{types-Cxl2AUvk.d.ts → types-DDP4jEc9.d.cts} +10 -10
- package/dist/{types-DtUR-yHt.d.cts → types-rBQYamIi.d.ts} +10 -10
- package/dist/vendor.cjs +256 -722
- package/dist/vendor.cjs.map +1 -1
- package/dist/vendor.d.cts +605 -26
- package/dist/vendor.d.ts +605 -26
- package/dist/vendor.js +247 -713
- package/dist/vendor.js.map +1 -1
- package/package.json +1 -1
- package/dist/dto-rate-model.types-DveIB9Ll.d.cts +0 -1726
- package/dist/dto-rate-model.types-DveIB9Ll.d.ts +0 -1726
package/dist/vendor.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var web3_js = require('@solana/web3.js');
|
|
4
4
|
var bignumber_js = require('bignumber.js');
|
|
5
5
|
var borsh$1 = require('borsh');
|
|
6
|
-
var
|
|
6
|
+
var BN5 = require('bn.js');
|
|
7
7
|
var bufferLayout = require('@solana/buffer-layout');
|
|
8
8
|
var bufferLayoutUtils = require('@solana/buffer-layout-utils');
|
|
9
9
|
var buffer = require('buffer');
|
|
@@ -33,7 +33,7 @@ function _interopNamespace(e) {
|
|
|
33
33
|
return Object.freeze(n);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var BN5__default = /*#__PURE__*/_interopDefault(BN5);
|
|
37
37
|
var borsh__namespace = /*#__PURE__*/_interopNamespace(borsh);
|
|
38
38
|
var Decimal3__default = /*#__PURE__*/_interopDefault(Decimal3);
|
|
39
39
|
var WebSocket__default = /*#__PURE__*/_interopDefault(WebSocket);
|
|
@@ -730,7 +730,7 @@ var SinglePoolInstruction = {
|
|
|
730
730
|
const data = Buffer.concat([
|
|
731
731
|
Buffer.from([3 /* WithdrawStake */]),
|
|
732
732
|
userStakeAuthority.toBuffer(),
|
|
733
|
-
Buffer.from(new
|
|
733
|
+
Buffer.from(new BN5.BN(rawAmount.toString()).toArray("le", 8))
|
|
734
734
|
]);
|
|
735
735
|
return createTransactionInstruction(
|
|
736
736
|
SINGLE_POOL_PROGRAM_ID,
|
|
@@ -886,8 +886,8 @@ var createAccountIx = (from, newAccount, lamports, space, programAddress) => {
|
|
|
886
886
|
const data = Buffer.concat([
|
|
887
887
|
Buffer.from([0]),
|
|
888
888
|
// Assuming the first byte is an instruction type or similar
|
|
889
|
-
Buffer.from(new
|
|
890
|
-
Buffer.from(new
|
|
889
|
+
Buffer.from(new BN5.BN(lamports).toArray("le", 8)),
|
|
890
|
+
Buffer.from(new BN5.BN(space).toArray("le", 8)),
|
|
891
891
|
programAddress.toBuffer()
|
|
892
892
|
]);
|
|
893
893
|
const accounts = [
|
|
@@ -4063,233 +4063,63 @@ async function makeRefreshingIxs({
|
|
|
4063
4063
|
}
|
|
4064
4064
|
|
|
4065
4065
|
// src/vendor/klend/utils/klend/serialize.utils.ts
|
|
4066
|
-
function
|
|
4066
|
+
function kaminoObligationToDto(obligation) {
|
|
4067
4067
|
return {
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
},
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
)
|
|
4080
|
-
lowestReserveDepositLiquidationLtv: obligationRaw.lowestReserveDepositLiquidationLtv.toString(),
|
|
4081
|
-
depositedValueSf: obligationRaw.depositedValueSf.toString(),
|
|
4082
|
-
borrows: obligationRaw.borrows.map(
|
|
4083
|
-
(item) => obligationLiquidityToDto(item)
|
|
4084
|
-
),
|
|
4085
|
-
borrowFactorAdjustedDebtValueSf: obligationRaw.borrowFactorAdjustedDebtValueSf.toString(),
|
|
4086
|
-
borrowedAssetsMarketValueSf: obligationRaw.borrowedAssetsMarketValueSf.toString(),
|
|
4087
|
-
allowedBorrowValueSf: obligationRaw.allowedBorrowValueSf.toString(),
|
|
4088
|
-
unhealthyBorrowValueSf: obligationRaw.unhealthyBorrowValueSf.toString(),
|
|
4089
|
-
depositsAssetTiers: obligationRaw.depositsAssetTiers,
|
|
4090
|
-
borrowsAssetTiers: obligationRaw.borrowsAssetTiers,
|
|
4091
|
-
elevationGroup: obligationRaw.elevationGroup,
|
|
4092
|
-
numOfObsoleteDepositReserves: obligationRaw.numOfObsoleteDepositReserves,
|
|
4093
|
-
hasDebt: obligationRaw.hasDebt,
|
|
4094
|
-
referrer: obligationRaw.referrer.toBase58(),
|
|
4095
|
-
borrowingDisabled: obligationRaw.borrowingDisabled,
|
|
4096
|
-
autodeleverageTargetLtvPct: obligationRaw.autodeleverageTargetLtvPct,
|
|
4097
|
-
lowestReserveDepositMaxLtvPct: obligationRaw.lowestReserveDepositMaxLtvPct,
|
|
4098
|
-
numOfObsoleteBorrowReserves: obligationRaw.numOfObsoleteBorrowReserves,
|
|
4099
|
-
reserved: obligationRaw.reserved,
|
|
4100
|
-
highestBorrowFactorPct: obligationRaw.highestBorrowFactorPct.toString(),
|
|
4101
|
-
autodeleverageMarginCallStartedTimestamp: obligationRaw.autodeleverageMarginCallStartedTimestamp.toString(),
|
|
4102
|
-
orders: obligationRaw.orders.map((item) => obligationOrderToDto(item)),
|
|
4103
|
-
padding3: obligationRaw.padding3.map((item) => item.toString())
|
|
4104
|
-
};
|
|
4105
|
-
}
|
|
4106
|
-
function reserveRawToDto(reserveRaw) {
|
|
4107
|
-
return {
|
|
4108
|
-
version: reserveRaw.version.toString(),
|
|
4109
|
-
lastUpdate: {
|
|
4110
|
-
slot: reserveRaw.lastUpdate.slot.toString(),
|
|
4111
|
-
stale: reserveRaw.lastUpdate.stale,
|
|
4112
|
-
priceStatus: reserveRaw.lastUpdate.priceStatus,
|
|
4113
|
-
placeholder: reserveRaw.lastUpdate.placeholder
|
|
4114
|
-
},
|
|
4115
|
-
lendingMarket: reserveRaw.lendingMarket.toBase58(),
|
|
4116
|
-
farmCollateral: reserveRaw.farmCollateral.toBase58(),
|
|
4117
|
-
farmDebt: reserveRaw.farmDebt.toBase58(),
|
|
4118
|
-
liquidity: reserveLiquidityFieldsToDto(reserveRaw.liquidity),
|
|
4119
|
-
reserveLiquidityPadding: reserveRaw.reserveLiquidityPadding.map(
|
|
4120
|
-
(item) => item.toString()
|
|
4121
|
-
),
|
|
4122
|
-
collateral: {
|
|
4123
|
-
mintPubkey: reserveRaw.collateral.mintPubkey.toBase58(),
|
|
4124
|
-
mintTotalSupply: reserveRaw.collateral.mintTotalSupply.toString(),
|
|
4125
|
-
supplyVault: reserveRaw.collateral.supplyVault.toBase58(),
|
|
4126
|
-
padding1: reserveRaw.collateral.padding1.map((item) => item.toString()),
|
|
4127
|
-
padding2: reserveRaw.collateral.padding2.map((item) => item.toString())
|
|
4128
|
-
},
|
|
4129
|
-
reserveCollateralPadding: reserveRaw.reserveCollateralPadding.map(
|
|
4130
|
-
(item) => item.toString()
|
|
4131
|
-
),
|
|
4132
|
-
config: reserveConfigFieldsToDto(reserveRaw.config),
|
|
4133
|
-
configPadding: reserveRaw.configPadding.map((item) => item.toString()),
|
|
4134
|
-
borrowedAmountOutsideElevationGroup: reserveRaw.borrowedAmountOutsideElevationGroup.toString(),
|
|
4135
|
-
borrowedAmountsAgainstThisReserveInElevationGroups: reserveRaw.borrowedAmountsAgainstThisReserveInElevationGroups.map(
|
|
4136
|
-
(item) => item.toString()
|
|
4137
|
-
),
|
|
4138
|
-
padding: reserveRaw.padding.map((item) => item.toString())
|
|
4139
|
-
};
|
|
4140
|
-
}
|
|
4141
|
-
function reserveLiquidityFieldsToDto(reserveLiquidityFields) {
|
|
4142
|
-
return {
|
|
4143
|
-
mintPubkey: reserveLiquidityFields.mintPubkey.toBase58(),
|
|
4144
|
-
supplyVault: reserveLiquidityFields.supplyVault.toBase58(),
|
|
4145
|
-
feeVault: reserveLiquidityFields.feeVault.toBase58(),
|
|
4146
|
-
availableAmount: reserveLiquidityFields.availableAmount.toString(),
|
|
4147
|
-
borrowedAmountSf: reserveLiquidityFields.borrowedAmountSf.toString(),
|
|
4148
|
-
marketPriceSf: reserveLiquidityFields.marketPriceSf.toString(),
|
|
4149
|
-
marketPriceLastUpdatedTs: reserveLiquidityFields.marketPriceLastUpdatedTs.toString(),
|
|
4150
|
-
mintDecimals: reserveLiquidityFields.mintDecimals.toString(),
|
|
4151
|
-
depositLimitCrossedTimestamp: reserveLiquidityFields.depositLimitCrossedTimestamp.toString(),
|
|
4152
|
-
borrowLimitCrossedTimestamp: reserveLiquidityFields.borrowLimitCrossedTimestamp.toString(),
|
|
4153
|
-
cumulativeBorrowRateBsf: {
|
|
4154
|
-
value: reserveLiquidityFields.cumulativeBorrowRateBsf.value.map(
|
|
4155
|
-
(item) => item.toString()
|
|
4156
|
-
),
|
|
4157
|
-
padding: reserveLiquidityFields.cumulativeBorrowRateBsf.padding.map(
|
|
4158
|
-
(item) => item.toString()
|
|
4159
|
-
)
|
|
4160
|
-
},
|
|
4161
|
-
accumulatedProtocolFeesSf: reserveLiquidityFields.accumulatedProtocolFeesSf.toString(),
|
|
4162
|
-
accumulatedReferrerFeesSf: reserveLiquidityFields.accumulatedReferrerFeesSf.toString(),
|
|
4163
|
-
pendingReferrerFeesSf: reserveLiquidityFields.pendingReferrerFeesSf.toString(),
|
|
4164
|
-
absoluteReferralRateSf: reserveLiquidityFields.absoluteReferralRateSf.toString(),
|
|
4165
|
-
tokenProgram: reserveLiquidityFields.tokenProgram.toBase58(),
|
|
4166
|
-
padding2: reserveLiquidityFields.padding2.map((item) => item.toString()),
|
|
4167
|
-
padding3: reserveLiquidityFields.padding3.map((item) => item.toString())
|
|
4168
|
-
};
|
|
4169
|
-
}
|
|
4170
|
-
function reserveConfigFieldsToDto(reserveConfigFields) {
|
|
4171
|
-
return {
|
|
4172
|
-
status: reserveConfigFields.status,
|
|
4173
|
-
assetTier: reserveConfigFields.assetTier,
|
|
4174
|
-
hostFixedInterestRateBps: reserveConfigFields.hostFixedInterestRateBps,
|
|
4175
|
-
reserved2: reserveConfigFields.reserved2,
|
|
4176
|
-
protocolOrderExecutionFeePct: reserveConfigFields.protocolOrderExecutionFeePct,
|
|
4177
|
-
protocolTakeRatePct: reserveConfigFields.protocolTakeRatePct,
|
|
4178
|
-
protocolLiquidationFeePct: reserveConfigFields.protocolLiquidationFeePct,
|
|
4179
|
-
loanToValuePct: reserveConfigFields.loanToValuePct,
|
|
4180
|
-
liquidationThresholdPct: reserveConfigFields.liquidationThresholdPct,
|
|
4181
|
-
minLiquidationBonusBps: reserveConfigFields.minLiquidationBonusBps,
|
|
4182
|
-
maxLiquidationBonusBps: reserveConfigFields.maxLiquidationBonusBps,
|
|
4183
|
-
badDebtLiquidationBonusBps: reserveConfigFields.badDebtLiquidationBonusBps,
|
|
4184
|
-
deleveragingMarginCallPeriodSecs: reserveConfigFields.deleveragingMarginCallPeriodSecs.toString(),
|
|
4185
|
-
deleveragingThresholdDecreaseBpsPerDay: reserveConfigFields.deleveragingThresholdDecreaseBpsPerDay.toString(),
|
|
4186
|
-
fees: {
|
|
4187
|
-
borrowFeeSf: reserveConfigFields.fees.borrowFeeSf.toString(),
|
|
4188
|
-
flashLoanFeeSf: reserveConfigFields.fees.flashLoanFeeSf.toString(),
|
|
4189
|
-
padding: reserveConfigFields.fees.padding
|
|
4190
|
-
},
|
|
4191
|
-
borrowRateCurve: {
|
|
4192
|
-
points: reserveConfigFields.borrowRateCurve.points.map((item) => ({
|
|
4193
|
-
utilizationRateBps: item.utilizationRateBps,
|
|
4194
|
-
borrowRateBps: item.borrowRateBps
|
|
4195
|
-
}))
|
|
4196
|
-
},
|
|
4197
|
-
borrowFactorPct: reserveConfigFields.borrowFactorPct.toString(),
|
|
4198
|
-
depositLimit: reserveConfigFields.depositLimit.toString(),
|
|
4199
|
-
borrowLimit: reserveConfigFields.borrowLimit.toString(),
|
|
4200
|
-
tokenInfo: tokenInfoFieldsToDto(reserveConfigFields.tokenInfo),
|
|
4201
|
-
depositWithdrawalCap: withdrawalCapsFieldsToDto(
|
|
4202
|
-
reserveConfigFields.depositWithdrawalCap
|
|
4203
|
-
),
|
|
4204
|
-
debtWithdrawalCap: withdrawalCapsFieldsToDto(
|
|
4205
|
-
reserveConfigFields.debtWithdrawalCap
|
|
4206
|
-
),
|
|
4207
|
-
elevationGroups: reserveConfigFields.elevationGroups,
|
|
4208
|
-
disableUsageAsCollOutsideEmode: reserveConfigFields.disableUsageAsCollOutsideEmode,
|
|
4209
|
-
utilizationLimitBlockBorrowingAbovePct: reserveConfigFields.utilizationLimitBlockBorrowingAbovePct,
|
|
4210
|
-
autodeleverageEnabled: reserveConfigFields.autodeleverageEnabled,
|
|
4211
|
-
reserved1: reserveConfigFields.reserved1,
|
|
4212
|
-
borrowLimitOutsideElevationGroup: reserveConfigFields.borrowLimitOutsideElevationGroup.toString(),
|
|
4213
|
-
borrowLimitAgainstThisCollateralInElevationGroup: reserveConfigFields.borrowLimitAgainstThisCollateralInElevationGroup.map(
|
|
4214
|
-
(item) => item.toString()
|
|
4215
|
-
),
|
|
4216
|
-
deleveragingBonusIncreaseBpsPerDay: reserveConfigFields.deleveragingBonusIncreaseBpsPerDay.toString()
|
|
4217
|
-
};
|
|
4218
|
-
}
|
|
4219
|
-
function tokenInfoFieldsToDto(tokenInfoFields) {
|
|
4220
|
-
return {
|
|
4221
|
-
name: tokenInfoFields.name,
|
|
4222
|
-
heuristic: {
|
|
4223
|
-
lower: tokenInfoFields.heuristic.lower.toString(),
|
|
4224
|
-
upper: tokenInfoFields.heuristic.upper.toString(),
|
|
4225
|
-
exp: tokenInfoFields.heuristic.exp.toString()
|
|
4226
|
-
},
|
|
4227
|
-
maxTwapDivergenceBps: tokenInfoFields.maxTwapDivergenceBps.toString(),
|
|
4228
|
-
maxAgePriceSeconds: tokenInfoFields.maxAgePriceSeconds.toString(),
|
|
4229
|
-
maxAgeTwapSeconds: tokenInfoFields.maxAgeTwapSeconds.toString(),
|
|
4230
|
-
scopeConfiguration: {
|
|
4231
|
-
priceFeed: tokenInfoFields.scopeConfiguration.priceFeed.toBase58(),
|
|
4232
|
-
priceChain: tokenInfoFields.scopeConfiguration.priceChain,
|
|
4233
|
-
twapChain: tokenInfoFields.scopeConfiguration.twapChain
|
|
4234
|
-
},
|
|
4235
|
-
switchboardConfiguration: {
|
|
4236
|
-
priceAggregator: tokenInfoFields.switchboardConfiguration.priceAggregator.toBase58(),
|
|
4237
|
-
twapAggregator: tokenInfoFields.switchboardConfiguration.twapAggregator.toBase58()
|
|
4238
|
-
},
|
|
4239
|
-
pythConfiguration: {
|
|
4240
|
-
price: tokenInfoFields.pythConfiguration.price.toBase58()
|
|
4241
|
-
},
|
|
4242
|
-
blockPriceUsage: tokenInfoFields.blockPriceUsage,
|
|
4243
|
-
reserved: tokenInfoFields.reserved,
|
|
4244
|
-
padding: tokenInfoFields.padding.map((item) => item.toString())
|
|
4245
|
-
};
|
|
4246
|
-
}
|
|
4247
|
-
function withdrawalCapsFieldsToDto(withdrawalCapsFields) {
|
|
4248
|
-
return {
|
|
4249
|
-
configCapacity: withdrawalCapsFields.configCapacity.toString(),
|
|
4250
|
-
currentTotal: withdrawalCapsFields.currentTotal.toString(),
|
|
4251
|
-
lastIntervalStartTimestamp: withdrawalCapsFields.lastIntervalStartTimestamp.toString(),
|
|
4252
|
-
configIntervalLengthSeconds: withdrawalCapsFields.configIntervalLengthSeconds.toString()
|
|
4253
|
-
};
|
|
4254
|
-
}
|
|
4255
|
-
function obligationCollateralToDto(obligationCollateralFields) {
|
|
4256
|
-
return {
|
|
4257
|
-
depositReserve: obligationCollateralFields.depositReserve.toBase58(),
|
|
4258
|
-
depositedAmount: obligationCollateralFields.depositedAmount.toString(),
|
|
4259
|
-
marketValueSf: obligationCollateralFields.marketValueSf.toString(),
|
|
4260
|
-
borrowedAmountAgainstThisCollateralInElevationGroup: obligationCollateralFields.borrowedAmountAgainstThisCollateralInElevationGroup.toString(),
|
|
4261
|
-
padding: obligationCollateralFields.padding.map((item) => item.toString())
|
|
4068
|
+
lendingMarket: obligation.lendingMarket.toBase58(),
|
|
4069
|
+
owner: obligation.owner.toBase58(),
|
|
4070
|
+
deposits: obligation.deposits.map((item) => ({
|
|
4071
|
+
depositReserve: item.depositReserve.toBase58(),
|
|
4072
|
+
depositedAmount: item.depositedAmount.toString(),
|
|
4073
|
+
marketValueSf: item.marketValueSf.toString()
|
|
4074
|
+
})),
|
|
4075
|
+
borrows: obligation.borrows.map((item) => ({
|
|
4076
|
+
borrowReserve: item.borrowReserve.toBase58(),
|
|
4077
|
+
borrowedAmountSf: item.borrowedAmountSf.toString(),
|
|
4078
|
+
marketValueSf: item.marketValueSf.toString()
|
|
4079
|
+
}))
|
|
4262
4080
|
};
|
|
4263
4081
|
}
|
|
4264
|
-
function
|
|
4082
|
+
function kaminoReserveToDto(reserve) {
|
|
4265
4083
|
return {
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
),
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
)
|
|
4084
|
+
lendingMarket: reserve.lendingMarket.toBase58(),
|
|
4085
|
+
farmCollateral: reserve.farmCollateral.toBase58(),
|
|
4086
|
+
liquidity: {
|
|
4087
|
+
mintPubkey: reserve.liquidity.mintPubkey.toBase58(),
|
|
4088
|
+
supplyVault: reserve.liquidity.supplyVault.toBase58(),
|
|
4089
|
+
mintDecimals: reserve.liquidity.mintDecimals.toString(),
|
|
4090
|
+
availableAmount: reserve.liquidity.availableAmount.toString(),
|
|
4091
|
+
borrowedAmountSf: reserve.liquidity.borrowedAmountSf.toString(),
|
|
4092
|
+
accumulatedProtocolFeesSf: reserve.liquidity.accumulatedProtocolFeesSf.toString(),
|
|
4093
|
+
accumulatedReferrerFeesSf: reserve.liquidity.accumulatedReferrerFeesSf.toString(),
|
|
4094
|
+
pendingReferrerFeesSf: reserve.liquidity.pendingReferrerFeesSf.toString()
|
|
4274
4095
|
},
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4096
|
+
collateral: {
|
|
4097
|
+
mintPubkey: reserve.collateral.mintPubkey.toBase58(),
|
|
4098
|
+
mintTotalSupply: reserve.collateral.mintTotalSupply.toString(),
|
|
4099
|
+
supplyVault: reserve.collateral.supplyVault.toBase58()
|
|
4100
|
+
},
|
|
4101
|
+
config: {
|
|
4102
|
+
protocolTakeRatePct: reserve.config.protocolTakeRatePct,
|
|
4103
|
+
hostFixedInterestRateBps: reserve.config.hostFixedInterestRateBps,
|
|
4104
|
+
borrowRateCurve: {
|
|
4105
|
+
points: reserve.config.borrowRateCurve.points.map((item) => ({
|
|
4106
|
+
utilizationRateBps: item.utilizationRateBps,
|
|
4107
|
+
borrowRateBps: item.borrowRateBps
|
|
4108
|
+
}))
|
|
4109
|
+
},
|
|
4110
|
+
tokenInfo: {
|
|
4111
|
+
scopeConfiguration: {
|
|
4112
|
+
priceFeed: reserve.config.tokenInfo.scopeConfiguration.priceFeed.toBase58()
|
|
4113
|
+
},
|
|
4114
|
+
switchboardConfiguration: {
|
|
4115
|
+
priceAggregator: reserve.config.tokenInfo.switchboardConfiguration.priceAggregator.toBase58(),
|
|
4116
|
+
twapAggregator: reserve.config.tokenInfo.switchboardConfiguration.twapAggregator.toBase58()
|
|
4117
|
+
},
|
|
4118
|
+
pythConfiguration: {
|
|
4119
|
+
price: reserve.config.tokenInfo.pythConfiguration.price.toBase58()
|
|
4120
|
+
}
|
|
4121
|
+
}
|
|
4122
|
+
}
|
|
4293
4123
|
};
|
|
4294
4124
|
}
|
|
4295
4125
|
|
|
@@ -12574,267 +12404,75 @@ function decodeKlendObligationData(data) {
|
|
|
12574
12404
|
const dec = obligationLayout.decode(data.slice(8));
|
|
12575
12405
|
return dec;
|
|
12576
12406
|
}
|
|
12577
|
-
function
|
|
12407
|
+
function dtoToKaminoObligation(obligationDto) {
|
|
12578
12408
|
return {
|
|
12579
|
-
tag: new BN2__default.default(obligationDto.tag),
|
|
12580
|
-
lastUpdate: {
|
|
12581
|
-
slot: new BN2__default.default(obligationDto.lastUpdate.slot),
|
|
12582
|
-
stale: obligationDto.lastUpdate.stale,
|
|
12583
|
-
priceStatus: obligationDto.lastUpdate.priceStatus,
|
|
12584
|
-
placeholder: obligationDto.lastUpdate.placeholder
|
|
12585
|
-
},
|
|
12586
12409
|
lendingMarket: new web3_js.PublicKey(obligationDto.lendingMarket),
|
|
12587
12410
|
owner: new web3_js.PublicKey(obligationDto.owner),
|
|
12588
|
-
deposits: obligationDto.deposits.map(
|
|
12589
|
-
|
|
12590
|
-
|
|
12591
|
-
|
|
12592
|
-
|
|
12593
|
-
)
|
|
12594
|
-
|
|
12595
|
-
|
|
12596
|
-
|
|
12597
|
-
)
|
|
12598
|
-
borrowFactorAdjustedDebtValueSf: new BN2__default.default(
|
|
12599
|
-
obligationDto.borrowFactorAdjustedDebtValueSf
|
|
12600
|
-
),
|
|
12601
|
-
borrowedAssetsMarketValueSf: new BN2__default.default(
|
|
12602
|
-
obligationDto.borrowedAssetsMarketValueSf
|
|
12603
|
-
),
|
|
12604
|
-
allowedBorrowValueSf: new BN2__default.default(obligationDto.allowedBorrowValueSf),
|
|
12605
|
-
unhealthyBorrowValueSf: new BN2__default.default(obligationDto.unhealthyBorrowValueSf),
|
|
12606
|
-
depositsAssetTiers: obligationDto.depositsAssetTiers,
|
|
12607
|
-
borrowsAssetTiers: obligationDto.borrowsAssetTiers,
|
|
12608
|
-
elevationGroup: obligationDto.elevationGroup,
|
|
12609
|
-
numOfObsoleteDepositReserves: obligationDto.numOfObsoleteDepositReserves,
|
|
12610
|
-
hasDebt: obligationDto.hasDebt,
|
|
12611
|
-
referrer: new web3_js.PublicKey(obligationDto.referrer),
|
|
12612
|
-
borrowingDisabled: obligationDto.borrowingDisabled,
|
|
12613
|
-
autodeleverageTargetLtvPct: obligationDto.autodeleverageTargetLtvPct,
|
|
12614
|
-
lowestReserveDepositMaxLtvPct: obligationDto.lowestReserveDepositMaxLtvPct,
|
|
12615
|
-
numOfObsoleteBorrowReserves: obligationDto.numOfObsoleteBorrowReserves,
|
|
12616
|
-
reserved: obligationDto.reserved,
|
|
12617
|
-
highestBorrowFactorPct: new BN2__default.default(obligationDto.highestBorrowFactorPct),
|
|
12618
|
-
autodeleverageMarginCallStartedTimestamp: new BN2__default.default(
|
|
12619
|
-
obligationDto.autodeleverageMarginCallStartedTimestamp
|
|
12620
|
-
),
|
|
12621
|
-
orders: obligationDto.orders.map(
|
|
12622
|
-
(item) => dtoToObligationOrderFields(item)
|
|
12623
|
-
),
|
|
12624
|
-
padding3: obligationDto.padding3.map((item) => new BN2__default.default(item))
|
|
12411
|
+
deposits: obligationDto.deposits.map((item) => ({
|
|
12412
|
+
depositReserve: new web3_js.PublicKey(item.depositReserve),
|
|
12413
|
+
depositedAmount: new BN5__default.default(item.depositedAmount),
|
|
12414
|
+
marketValueSf: new BN5__default.default(item.marketValueSf)
|
|
12415
|
+
})),
|
|
12416
|
+
borrows: obligationDto.borrows.map((item) => ({
|
|
12417
|
+
borrowReserve: new web3_js.PublicKey(item.borrowReserve),
|
|
12418
|
+
borrowedAmountSf: new BN5__default.default(item.borrowedAmountSf),
|
|
12419
|
+
marketValueSf: new BN5__default.default(item.marketValueSf)
|
|
12420
|
+
}))
|
|
12625
12421
|
};
|
|
12626
12422
|
}
|
|
12627
|
-
function
|
|
12423
|
+
function dtoToKaminoReserve(reserveDto) {
|
|
12628
12424
|
return {
|
|
12629
|
-
version: new BN2__default.default(reserveDto.version),
|
|
12630
|
-
lastUpdate: {
|
|
12631
|
-
slot: new BN2__default.default(reserveDto.lastUpdate.slot),
|
|
12632
|
-
stale: reserveDto.lastUpdate.stale,
|
|
12633
|
-
priceStatus: reserveDto.lastUpdate.priceStatus,
|
|
12634
|
-
placeholder: reserveDto.lastUpdate.placeholder
|
|
12635
|
-
},
|
|
12636
12425
|
lendingMarket: new web3_js.PublicKey(reserveDto.lendingMarket),
|
|
12637
12426
|
farmCollateral: new web3_js.PublicKey(reserveDto.farmCollateral),
|
|
12638
|
-
|
|
12639
|
-
|
|
12640
|
-
|
|
12641
|
-
|
|
12642
|
-
|
|
12643
|
-
|
|
12644
|
-
|
|
12645
|
-
|
|
12646
|
-
supplyVault: new web3_js.PublicKey(reserveDto.collateral.supplyVault),
|
|
12647
|
-
padding1: reserveDto.collateral.padding1.map((item) => new BN2__default.default(item)),
|
|
12648
|
-
padding2: reserveDto.collateral.padding2.map((item) => new BN2__default.default(item))
|
|
12649
|
-
},
|
|
12650
|
-
reserveCollateralPadding: reserveDto.reserveCollateralPadding.map(
|
|
12651
|
-
(item) => new BN2__default.default(item)
|
|
12652
|
-
),
|
|
12653
|
-
config: dtoToReserveConfigFields(reserveDto.config),
|
|
12654
|
-
configPadding: reserveDto.configPadding.map((item) => new BN2__default.default(item)),
|
|
12655
|
-
borrowedAmountOutsideElevationGroup: new BN2__default.default(
|
|
12656
|
-
reserveDto.borrowedAmountOutsideElevationGroup
|
|
12657
|
-
),
|
|
12658
|
-
borrowedAmountsAgainstThisReserveInElevationGroups: reserveDto.borrowedAmountsAgainstThisReserveInElevationGroups.map(
|
|
12659
|
-
(item) => new BN2__default.default(item)
|
|
12660
|
-
),
|
|
12661
|
-
padding: reserveDto.padding.map((item) => new BN2__default.default(item))
|
|
12662
|
-
};
|
|
12663
|
-
}
|
|
12664
|
-
function dtoToReserveLiquidityFields(reserveDto) {
|
|
12665
|
-
return {
|
|
12666
|
-
mintPubkey: new web3_js.PublicKey(reserveDto.mintPubkey),
|
|
12667
|
-
supplyVault: new web3_js.PublicKey(reserveDto.supplyVault),
|
|
12668
|
-
feeVault: new web3_js.PublicKey(reserveDto.feeVault),
|
|
12669
|
-
availableAmount: new BN2__default.default(reserveDto.availableAmount),
|
|
12670
|
-
borrowedAmountSf: new BN2__default.default(reserveDto.borrowedAmountSf),
|
|
12671
|
-
marketPriceSf: new BN2__default.default(reserveDto.marketPriceSf),
|
|
12672
|
-
marketPriceLastUpdatedTs: new BN2__default.default(reserveDto.marketPriceLastUpdatedTs),
|
|
12673
|
-
mintDecimals: new BN2__default.default(reserveDto.mintDecimals),
|
|
12674
|
-
depositLimitCrossedTimestamp: new BN2__default.default(
|
|
12675
|
-
reserveDto.depositLimitCrossedTimestamp
|
|
12676
|
-
),
|
|
12677
|
-
borrowLimitCrossedTimestamp: new BN2__default.default(reserveDto.borrowLimitCrossedTimestamp),
|
|
12678
|
-
cumulativeBorrowRateBsf: {
|
|
12679
|
-
value: reserveDto.cumulativeBorrowRateBsf.value.map(
|
|
12680
|
-
(item) => new BN2__default.default(item)
|
|
12427
|
+
liquidity: {
|
|
12428
|
+
mintPubkey: new web3_js.PublicKey(reserveDto.liquidity.mintPubkey),
|
|
12429
|
+
supplyVault: new web3_js.PublicKey(reserveDto.liquidity.supplyVault),
|
|
12430
|
+
mintDecimals: new BN5__default.default(reserveDto.liquidity.mintDecimals),
|
|
12431
|
+
availableAmount: new BN5__default.default(reserveDto.liquidity.availableAmount),
|
|
12432
|
+
borrowedAmountSf: new BN5__default.default(reserveDto.liquidity.borrowedAmountSf),
|
|
12433
|
+
accumulatedProtocolFeesSf: new BN5__default.default(
|
|
12434
|
+
reserveDto.liquidity.accumulatedProtocolFeesSf
|
|
12681
12435
|
),
|
|
12682
|
-
|
|
12683
|
-
|
|
12684
|
-
)
|
|
12685
|
-
},
|
|
12686
|
-
accumulatedProtocolFeesSf: new BN2__default.default(reserveDto.accumulatedProtocolFeesSf),
|
|
12687
|
-
accumulatedReferrerFeesSf: new BN2__default.default(reserveDto.accumulatedReferrerFeesSf),
|
|
12688
|
-
pendingReferrerFeesSf: new BN2__default.default(reserveDto.pendingReferrerFeesSf),
|
|
12689
|
-
absoluteReferralRateSf: new BN2__default.default(reserveDto.absoluteReferralRateSf),
|
|
12690
|
-
tokenProgram: new web3_js.PublicKey(reserveDto.tokenProgram),
|
|
12691
|
-
padding2: reserveDto.padding2.map((item) => new BN2__default.default(item)),
|
|
12692
|
-
padding3: reserveDto.padding3.map((item) => new BN2__default.default(item))
|
|
12693
|
-
};
|
|
12694
|
-
}
|
|
12695
|
-
function dtoToReserveConfigFields(reserveDto) {
|
|
12696
|
-
return {
|
|
12697
|
-
status: reserveDto.status,
|
|
12698
|
-
assetTier: reserveDto.assetTier,
|
|
12699
|
-
hostFixedInterestRateBps: reserveDto.hostFixedInterestRateBps,
|
|
12700
|
-
reserved2: reserveDto.reserved2,
|
|
12701
|
-
protocolOrderExecutionFeePct: reserveDto.protocolOrderExecutionFeePct,
|
|
12702
|
-
protocolTakeRatePct: reserveDto.protocolTakeRatePct,
|
|
12703
|
-
protocolLiquidationFeePct: reserveDto.protocolLiquidationFeePct,
|
|
12704
|
-
loanToValuePct: reserveDto.loanToValuePct,
|
|
12705
|
-
liquidationThresholdPct: reserveDto.liquidationThresholdPct,
|
|
12706
|
-
minLiquidationBonusBps: reserveDto.minLiquidationBonusBps,
|
|
12707
|
-
maxLiquidationBonusBps: reserveDto.maxLiquidationBonusBps,
|
|
12708
|
-
badDebtLiquidationBonusBps: reserveDto.badDebtLiquidationBonusBps,
|
|
12709
|
-
deleveragingMarginCallPeriodSecs: new BN2__default.default(
|
|
12710
|
-
reserveDto.deleveragingMarginCallPeriodSecs
|
|
12711
|
-
),
|
|
12712
|
-
deleveragingThresholdDecreaseBpsPerDay: new BN2__default.default(
|
|
12713
|
-
reserveDto.deleveragingThresholdDecreaseBpsPerDay
|
|
12714
|
-
),
|
|
12715
|
-
fees: {
|
|
12716
|
-
borrowFeeSf: new BN2__default.default(reserveDto.fees.borrowFeeSf),
|
|
12717
|
-
flashLoanFeeSf: new BN2__default.default(reserveDto.fees.flashLoanFeeSf),
|
|
12718
|
-
padding: reserveDto.fees.padding
|
|
12719
|
-
},
|
|
12720
|
-
borrowRateCurve: {
|
|
12721
|
-
points: reserveDto.borrowRateCurve.points.map((item) => ({
|
|
12722
|
-
utilizationRateBps: item.utilizationRateBps,
|
|
12723
|
-
borrowRateBps: item.borrowRateBps
|
|
12724
|
-
}))
|
|
12725
|
-
},
|
|
12726
|
-
borrowFactorPct: new BN2__default.default(reserveDto.borrowFactorPct),
|
|
12727
|
-
depositLimit: new BN2__default.default(reserveDto.depositLimit),
|
|
12728
|
-
borrowLimit: new BN2__default.default(reserveDto.borrowLimit),
|
|
12729
|
-
tokenInfo: dtoToTokenInfoFields(reserveDto.tokenInfo),
|
|
12730
|
-
depositWithdrawalCap: dtoToWithdrawalCapsFields(
|
|
12731
|
-
reserveDto.depositWithdrawalCap
|
|
12732
|
-
),
|
|
12733
|
-
debtWithdrawalCap: dtoToWithdrawalCapsFields(reserveDto.debtWithdrawalCap),
|
|
12734
|
-
elevationGroups: reserveDto.elevationGroups,
|
|
12735
|
-
disableUsageAsCollOutsideEmode: reserveDto.disableUsageAsCollOutsideEmode,
|
|
12736
|
-
utilizationLimitBlockBorrowingAbovePct: reserveDto.utilizationLimitBlockBorrowingAbovePct,
|
|
12737
|
-
autodeleverageEnabled: reserveDto.autodeleverageEnabled,
|
|
12738
|
-
reserved1: reserveDto.reserved1,
|
|
12739
|
-
borrowLimitOutsideElevationGroup: new BN2__default.default(
|
|
12740
|
-
reserveDto.borrowLimitOutsideElevationGroup
|
|
12741
|
-
),
|
|
12742
|
-
borrowLimitAgainstThisCollateralInElevationGroup: reserveDto.borrowLimitAgainstThisCollateralInElevationGroup.map(
|
|
12743
|
-
(item) => new BN2__default.default(item)
|
|
12744
|
-
),
|
|
12745
|
-
deleveragingBonusIncreaseBpsPerDay: new BN2__default.default(
|
|
12746
|
-
reserveDto.deleveragingBonusIncreaseBpsPerDay
|
|
12747
|
-
)
|
|
12748
|
-
};
|
|
12749
|
-
}
|
|
12750
|
-
function dtoToTokenInfoFields(tokenInfoDto) {
|
|
12751
|
-
return {
|
|
12752
|
-
name: tokenInfoDto.name,
|
|
12753
|
-
heuristic: {
|
|
12754
|
-
lower: new BN2__default.default(tokenInfoDto.heuristic.lower),
|
|
12755
|
-
upper: new BN2__default.default(tokenInfoDto.heuristic.upper),
|
|
12756
|
-
exp: new BN2__default.default(tokenInfoDto.heuristic.exp)
|
|
12757
|
-
},
|
|
12758
|
-
maxTwapDivergenceBps: new BN2__default.default(tokenInfoDto.maxTwapDivergenceBps),
|
|
12759
|
-
maxAgePriceSeconds: new BN2__default.default(tokenInfoDto.maxAgePriceSeconds),
|
|
12760
|
-
maxAgeTwapSeconds: new BN2__default.default(tokenInfoDto.maxAgeTwapSeconds),
|
|
12761
|
-
scopeConfiguration: {
|
|
12762
|
-
priceFeed: new web3_js.PublicKey(tokenInfoDto.scopeConfiguration.priceFeed),
|
|
12763
|
-
priceChain: tokenInfoDto.scopeConfiguration.priceChain,
|
|
12764
|
-
twapChain: tokenInfoDto.scopeConfiguration.twapChain
|
|
12765
|
-
},
|
|
12766
|
-
switchboardConfiguration: {
|
|
12767
|
-
priceAggregator: new web3_js.PublicKey(
|
|
12768
|
-
tokenInfoDto.switchboardConfiguration.priceAggregator
|
|
12436
|
+
accumulatedReferrerFeesSf: new BN5__default.default(
|
|
12437
|
+
reserveDto.liquidity.accumulatedReferrerFeesSf
|
|
12769
12438
|
),
|
|
12770
|
-
|
|
12771
|
-
tokenInfoDto.switchboardConfiguration.twapAggregator
|
|
12772
|
-
)
|
|
12773
|
-
},
|
|
12774
|
-
pythConfiguration: {
|
|
12775
|
-
price: new web3_js.PublicKey(tokenInfoDto.pythConfiguration.price)
|
|
12439
|
+
pendingReferrerFeesSf: new BN5__default.default(reserveDto.liquidity.pendingReferrerFeesSf)
|
|
12776
12440
|
},
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
|
|
12781
|
-
}
|
|
12782
|
-
|
|
12783
|
-
|
|
12784
|
-
|
|
12785
|
-
|
|
12786
|
-
|
|
12787
|
-
|
|
12788
|
-
|
|
12789
|
-
|
|
12790
|
-
|
|
12791
|
-
|
|
12792
|
-
|
|
12793
|
-
|
|
12794
|
-
|
|
12795
|
-
|
|
12796
|
-
|
|
12797
|
-
|
|
12798
|
-
|
|
12799
|
-
|
|
12800
|
-
|
|
12801
|
-
|
|
12802
|
-
|
|
12803
|
-
|
|
12804
|
-
}
|
|
12805
|
-
|
|
12806
|
-
|
|
12807
|
-
|
|
12808
|
-
|
|
12809
|
-
|
|
12810
|
-
|
|
12811
|
-
|
|
12812
|
-
padding: obligationLiquidityDto.cumulativeBorrowRateBsf.padding.map(
|
|
12813
|
-
(item) => new BN2__default.default(item)
|
|
12814
|
-
)
|
|
12815
|
-
},
|
|
12816
|
-
padding: new BN2__default.default(obligationLiquidityDto.padding),
|
|
12817
|
-
borrowedAmountSf: new BN2__default.default(obligationLiquidityDto.borrowedAmountSf),
|
|
12818
|
-
marketValueSf: new BN2__default.default(obligationLiquidityDto.marketValueSf),
|
|
12819
|
-
borrowFactorAdjustedMarketValueSf: new BN2__default.default(
|
|
12820
|
-
obligationLiquidityDto.borrowFactorAdjustedMarketValueSf
|
|
12821
|
-
),
|
|
12822
|
-
borrowedAmountOutsideElevationGroups: new BN2__default.default(
|
|
12823
|
-
obligationLiquidityDto.borrowedAmountOutsideElevationGroups
|
|
12824
|
-
),
|
|
12825
|
-
padding2: obligationLiquidityDto.padding2.map((item) => new BN2__default.default(item))
|
|
12826
|
-
};
|
|
12827
|
-
}
|
|
12828
|
-
function dtoToObligationOrderFields(obligationOrderDto) {
|
|
12829
|
-
return {
|
|
12830
|
-
conditionThresholdSf: new BN2__default.default(obligationOrderDto.conditionThresholdSf),
|
|
12831
|
-
opportunityParameterSf: new BN2__default.default(obligationOrderDto.opportunityParameterSf),
|
|
12832
|
-
minExecutionBonusBps: obligationOrderDto.minExecutionBonusBps,
|
|
12833
|
-
maxExecutionBonusBps: obligationOrderDto.maxExecutionBonusBps,
|
|
12834
|
-
conditionType: obligationOrderDto.conditionType,
|
|
12835
|
-
opportunityType: obligationOrderDto.opportunityType,
|
|
12836
|
-
padding1: obligationOrderDto.padding1,
|
|
12837
|
-
padding2: obligationOrderDto.padding2.map((item) => new BN2__default.default(item))
|
|
12441
|
+
collateral: {
|
|
12442
|
+
mintPubkey: new web3_js.PublicKey(reserveDto.collateral.mintPubkey),
|
|
12443
|
+
mintTotalSupply: new BN5__default.default(reserveDto.collateral.mintTotalSupply),
|
|
12444
|
+
supplyVault: new web3_js.PublicKey(reserveDto.collateral.supplyVault)
|
|
12445
|
+
},
|
|
12446
|
+
config: {
|
|
12447
|
+
protocolTakeRatePct: reserveDto.config.protocolTakeRatePct,
|
|
12448
|
+
hostFixedInterestRateBps: reserveDto.config.hostFixedInterestRateBps,
|
|
12449
|
+
borrowRateCurve: {
|
|
12450
|
+
points: reserveDto.config.borrowRateCurve.points.map((item) => ({
|
|
12451
|
+
utilizationRateBps: item.utilizationRateBps,
|
|
12452
|
+
borrowRateBps: item.borrowRateBps
|
|
12453
|
+
}))
|
|
12454
|
+
},
|
|
12455
|
+
tokenInfo: {
|
|
12456
|
+
scopeConfiguration: {
|
|
12457
|
+
priceFeed: new web3_js.PublicKey(
|
|
12458
|
+
reserveDto.config.tokenInfo.scopeConfiguration.priceFeed
|
|
12459
|
+
)
|
|
12460
|
+
},
|
|
12461
|
+
switchboardConfiguration: {
|
|
12462
|
+
priceAggregator: new web3_js.PublicKey(
|
|
12463
|
+
reserveDto.config.tokenInfo.switchboardConfiguration.priceAggregator
|
|
12464
|
+
),
|
|
12465
|
+
twapAggregator: new web3_js.PublicKey(
|
|
12466
|
+
reserveDto.config.tokenInfo.switchboardConfiguration.twapAggregator
|
|
12467
|
+
)
|
|
12468
|
+
},
|
|
12469
|
+
pythConfiguration: {
|
|
12470
|
+
price: new web3_js.PublicKey(
|
|
12471
|
+
reserveDto.config.tokenInfo.pythConfiguration.price
|
|
12472
|
+
)
|
|
12473
|
+
}
|
|
12474
|
+
}
|
|
12475
|
+
}
|
|
12838
12476
|
};
|
|
12839
12477
|
}
|
|
12840
12478
|
var SEED_LENDING_MARKET_AUTH = "lma";
|
|
@@ -12960,9 +12598,9 @@ var Fraction = class _Fraction {
|
|
|
12960
12598
|
static MAX_SIZE_BF = 256;
|
|
12961
12599
|
static FRACTIONS = 60;
|
|
12962
12600
|
static MULTIPLIER = new FractionDecimal(2).pow(_Fraction.FRACTIONS);
|
|
12963
|
-
static MAX_F_BN = new
|
|
12964
|
-
static MAX_BF_BN = new
|
|
12965
|
-
static MIN_BN = new
|
|
12601
|
+
static MAX_F_BN = new BN5__default.default(2).pow(new BN5__default.default(_Fraction.MAX_SIZE_F)).sub(new BN5__default.default(1));
|
|
12602
|
+
static MAX_BF_BN = new BN5__default.default(2).pow(new BN5__default.default(_Fraction.MAX_SIZE_BF)).sub(new BN5__default.default(1));
|
|
12603
|
+
static MIN_BN = new BN5__default.default(0);
|
|
12966
12604
|
valueSf;
|
|
12967
12605
|
constructor(valueSf) {
|
|
12968
12606
|
if (valueSf.lt(_Fraction.MIN_BN) || valueSf.gt(_Fraction.MAX_BF_BN)) {
|
|
@@ -12978,7 +12616,7 @@ var Fraction = class _Fraction {
|
|
|
12978
12616
|
static fromDecimal(n) {
|
|
12979
12617
|
const scaledDecimal = new FractionDecimal(n).mul(_Fraction.MULTIPLIER);
|
|
12980
12618
|
const roundedScaledDecimal = roundNearest(scaledDecimal);
|
|
12981
|
-
const scaledValue = new
|
|
12619
|
+
const scaledValue = new BN5__default.default(roundedScaledDecimal.toFixed());
|
|
12982
12620
|
return new _Fraction(scaledValue);
|
|
12983
12621
|
}
|
|
12984
12622
|
static fromBps(n) {
|
|
@@ -13008,7 +12646,7 @@ var Fraction = class _Fraction {
|
|
|
13008
12646
|
return this.valueSf.eq(x.getValue());
|
|
13009
12647
|
}
|
|
13010
12648
|
};
|
|
13011
|
-
new Fraction(new
|
|
12649
|
+
new Fraction(new BN5__default.default(0));
|
|
13012
12650
|
function roundNearest(decimal) {
|
|
13013
12651
|
return decimal.toDecimalPlaces(0, Decimal3__default.default.ROUND_HALF_CEIL);
|
|
13014
12652
|
}
|
|
@@ -13211,76 +12849,25 @@ function lamportsToNumberDecimal(amount, decimals) {
|
|
|
13211
12849
|
}
|
|
13212
12850
|
|
|
13213
12851
|
// src/vendor/klend/utils/farms/serialize.utils.ts
|
|
13214
|
-
function
|
|
12852
|
+
function kaminoFarmStateToDto(farmState) {
|
|
13215
12853
|
return {
|
|
13216
|
-
farmAdmin: farmRaw.farmAdmin.toBase58(),
|
|
13217
|
-
globalConfig: farmRaw.globalConfig.toBase58(),
|
|
13218
12854
|
token: {
|
|
13219
|
-
mint:
|
|
13220
|
-
decimals:
|
|
13221
|
-
tokenProgram: farmRaw.token.tokenProgram.toBase58(),
|
|
13222
|
-
padding: farmRaw.token.padding.map((p) => p.toString())
|
|
12855
|
+
mint: farmState.token.mint.toBase58(),
|
|
12856
|
+
decimals: farmState.token.decimals.toString()
|
|
13223
12857
|
},
|
|
13224
|
-
rewardInfos:
|
|
12858
|
+
rewardInfos: farmState.rewardInfos.map((item) => ({
|
|
13225
12859
|
token: {
|
|
13226
12860
|
mint: item.token.mint.toBase58(),
|
|
13227
|
-
decimals: item.token.decimals.toString()
|
|
13228
|
-
tokenProgram: item.token.tokenProgram.toBase58(),
|
|
13229
|
-
padding: item.token.padding.map((p) => p.toString())
|
|
12861
|
+
decimals: item.token.decimals.toString()
|
|
13230
12862
|
},
|
|
13231
|
-
|
|
13232
|
-
rewardsAvailable: item.rewardsAvailable.toString(),
|
|
12863
|
+
rewardsPerSecondDecimals: item.rewardsPerSecondDecimals,
|
|
13233
12864
|
rewardScheduleCurve: {
|
|
13234
12865
|
points: item.rewardScheduleCurve.points.map((p) => ({
|
|
13235
12866
|
tsStart: p.tsStart.toString(),
|
|
13236
12867
|
rewardPerTimeUnit: p.rewardPerTimeUnit.toString()
|
|
13237
12868
|
}))
|
|
13238
|
-
}
|
|
13239
|
-
|
|
13240
|
-
lastIssuanceTs: item.lastIssuanceTs.toString(),
|
|
13241
|
-
rewardsIssuedUnclaimed: item.rewardsIssuedUnclaimed.toString(),
|
|
13242
|
-
rewardsIssuedCumulative: item.rewardsIssuedCumulative.toString(),
|
|
13243
|
-
rewardPerShareScaled: item.rewardPerShareScaled.toString(),
|
|
13244
|
-
placeholder0: item.placeholder0.toString(),
|
|
13245
|
-
rewardType: item.rewardType,
|
|
13246
|
-
rewardsPerSecondDecimals: item.rewardsPerSecondDecimals,
|
|
13247
|
-
padding0: item.padding0,
|
|
13248
|
-
padding1: item.padding1.map((p) => p.toString())
|
|
13249
|
-
})),
|
|
13250
|
-
numRewardTokens: farmRaw.numRewardTokens.toString(),
|
|
13251
|
-
numUsers: farmRaw.numUsers.toString(),
|
|
13252
|
-
totalStakedAmount: farmRaw.totalStakedAmount.toString(),
|
|
13253
|
-
farmVault: farmRaw.farmVault.toBase58(),
|
|
13254
|
-
farmVaultsAuthority: farmRaw.farmVaultsAuthority.toBase58(),
|
|
13255
|
-
farmVaultsAuthorityBump: farmRaw.farmVaultsAuthorityBump.toString(),
|
|
13256
|
-
delegateAuthority: farmRaw.delegateAuthority.toBase58(),
|
|
13257
|
-
timeUnit: farmRaw.timeUnit,
|
|
13258
|
-
isFarmFrozen: farmRaw.isFarmFrozen,
|
|
13259
|
-
isFarmDelegated: farmRaw.isFarmDelegated,
|
|
13260
|
-
padding0: farmRaw.padding0,
|
|
13261
|
-
withdrawAuthority: farmRaw.withdrawAuthority.toBase58(),
|
|
13262
|
-
depositWarmupPeriod: farmRaw.depositWarmupPeriod,
|
|
13263
|
-
withdrawalCooldownPeriod: farmRaw.withdrawalCooldownPeriod,
|
|
13264
|
-
totalActiveStakeScaled: farmRaw.totalActiveStakeScaled.toString(),
|
|
13265
|
-
totalPendingStakeScaled: farmRaw.totalPendingStakeScaled.toString(),
|
|
13266
|
-
totalPendingAmount: farmRaw.totalPendingAmount.toString(),
|
|
13267
|
-
slashedAmountCurrent: farmRaw.slashedAmountCurrent.toString(),
|
|
13268
|
-
slashedAmountCumulative: farmRaw.slashedAmountCumulative.toString(),
|
|
13269
|
-
slashedAmountSpillAddress: farmRaw.slashedAmountSpillAddress.toBase58(),
|
|
13270
|
-
lockingMode: farmRaw.lockingMode.toString(),
|
|
13271
|
-
lockingStartTimestamp: farmRaw.lockingStartTimestamp.toString(),
|
|
13272
|
-
lockingDuration: farmRaw.lockingDuration.toString(),
|
|
13273
|
-
lockingEarlyWithdrawalPenaltyBps: farmRaw.lockingEarlyWithdrawalPenaltyBps.toString(),
|
|
13274
|
-
depositCapAmount: farmRaw.depositCapAmount.toString(),
|
|
13275
|
-
scopePrices: farmRaw.scopePrices.toBase58(),
|
|
13276
|
-
scopeOraclePriceId: farmRaw.scopeOraclePriceId.toString(),
|
|
13277
|
-
scopeOracleMaxAge: farmRaw.scopeOracleMaxAge.toString(),
|
|
13278
|
-
pendingFarmAdmin: farmRaw.pendingFarmAdmin.toBase58(),
|
|
13279
|
-
strategyId: farmRaw.strategyId.toBase58(),
|
|
13280
|
-
delegatedRpsAdmin: farmRaw.delegatedRpsAdmin.toBase58(),
|
|
13281
|
-
vaultId: farmRaw.vaultId.toBase58(),
|
|
13282
|
-
secondDelegatedAuthority: farmRaw.secondDelegatedAuthority.toBase58(),
|
|
13283
|
-
padding: farmRaw.padding.map((item) => item.toString())
|
|
12869
|
+
}
|
|
12870
|
+
}))
|
|
13284
12871
|
};
|
|
13285
12872
|
}
|
|
13286
12873
|
var farmDiscriminator = Buffer.from([198, 102, 216, 74, 63, 66, 163, 190]);
|
|
@@ -13375,78 +12962,25 @@ function decodeFarmDataRaw(data) {
|
|
|
13375
12962
|
const dec = farmLayout.decode(data.slice(8));
|
|
13376
12963
|
return dec;
|
|
13377
12964
|
}
|
|
13378
|
-
function
|
|
12965
|
+
function dtoToKaminoFarmState(dto) {
|
|
13379
12966
|
return {
|
|
13380
|
-
farmAdmin: new web3_js.PublicKey(dto.farmAdmin),
|
|
13381
|
-
globalConfig: new web3_js.PublicKey(dto.globalConfig),
|
|
13382
12967
|
token: {
|
|
13383
12968
|
mint: new web3_js.PublicKey(dto.token.mint),
|
|
13384
|
-
decimals: new
|
|
13385
|
-
tokenProgram: new web3_js.PublicKey(dto.token.tokenProgram),
|
|
13386
|
-
padding: dto.token.padding.map((item) => new BN2__default.default(item))
|
|
12969
|
+
decimals: new BN5__default.default(dto.token.decimals)
|
|
13387
12970
|
},
|
|
13388
12971
|
rewardInfos: dto.rewardInfos.map((item) => ({
|
|
13389
12972
|
token: {
|
|
13390
12973
|
mint: new web3_js.PublicKey(item.token.mint),
|
|
13391
|
-
decimals: new
|
|
13392
|
-
tokenProgram: new web3_js.PublicKey(item.token.tokenProgram),
|
|
13393
|
-
padding: item.token.padding.map((p) => new BN2__default.default(p))
|
|
12974
|
+
decimals: new BN5__default.default(item.token.decimals)
|
|
13394
12975
|
},
|
|
13395
|
-
|
|
13396
|
-
rewardsAvailable: new BN2__default.default(item.rewardsAvailable),
|
|
12976
|
+
rewardsPerSecondDecimals: item.rewardsPerSecondDecimals,
|
|
13397
12977
|
rewardScheduleCurve: {
|
|
13398
12978
|
points: item.rewardScheduleCurve.points.map((p) => ({
|
|
13399
|
-
tsStart: new
|
|
13400
|
-
rewardPerTimeUnit: new
|
|
12979
|
+
tsStart: new BN5__default.default(p.tsStart),
|
|
12980
|
+
rewardPerTimeUnit: new BN5__default.default(p.rewardPerTimeUnit)
|
|
13401
12981
|
}))
|
|
13402
|
-
}
|
|
13403
|
-
|
|
13404
|
-
lastIssuanceTs: new BN2__default.default(item.lastIssuanceTs),
|
|
13405
|
-
rewardsIssuedUnclaimed: new BN2__default.default(item.rewardsIssuedUnclaimed),
|
|
13406
|
-
rewardsIssuedCumulative: new BN2__default.default(item.rewardsIssuedCumulative),
|
|
13407
|
-
rewardPerShareScaled: new BN2__default.default(item.rewardPerShareScaled),
|
|
13408
|
-
placeholder0: new BN2__default.default(item.placeholder0),
|
|
13409
|
-
rewardType: item.rewardType,
|
|
13410
|
-
rewardsPerSecondDecimals: item.rewardsPerSecondDecimals,
|
|
13411
|
-
padding0: item.padding0,
|
|
13412
|
-
padding1: item.padding1.map((p) => new BN2__default.default(p))
|
|
13413
|
-
})),
|
|
13414
|
-
numRewardTokens: new BN2__default.default(dto.numRewardTokens),
|
|
13415
|
-
numUsers: new BN2__default.default(dto.numUsers),
|
|
13416
|
-
totalStakedAmount: new BN2__default.default(dto.totalStakedAmount),
|
|
13417
|
-
farmVault: new web3_js.PublicKey(dto.farmVault),
|
|
13418
|
-
farmVaultsAuthority: new web3_js.PublicKey(dto.farmVaultsAuthority),
|
|
13419
|
-
farmVaultsAuthorityBump: new BN2__default.default(dto.farmVaultsAuthorityBump),
|
|
13420
|
-
delegateAuthority: new web3_js.PublicKey(dto.delegateAuthority),
|
|
13421
|
-
timeUnit: dto.timeUnit,
|
|
13422
|
-
isFarmFrozen: dto.isFarmFrozen,
|
|
13423
|
-
isFarmDelegated: dto.isFarmDelegated,
|
|
13424
|
-
padding0: dto.padding0,
|
|
13425
|
-
withdrawAuthority: new web3_js.PublicKey(dto.withdrawAuthority),
|
|
13426
|
-
depositWarmupPeriod: dto.depositWarmupPeriod,
|
|
13427
|
-
withdrawalCooldownPeriod: dto.withdrawalCooldownPeriod,
|
|
13428
|
-
totalActiveStakeScaled: new BN2__default.default(dto.totalActiveStakeScaled),
|
|
13429
|
-
totalPendingStakeScaled: new BN2__default.default(dto.totalPendingStakeScaled),
|
|
13430
|
-
totalPendingAmount: new BN2__default.default(dto.totalPendingAmount),
|
|
13431
|
-
slashedAmountCurrent: new BN2__default.default(dto.slashedAmountCurrent),
|
|
13432
|
-
slashedAmountCumulative: new BN2__default.default(dto.slashedAmountCumulative),
|
|
13433
|
-
slashedAmountSpillAddress: new web3_js.PublicKey(dto.slashedAmountSpillAddress),
|
|
13434
|
-
lockingMode: new BN2__default.default(dto.lockingMode),
|
|
13435
|
-
lockingStartTimestamp: new BN2__default.default(dto.lockingStartTimestamp),
|
|
13436
|
-
lockingDuration: new BN2__default.default(dto.lockingDuration),
|
|
13437
|
-
lockingEarlyWithdrawalPenaltyBps: new BN2__default.default(
|
|
13438
|
-
dto.lockingEarlyWithdrawalPenaltyBps
|
|
13439
|
-
),
|
|
13440
|
-
depositCapAmount: new BN2__default.default(dto.depositCapAmount),
|
|
13441
|
-
scopePrices: new web3_js.PublicKey(dto.scopePrices),
|
|
13442
|
-
scopeOraclePriceId: new BN2__default.default(dto.scopeOraclePriceId),
|
|
13443
|
-
scopeOracleMaxAge: new BN2__default.default(dto.scopeOracleMaxAge),
|
|
13444
|
-
pendingFarmAdmin: new web3_js.PublicKey(dto.pendingFarmAdmin),
|
|
13445
|
-
strategyId: new web3_js.PublicKey(dto.strategyId),
|
|
13446
|
-
delegatedRpsAdmin: new web3_js.PublicKey(dto.delegatedRpsAdmin),
|
|
13447
|
-
vaultId: new web3_js.PublicKey(dto.vaultId),
|
|
13448
|
-
secondDelegatedAuthority: new web3_js.PublicKey(dto.secondDelegatedAuthority),
|
|
13449
|
-
padding: dto.padding.map((item) => new BN2__default.default(item))
|
|
12982
|
+
}
|
|
12983
|
+
}))
|
|
13450
12984
|
};
|
|
13451
12985
|
}
|
|
13452
12986
|
|
|
@@ -27608,23 +27142,23 @@ function dtoToDriftUserStatsRaw(userStatsDto) {
|
|
|
27608
27142
|
authority: new web3_js.PublicKey(userStatsDto.authority),
|
|
27609
27143
|
referrer: new web3_js.PublicKey(userStatsDto.referrer),
|
|
27610
27144
|
fees: {
|
|
27611
|
-
totalFeePaid: new
|
|
27612
|
-
totalFeeRebate: new
|
|
27613
|
-
totalTokenDiscount: new
|
|
27614
|
-
totalRefereeDiscount: new
|
|
27615
|
-
totalReferrerReward: new
|
|
27616
|
-
currentEpochReferrerReward: new
|
|
27145
|
+
totalFeePaid: new BN5__default.default(userStatsDto.fees.totalFeePaid),
|
|
27146
|
+
totalFeeRebate: new BN5__default.default(userStatsDto.fees.totalFeeRebate),
|
|
27147
|
+
totalTokenDiscount: new BN5__default.default(userStatsDto.fees.totalTokenDiscount),
|
|
27148
|
+
totalRefereeDiscount: new BN5__default.default(userStatsDto.fees.totalRefereeDiscount),
|
|
27149
|
+
totalReferrerReward: new BN5__default.default(userStatsDto.fees.totalReferrerReward),
|
|
27150
|
+
currentEpochReferrerReward: new BN5__default.default(
|
|
27617
27151
|
userStatsDto.fees.currentEpochReferrerReward
|
|
27618
27152
|
)
|
|
27619
27153
|
},
|
|
27620
|
-
nextEpochTs: new
|
|
27621
|
-
makerVolume30d: new
|
|
27622
|
-
takerVolume30d: new
|
|
27623
|
-
fillerVolume30d: new
|
|
27624
|
-
lastMakerVolume30dTs: new
|
|
27625
|
-
lastTakerVolume30dTs: new
|
|
27626
|
-
lastFillerVolume30dTs: new
|
|
27627
|
-
ifStakedQuoteAssetAmount: new
|
|
27154
|
+
nextEpochTs: new BN5__default.default(userStatsDto.nextEpochTs),
|
|
27155
|
+
makerVolume30d: new BN5__default.default(userStatsDto.makerVolume30d),
|
|
27156
|
+
takerVolume30d: new BN5__default.default(userStatsDto.takerVolume30d),
|
|
27157
|
+
fillerVolume30d: new BN5__default.default(userStatsDto.fillerVolume30d),
|
|
27158
|
+
lastMakerVolume30dTs: new BN5__default.default(userStatsDto.lastMakerVolume30dTs),
|
|
27159
|
+
lastTakerVolume30dTs: new BN5__default.default(userStatsDto.lastTakerVolume30dTs),
|
|
27160
|
+
lastFillerVolume30dTs: new BN5__default.default(userStatsDto.lastFillerVolume30dTs),
|
|
27161
|
+
ifStakedQuoteAssetAmount: new BN5__default.default(userStatsDto.ifStakedQuoteAssetAmount),
|
|
27628
27162
|
numberOfSubAccounts: userStatsDto.numberOfSubAccounts,
|
|
27629
27163
|
numberOfSubAccountsCreated: userStatsDto.numberOfSubAccountsCreated,
|
|
27630
27164
|
referrerStatus: userStatsDto.referrerStatus,
|
|
@@ -27637,7 +27171,7 @@ function dtoToDriftUserStatsRaw(userStatsDto) {
|
|
|
27637
27171
|
fuelPositions: userStatsDto.fuelPositions,
|
|
27638
27172
|
fuelTaker: userStatsDto.fuelTaker,
|
|
27639
27173
|
fuelMaker: userStatsDto.fuelMaker,
|
|
27640
|
-
ifStakedGovTokenAmount: new
|
|
27174
|
+
ifStakedGovTokenAmount: new BN5__default.default(userStatsDto.ifStakedGovTokenAmount),
|
|
27641
27175
|
lastFuelIfBonusUpdateTs: userStatsDto.lastFuelIfBonusUpdateTs,
|
|
27642
27176
|
padding: userStatsDto.padding
|
|
27643
27177
|
};
|
|
@@ -27646,10 +27180,10 @@ function dtoToDriftUserRaw(userDto) {
|
|
|
27646
27180
|
return {
|
|
27647
27181
|
authority: new web3_js.PublicKey(userDto.authority),
|
|
27648
27182
|
spotPositions: userDto.spotPositions.map((p) => ({
|
|
27649
|
-
scaledBalance: new
|
|
27650
|
-
openBids: new
|
|
27651
|
-
openAsks: new
|
|
27652
|
-
cumulativeDeposits: new
|
|
27183
|
+
scaledBalance: new BN5__default.default(p.scaledBalance),
|
|
27184
|
+
openBids: new BN5__default.default(p.openBids),
|
|
27185
|
+
openAsks: new BN5__default.default(p.openAsks),
|
|
27186
|
+
cumulativeDeposits: new BN5__default.default(p.cumulativeDeposits),
|
|
27653
27187
|
marketIndex: p.marketIndex,
|
|
27654
27188
|
balanceType: p.balanceType,
|
|
27655
27189
|
openOrders: p.openOrders,
|
|
@@ -27667,9 +27201,9 @@ function dtoToDriftStateRaw(stateDto) {
|
|
|
27667
27201
|
perpFeeStructure: stateDto.perpFeeStructure,
|
|
27668
27202
|
spotFeeStructure: stateDto.spotFeeStructure,
|
|
27669
27203
|
oracleGuardRails: stateDto.oracleGuardRails,
|
|
27670
|
-
numberOfAuthorities: new
|
|
27671
|
-
numberOfSubAccounts: new
|
|
27672
|
-
lpCooldownTime: new
|
|
27204
|
+
numberOfAuthorities: new BN5__default.default(stateDto.numberOfAuthorities),
|
|
27205
|
+
numberOfSubAccounts: new BN5__default.default(stateDto.numberOfSubAccounts),
|
|
27206
|
+
lpCooldownTime: new BN5__default.default(stateDto.lpCooldownTime),
|
|
27673
27207
|
liquidationMarginBufferRatio: stateDto.liquidationMarginBufferRatio,
|
|
27674
27208
|
settlementDuration: stateDto.settlementDuration,
|
|
27675
27209
|
numberOfMarkets: stateDto.numberOfMarkets,
|
|
@@ -27693,10 +27227,10 @@ function dtoToDriftRewardsRaw(rewardsDto) {
|
|
|
27693
27227
|
spotMarket: new web3_js.PublicKey(rewardsDto.spotMarket),
|
|
27694
27228
|
mint: new web3_js.PublicKey(rewardsDto.mint),
|
|
27695
27229
|
spotPosition: {
|
|
27696
|
-
scaledBalance: new
|
|
27697
|
-
openBids: new
|
|
27698
|
-
openAsks: new
|
|
27699
|
-
cumulativeDeposits: new
|
|
27230
|
+
scaledBalance: new BN5__default.default(rewardsDto.spotPosition.scaledBalance),
|
|
27231
|
+
openBids: new BN5__default.default(rewardsDto.spotPosition.openBids),
|
|
27232
|
+
openAsks: new BN5__default.default(rewardsDto.spotPosition.openAsks),
|
|
27233
|
+
cumulativeDeposits: new BN5__default.default(rewardsDto.spotPosition.cumulativeDeposits),
|
|
27700
27234
|
marketIndex: rewardsDto.spotPosition.marketIndex,
|
|
27701
27235
|
balanceType: rewardsDto.spotPosition.balanceType,
|
|
27702
27236
|
openOrders: rewardsDto.spotPosition.openOrders,
|
|
@@ -27710,11 +27244,11 @@ function dtoToDriftSpotMarketRaw(spotMarketDto) {
|
|
|
27710
27244
|
oracle: new web3_js.PublicKey(spotMarketDto.oracle),
|
|
27711
27245
|
mint: new web3_js.PublicKey(spotMarketDto.mint),
|
|
27712
27246
|
decimals: spotMarketDto.decimals,
|
|
27713
|
-
cumulativeDepositInterest: new
|
|
27247
|
+
cumulativeDepositInterest: new BN5__default.default(spotMarketDto.cumulativeDepositInterest),
|
|
27714
27248
|
marketIndex: spotMarketDto.marketIndex,
|
|
27715
|
-
depositBalance: new
|
|
27716
|
-
borrowBalance: new
|
|
27717
|
-
cumulativeBorrowInterest: new
|
|
27249
|
+
depositBalance: new BN5__default.default(spotMarketDto.depositBalance),
|
|
27250
|
+
borrowBalance: new BN5__default.default(spotMarketDto.borrowBalance),
|
|
27251
|
+
cumulativeBorrowInterest: new BN5__default.default(spotMarketDto.cumulativeBorrowInterest),
|
|
27718
27252
|
optimalUtilization: spotMarketDto.optimalUtilization,
|
|
27719
27253
|
optimalBorrowRate: spotMarketDto.optimalBorrowRate,
|
|
27720
27254
|
maxBorrowRate: spotMarketDto.maxBorrowRate,
|
|
@@ -27836,10 +27370,10 @@ function decodeDriftUserData(data) {
|
|
|
27836
27370
|
return {
|
|
27837
27371
|
authority: decoded.authority,
|
|
27838
27372
|
spotPositions: decoded.spot_positions.map((p) => ({
|
|
27839
|
-
scaledBalance: new
|
|
27840
|
-
openBids: new
|
|
27841
|
-
openAsks: new
|
|
27842
|
-
cumulativeDeposits: new
|
|
27373
|
+
scaledBalance: new BN5__default.default(p.scaled_balance),
|
|
27374
|
+
openBids: new BN5__default.default(p.open_bids),
|
|
27375
|
+
openAsks: new BN5__default.default(p.open_asks),
|
|
27376
|
+
cumulativeDeposits: new BN5__default.default(p.cumulative_deposits),
|
|
27843
27377
|
marketIndex: p.market_index,
|
|
27844
27378
|
balanceType: p.balance_type,
|
|
27845
27379
|
openOrders: p.open_orders,
|
|
@@ -27946,7 +27480,7 @@ function deriveDriftUser(authority, subAccountId, programId = DRIFT_PROGRAM_ID)
|
|
|
27946
27480
|
[
|
|
27947
27481
|
Buffer.from(SEED_USER),
|
|
27948
27482
|
authority.toBuffer(),
|
|
27949
|
-
new
|
|
27483
|
+
new BN5__default.default(subAccountId).toArrayLike(Buffer, "le", 2)
|
|
27950
27484
|
],
|
|
27951
27485
|
programId
|
|
27952
27486
|
);
|
|
@@ -27961,7 +27495,7 @@ function deriveDriftSpotMarket(marketIndex, programId = DRIFT_PROGRAM_ID) {
|
|
|
27961
27495
|
return web3_js.PublicKey.findProgramAddressSync(
|
|
27962
27496
|
[
|
|
27963
27497
|
Buffer.from(SEED_SPOT_MARKET),
|
|
27964
|
-
new
|
|
27498
|
+
new BN5__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
|
|
27965
27499
|
],
|
|
27966
27500
|
programId
|
|
27967
27501
|
);
|
|
@@ -27970,23 +27504,23 @@ function deriveDriftSpotMarketVault(marketIndex, programId = DRIFT_PROGRAM_ID) {
|
|
|
27970
27504
|
return web3_js.PublicKey.findProgramAddressSync(
|
|
27971
27505
|
[
|
|
27972
27506
|
Buffer.from(SEED_SPOT_MARKET_VAULT),
|
|
27973
|
-
new
|
|
27507
|
+
new BN5__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
|
|
27974
27508
|
],
|
|
27975
27509
|
programId
|
|
27976
27510
|
);
|
|
27977
27511
|
}
|
|
27978
|
-
var ZERO = new
|
|
27979
|
-
var ONE = new
|
|
27980
|
-
var TEN = new
|
|
27981
|
-
var PERCENTAGE_PRECISION_EXP = new
|
|
27982
|
-
var PERCENTAGE_PRECISION = new
|
|
27983
|
-
var SPOT_MARKET_RATE_PRECISION_EXP = new
|
|
27984
|
-
var SPOT_MARKET_RATE_PRECISION = new
|
|
27985
|
-
var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new
|
|
27986
|
-
var SPOT_MARKET_UTILIZATION_PRECISION = new
|
|
27512
|
+
var ZERO = new BN5__default.default(0);
|
|
27513
|
+
var ONE = new BN5__default.default(1);
|
|
27514
|
+
var TEN = new BN5__default.default(10);
|
|
27515
|
+
var PERCENTAGE_PRECISION_EXP = new BN5__default.default(6);
|
|
27516
|
+
var PERCENTAGE_PRECISION = new BN5__default.default(10).pow(PERCENTAGE_PRECISION_EXP);
|
|
27517
|
+
var SPOT_MARKET_RATE_PRECISION_EXP = new BN5__default.default(6);
|
|
27518
|
+
var SPOT_MARKET_RATE_PRECISION = new BN5__default.default(10).pow(SPOT_MARKET_RATE_PRECISION_EXP);
|
|
27519
|
+
var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new BN5__default.default(6);
|
|
27520
|
+
var SPOT_MARKET_UTILIZATION_PRECISION = new BN5__default.default(10).pow(
|
|
27987
27521
|
SPOT_MARKET_UTILIZATION_PRECISION_EXP
|
|
27988
27522
|
);
|
|
27989
|
-
var ONE_YEAR = new
|
|
27523
|
+
var ONE_YEAR = new BN5__default.default(31536e3);
|
|
27990
27524
|
function divCeil(a, b) {
|
|
27991
27525
|
const quotient = a.div(b);
|
|
27992
27526
|
const remainder = a.mod(b);
|
|
@@ -27996,7 +27530,7 @@ function divCeil(a, b) {
|
|
|
27996
27530
|
return quotient;
|
|
27997
27531
|
}
|
|
27998
27532
|
function getDriftTokenAmount(balanceAmount, spotMarket, balanceType) {
|
|
27999
|
-
const precisionDecrease = TEN.pow(new
|
|
27533
|
+
const precisionDecrease = TEN.pow(new BN5__default.default(19 - spotMarket.decimals));
|
|
28000
27534
|
if (isSpotBalanceTypeVariant(balanceType, "deposit")) {
|
|
28001
27535
|
return balanceAmount.mul(spotMarket.cumulativeDepositInterest).div(precisionDecrease);
|
|
28002
27536
|
} else {
|
|
@@ -28031,18 +27565,18 @@ function calculateDriftUtilization(bank, delta = ZERO) {
|
|
|
28031
27565
|
}
|
|
28032
27566
|
function calculateDriftInterestRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28033
27567
|
const utilization = currentUtilization || calculateDriftUtilization(bank, delta);
|
|
28034
|
-
const optimalUtil = new
|
|
28035
|
-
const optimalRate = new
|
|
28036
|
-
const maxRate = new
|
|
28037
|
-
const minRate = new
|
|
28038
|
-
const weightsDivisor = new
|
|
27568
|
+
const optimalUtil = new BN5__default.default(bank.optimalUtilization);
|
|
27569
|
+
const optimalRate = new BN5__default.default(bank.optimalBorrowRate);
|
|
27570
|
+
const maxRate = new BN5__default.default(bank.maxBorrowRate);
|
|
27571
|
+
const minRate = new BN5__default.default(bank.minBorrowRate).mul(PERCENTAGE_PRECISION.divn(200));
|
|
27572
|
+
const weightsDivisor = new BN5__default.default(1e3);
|
|
28039
27573
|
const segments = [
|
|
28040
|
-
[new
|
|
28041
|
-
[new
|
|
28042
|
-
[new
|
|
28043
|
-
[new
|
|
28044
|
-
[new
|
|
28045
|
-
[SPOT_MARKET_UTILIZATION_PRECISION, new
|
|
27574
|
+
[new BN5__default.default(85e4), new BN5__default.default(50)],
|
|
27575
|
+
[new BN5__default.default(9e5), new BN5__default.default(100)],
|
|
27576
|
+
[new BN5__default.default(95e4), new BN5__default.default(150)],
|
|
27577
|
+
[new BN5__default.default(99e4), new BN5__default.default(200)],
|
|
27578
|
+
[new BN5__default.default(995e3), new BN5__default.default(250)],
|
|
27579
|
+
[SPOT_MARKET_UTILIZATION_PRECISION, new BN5__default.default(250)]
|
|
28046
27580
|
];
|
|
28047
27581
|
let rate;
|
|
28048
27582
|
if (utilization.lte(optimalUtil)) {
|
|
@@ -28067,7 +27601,7 @@ function calculateDriftInterestRate(bank, delta = ZERO, currentUtilization = nul
|
|
|
28067
27601
|
}
|
|
28068
27602
|
}
|
|
28069
27603
|
}
|
|
28070
|
-
return
|
|
27604
|
+
return BN5__default.default.max(minRate, rate);
|
|
28071
27605
|
}
|
|
28072
27606
|
function calculateDriftBorrowRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28073
27607
|
return calculateDriftInterestRate(bank, delta, currentUtilization);
|
|
@@ -28075,7 +27609,7 @@ function calculateDriftBorrowRate(bank, delta = ZERO, currentUtilization = null)
|
|
|
28075
27609
|
function calculateDriftDepositRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28076
27610
|
const utilization = currentUtilization || calculateDriftUtilization(bank, delta);
|
|
28077
27611
|
const borrowRate = calculateDriftBorrowRate(bank, delta, utilization);
|
|
28078
|
-
const depositRate = borrowRate.mul(PERCENTAGE_PRECISION.sub(new
|
|
27612
|
+
const depositRate = borrowRate.mul(PERCENTAGE_PRECISION.sub(new BN5__default.default(bank.insuranceFund.totalFactor))).mul(utilization).div(SPOT_MARKET_UTILIZATION_PRECISION).div(PERCENTAGE_PRECISION);
|
|
28079
27613
|
return depositRate;
|
|
28080
27614
|
}
|
|
28081
27615
|
function calculateDriftLendingAPY(bank, delta = ZERO, currentUtilization = null, compoundingPeriodsPerYear = 365) {
|
|
@@ -28083,7 +27617,7 @@ function calculateDriftLendingAPY(bank, delta = ZERO, currentUtilization = null,
|
|
|
28083
27617
|
if (depositRate.eq(ZERO)) {
|
|
28084
27618
|
return ZERO;
|
|
28085
27619
|
}
|
|
28086
|
-
const CALC_PRECISION = new
|
|
27620
|
+
const CALC_PRECISION = new BN5__default.default(10).pow(new BN5__default.default(18));
|
|
28087
27621
|
const rateInCalcPrecisionDecimal = depositRate.mul(CALC_PRECISION).div(SPOT_MARKET_RATE_PRECISION);
|
|
28088
27622
|
let expResult = CALC_PRECISION;
|
|
28089
27623
|
let term = rateInCalcPrecisionDecimal;
|
|
@@ -28116,7 +27650,7 @@ function calculateDriftBorrowAPY(bank, delta = ZERO, currentUtilization = null,
|
|
|
28116
27650
|
if (borrowRate.eq(ZERO)) {
|
|
28117
27651
|
return ZERO;
|
|
28118
27652
|
}
|
|
28119
|
-
const CALC_PRECISION = new
|
|
27653
|
+
const CALC_PRECISION = new BN5__default.default(10).pow(new BN5__default.default(18));
|
|
28120
27654
|
const rateInCalcPrecisionDecimal = borrowRate.mul(CALC_PRECISION).div(SPOT_MARKET_RATE_PRECISION);
|
|
28121
27655
|
let expResult = CALC_PRECISION;
|
|
28122
27656
|
let term = rateInCalcPrecisionDecimal;
|
|
@@ -28152,7 +27686,7 @@ function calculateAPYFromAPR2(apr) {
|
|
|
28152
27686
|
function generateDriftReserveCurve(spotMarket) {
|
|
28153
27687
|
return Array.from({ length: 101 }, (_, i) => {
|
|
28154
27688
|
const utilizationPercent = i / 100;
|
|
28155
|
-
const utilizationBN = new
|
|
27689
|
+
const utilizationBN = new BN5__default.default(
|
|
28156
27690
|
Math.floor(utilizationPercent * SPOT_MARKET_UTILIZATION_PRECISION.toNumber())
|
|
28157
27691
|
);
|
|
28158
27692
|
const borrowRateBN = calculateDriftBorrowRate(spotMarket, ZERO, utilizationBN);
|
|
@@ -31558,29 +31092,29 @@ function decodeJupTokenReserveData(data, pubkey) {
|
|
|
31558
31092
|
offset += 2;
|
|
31559
31093
|
const lastUtilization = data.readUInt16LE(offset);
|
|
31560
31094
|
offset += 2;
|
|
31561
|
-
const lastUpdateTimestamp = new
|
|
31095
|
+
const lastUpdateTimestamp = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31562
31096
|
offset += 8;
|
|
31563
|
-
const supplyExchangePrice = new
|
|
31097
|
+
const supplyExchangePrice = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31564
31098
|
offset += 8;
|
|
31565
|
-
const borrowExchangePrice = new
|
|
31099
|
+
const borrowExchangePrice = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31566
31100
|
offset += 8;
|
|
31567
31101
|
const maxUtilization = data.readUInt16LE(offset);
|
|
31568
31102
|
offset += 2;
|
|
31569
|
-
const totalSupplyWithInterest = new
|
|
31103
|
+
const totalSupplyWithInterest = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31570
31104
|
offset += 8;
|
|
31571
|
-
const totalSupplyInterestFree = new
|
|
31105
|
+
const totalSupplyInterestFree = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31572
31106
|
offset += 8;
|
|
31573
|
-
const totalBorrowWithInterest = new
|
|
31107
|
+
const totalBorrowWithInterest = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31574
31108
|
offset += 8;
|
|
31575
|
-
const totalBorrowInterestFree = new
|
|
31109
|
+
const totalBorrowInterestFree = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31576
31110
|
offset += 8;
|
|
31577
|
-
const totalClaimAmount = new
|
|
31111
|
+
const totalClaimAmount = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31578
31112
|
offset += 8;
|
|
31579
31113
|
const interactingProtocol = new web3_js.PublicKey(data.slice(offset, offset + 32));
|
|
31580
31114
|
offset += 32;
|
|
31581
|
-
const interactingTimestamp = new
|
|
31115
|
+
const interactingTimestamp = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31582
31116
|
offset += 8;
|
|
31583
|
-
const interactingBalance = new
|
|
31117
|
+
const interactingBalance = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31584
31118
|
return {
|
|
31585
31119
|
pubkey,
|
|
31586
31120
|
mint,
|
|
@@ -31642,9 +31176,9 @@ function dtoToJupLendingStateRaw(dto) {
|
|
|
31642
31176
|
lendingId: dto.lendingId,
|
|
31643
31177
|
decimals: dto.decimals,
|
|
31644
31178
|
rewardsRateModel: new web3_js.PublicKey(dto.rewardsRateModel),
|
|
31645
|
-
liquidityExchangePrice: new
|
|
31646
|
-
tokenExchangePrice: new
|
|
31647
|
-
lastUpdateTimestamp: new
|
|
31179
|
+
liquidityExchangePrice: new BN5__default.default(dto.liquidityExchangePrice),
|
|
31180
|
+
tokenExchangePrice: new BN5__default.default(dto.tokenExchangePrice),
|
|
31181
|
+
lastUpdateTimestamp: new BN5__default.default(dto.lastUpdateTimestamp),
|
|
31648
31182
|
tokenReservesLiquidity: new web3_js.PublicKey(dto.tokenReservesLiquidity),
|
|
31649
31183
|
supplyPositionOnLiquidity: new web3_js.PublicKey(dto.supplyPositionOnLiquidity)
|
|
31650
31184
|
};
|
|
@@ -31657,30 +31191,30 @@ function dtoToJupTokenReserveRaw(dto) {
|
|
|
31657
31191
|
borrowRate: dto.borrowRate,
|
|
31658
31192
|
feeOnInterest: dto.feeOnInterest,
|
|
31659
31193
|
lastUtilization: dto.lastUtilization,
|
|
31660
|
-
lastUpdateTimestamp: new
|
|
31661
|
-
supplyExchangePrice: new
|
|
31662
|
-
borrowExchangePrice: new
|
|
31194
|
+
lastUpdateTimestamp: new BN5__default.default(dto.lastUpdateTimestamp),
|
|
31195
|
+
supplyExchangePrice: new BN5__default.default(dto.supplyExchangePrice),
|
|
31196
|
+
borrowExchangePrice: new BN5__default.default(dto.borrowExchangePrice),
|
|
31663
31197
|
maxUtilization: dto.maxUtilization,
|
|
31664
|
-
totalSupplyWithInterest: new
|
|
31665
|
-
totalSupplyInterestFree: new
|
|
31666
|
-
totalBorrowWithInterest: new
|
|
31667
|
-
totalBorrowInterestFree: new
|
|
31668
|
-
totalClaimAmount: new
|
|
31198
|
+
totalSupplyWithInterest: new BN5__default.default(dto.totalSupplyWithInterest),
|
|
31199
|
+
totalSupplyInterestFree: new BN5__default.default(dto.totalSupplyInterestFree),
|
|
31200
|
+
totalBorrowWithInterest: new BN5__default.default(dto.totalBorrowWithInterest),
|
|
31201
|
+
totalBorrowInterestFree: new BN5__default.default(dto.totalBorrowInterestFree),
|
|
31202
|
+
totalClaimAmount: new BN5__default.default(dto.totalClaimAmount),
|
|
31669
31203
|
interactingProtocol: new web3_js.PublicKey(dto.interactingProtocol),
|
|
31670
|
-
interactingTimestamp: new
|
|
31671
|
-
interactingBalance: new
|
|
31204
|
+
interactingTimestamp: new BN5__default.default(dto.interactingTimestamp),
|
|
31205
|
+
interactingBalance: new BN5__default.default(dto.interactingBalance)
|
|
31672
31206
|
};
|
|
31673
31207
|
}
|
|
31674
31208
|
function dtoToJupLendingRewardsRateModelRaw(dto) {
|
|
31675
31209
|
return {
|
|
31676
31210
|
pubkey: new web3_js.PublicKey(dto.pubkey),
|
|
31677
31211
|
mint: new web3_js.PublicKey(dto.mint),
|
|
31678
|
-
startTvl: new
|
|
31679
|
-
duration: new
|
|
31680
|
-
startTime: new
|
|
31681
|
-
yearlyReward: new
|
|
31682
|
-
nextDuration: new
|
|
31683
|
-
nextRewardAmount: new
|
|
31212
|
+
startTvl: new BN5__default.default(dto.startTvl),
|
|
31213
|
+
duration: new BN5__default.default(dto.duration),
|
|
31214
|
+
startTime: new BN5__default.default(dto.startTime),
|
|
31215
|
+
yearlyReward: new BN5__default.default(dto.yearlyReward),
|
|
31216
|
+
nextDuration: new BN5__default.default(dto.nextDuration),
|
|
31217
|
+
nextRewardAmount: new BN5__default.default(dto.nextRewardAmount)
|
|
31684
31218
|
};
|
|
31685
31219
|
}
|
|
31686
31220
|
function dtoToJupRateModelRaw(dto) {
|
|
@@ -31796,15 +31330,15 @@ function deriveJupLendLiquiditySupplyPositionPda(underlyingMint, lendingPda, liq
|
|
|
31796
31330
|
var aprToApy2 = (apr, compoundingFrequency = HOURS_PER_YEAR, apyCap = 3) => Math.min((1 + apr / compoundingFrequency) ** compoundingFrequency - 1, apyCap);
|
|
31797
31331
|
|
|
31798
31332
|
// src/vendor/jup-lend/utils/interest-rate.utils.ts
|
|
31799
|
-
var JUP_EXCHANGE_PRICES_PRECISION = new
|
|
31800
|
-
var JUP_SECONDS_PER_YEAR = new
|
|
31801
|
-
var JUP_MAX_REWARDS_RATE = new
|
|
31333
|
+
var JUP_EXCHANGE_PRICES_PRECISION = new BN5__default.default("1000000000000");
|
|
31334
|
+
var JUP_SECONDS_PER_YEAR = new BN5__default.default(31536e3);
|
|
31335
|
+
var JUP_MAX_REWARDS_RATE = new BN5__default.default("50000000000000");
|
|
31802
31336
|
function calculateJupLendTotalAssets(lendingState, fTokenTotalSupply) {
|
|
31803
31337
|
return lendingState.tokenExchangePrice.mul(fTokenTotalSupply).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
31804
31338
|
}
|
|
31805
31339
|
function calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp) {
|
|
31806
31340
|
const defaultResult = {
|
|
31807
|
-
rewardsRate: new
|
|
31341
|
+
rewardsRate: new BN5__default.default(0),
|
|
31808
31342
|
rewardsEnded: false,
|
|
31809
31343
|
rewardsStartTime: rewardsModel.startTime
|
|
31810
31344
|
};
|
|
@@ -31817,7 +31351,7 @@ function calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp
|
|
|
31817
31351
|
if (totalAssets.lt(rewardsModel.startTvl)) {
|
|
31818
31352
|
return defaultResult;
|
|
31819
31353
|
}
|
|
31820
|
-
let rewardsRate = rewardsModel.yearlyReward.mul(new
|
|
31354
|
+
let rewardsRate = rewardsModel.yearlyReward.mul(new BN5__default.default(1e4)).div(totalAssets);
|
|
31821
31355
|
if (rewardsRate.gt(JUP_MAX_REWARDS_RATE)) {
|
|
31822
31356
|
rewardsRate = JUP_MAX_REWARDS_RATE;
|
|
31823
31357
|
}
|
|
@@ -31828,7 +31362,7 @@ function calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp
|
|
|
31828
31362
|
};
|
|
31829
31363
|
}
|
|
31830
31364
|
function calculateJupLendRewardsRateForExchangePrice(rewardsModel, totalAssets, currentTimestamp) {
|
|
31831
|
-
const defaultResult = { rate: new
|
|
31365
|
+
const defaultResult = { rate: new BN5__default.default(0), rewardsStartTime: rewardsModel.startTime };
|
|
31832
31366
|
if (rewardsModel.startTime.isZero() || rewardsModel.duration.isZero()) {
|
|
31833
31367
|
return defaultResult;
|
|
31834
31368
|
}
|
|
@@ -31848,7 +31382,7 @@ function calculateJupLendNewExchangePrice(lendingState, tokenReserve, rewardsMod
|
|
|
31848
31382
|
const oldTokenExchangePrice = lendingState.tokenExchangePrice;
|
|
31849
31383
|
const oldLiquidityExchangePrice = lendingState.liquidityExchangePrice;
|
|
31850
31384
|
const currentLiquidityExchangePrice = tokenReserve.supplyExchangePrice;
|
|
31851
|
-
let rewardsRate = new
|
|
31385
|
+
let rewardsRate = new BN5__default.default(0);
|
|
31852
31386
|
let rewardsStartTime = lendingState.lastUpdateTimestamp;
|
|
31853
31387
|
if (rewardsModel) {
|
|
31854
31388
|
const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
|
|
@@ -31865,32 +31399,32 @@ function calculateJupLendNewExchangePrice(lendingState, tokenReserve, rewardsMod
|
|
|
31865
31399
|
lastUpdateTime = rewardsStartTime;
|
|
31866
31400
|
}
|
|
31867
31401
|
const secondsElapsed = currentTimestamp.sub(lastUpdateTime);
|
|
31868
|
-
let totalReturnPercent = rewardsRate.mul(secondsElapsed).div(JUP_SECONDS_PER_YEAR).mul(new
|
|
31402
|
+
let totalReturnPercent = rewardsRate.mul(secondsElapsed).div(JUP_SECONDS_PER_YEAR).mul(new BN5__default.default(100));
|
|
31869
31403
|
const delta = currentLiquidityExchangePrice.sub(oldLiquidityExchangePrice);
|
|
31870
31404
|
totalReturnPercent = totalReturnPercent.add(
|
|
31871
|
-
delta.mul(new
|
|
31405
|
+
delta.mul(new BN5__default.default(1e14)).div(oldLiquidityExchangePrice)
|
|
31872
31406
|
);
|
|
31873
|
-
return oldTokenExchangePrice.add(oldTokenExchangePrice.mul(totalReturnPercent).div(new
|
|
31407
|
+
return oldTokenExchangePrice.add(oldTokenExchangePrice.mul(totalReturnPercent).div(new BN5__default.default(1e14)));
|
|
31874
31408
|
}
|
|
31875
31409
|
function calculateJupLendLiquiditySupplyRate(tokenReserve) {
|
|
31876
|
-
const borrowRate = new
|
|
31877
|
-
const fee = new
|
|
31410
|
+
const borrowRate = new BN5__default.default(tokenReserve.borrowRate);
|
|
31411
|
+
const fee = new BN5__default.default(tokenReserve.feeOnInterest);
|
|
31878
31412
|
if (tokenReserve.totalSupplyWithInterest.isZero()) {
|
|
31879
|
-
return new
|
|
31413
|
+
return new BN5__default.default(0);
|
|
31880
31414
|
}
|
|
31881
31415
|
const borrowWithInterestForRate = tokenReserve.totalBorrowWithInterest.mul(tokenReserve.borrowExchangePrice).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
31882
31416
|
const supplyWithInterestForRate = tokenReserve.totalSupplyWithInterest.mul(tokenReserve.supplyExchangePrice).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
31883
31417
|
if (supplyWithInterestForRate.isZero()) {
|
|
31884
|
-
return new
|
|
31418
|
+
return new BN5__default.default(0);
|
|
31885
31419
|
}
|
|
31886
|
-
return borrowRate.mul(new
|
|
31420
|
+
return borrowRate.mul(new BN5__default.default(1e4).sub(fee)).mul(borrowWithInterestForRate).div(supplyWithInterestForRate.mul(new BN5__default.default(1e4)));
|
|
31887
31421
|
}
|
|
31888
31422
|
function calculateJupLendSupplyRate(lendingState, tokenReserve, rewardsModel, fTokenTotalSupply) {
|
|
31889
31423
|
const supplyRate = calculateJupLendLiquiditySupplyRate(tokenReserve);
|
|
31890
31424
|
let totalRateBps = supplyRate.toNumber();
|
|
31891
31425
|
if (rewardsModel) {
|
|
31892
31426
|
const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
|
|
31893
|
-
const currentTimestamp = new
|
|
31427
|
+
const currentTimestamp = new BN5__default.default(Math.floor(Date.now() / 1e3));
|
|
31894
31428
|
const { rewardsRate } = calculateJupLendRewardsRate(
|
|
31895
31429
|
rewardsModel,
|
|
31896
31430
|
totalAssets,
|
|
@@ -31977,13 +31511,13 @@ function generateJupLendSupplyCurve(rateModel, feeOnInterest) {
|
|
|
31977
31511
|
function getJupLendRewards(lendingState, rewardsModel, fTokenTotalSupply) {
|
|
31978
31512
|
if (lendingState.rewardsRateModel.equals(web3_js.PublicKey.default)) {
|
|
31979
31513
|
return {
|
|
31980
|
-
rewardsRate: new
|
|
31514
|
+
rewardsRate: new BN5__default.default(0),
|
|
31981
31515
|
rewardsEnded: false,
|
|
31982
|
-
rewardsStartTime: new
|
|
31516
|
+
rewardsStartTime: new BN5__default.default(0)
|
|
31983
31517
|
};
|
|
31984
31518
|
}
|
|
31985
31519
|
const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
|
|
31986
|
-
const currentTimestamp = new
|
|
31520
|
+
const currentTimestamp = new BN5__default.default(Math.floor(Date.now() / 1e3));
|
|
31987
31521
|
return calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp);
|
|
31988
31522
|
}
|
|
31989
31523
|
var UPDATE_RATE_DISCRIMINATOR = Buffer.from([
|
|
@@ -45566,7 +45100,7 @@ function exponentNumberToBigNumber(raw) {
|
|
|
45566
45100
|
let value = new bignumber_js.BigNumber(0);
|
|
45567
45101
|
const TWO_64 = new bignumber_js.BigNumber(2).pow(64);
|
|
45568
45102
|
words.forEach((w, i) => {
|
|
45569
|
-
const word = new bignumber_js.BigNumber(
|
|
45103
|
+
const word = new bignumber_js.BigNumber(BN5__default.default.isBN(w) ? w.toString() : String(w));
|
|
45570
45104
|
value = value.plus(word.times(TWO_64.pow(i)));
|
|
45571
45105
|
});
|
|
45572
45106
|
return value.div(EXPONENT_NUMBER_DENOM);
|
|
@@ -45577,7 +45111,7 @@ function pk(v) {
|
|
|
45577
45111
|
function decodeExponentVault(data) {
|
|
45578
45112
|
const d = EXPONENT_ACCOUNTS_CODER.decode("Vault", data);
|
|
45579
45113
|
const get = (snake, camel) => d[snake] ?? d[camel];
|
|
45580
|
-
const u646 = (v) => BigInt(
|
|
45114
|
+
const u646 = (v) => BigInt(BN5__default.default.isBN(v) ? v.toString() : String(v ?? 0));
|
|
45581
45115
|
const cpi = get("cpi_accounts", "cpiAccounts") ?? {};
|
|
45582
45116
|
return {
|
|
45583
45117
|
authority: pk(get("authority", "authority")),
|
|
@@ -46481,18 +46015,17 @@ exports.dtoToDriftSpotMarketRaw = dtoToDriftSpotMarketRaw;
|
|
|
46481
46015
|
exports.dtoToDriftStateRaw = dtoToDriftStateRaw;
|
|
46482
46016
|
exports.dtoToDriftUserRaw = dtoToDriftUserRaw;
|
|
46483
46017
|
exports.dtoToDriftUserStatsRaw = dtoToDriftUserStatsRaw;
|
|
46484
|
-
exports.dtoToFarmRaw = dtoToFarmRaw;
|
|
46485
46018
|
exports.dtoToJupLendingRewardsRateModelRaw = dtoToJupLendingRewardsRateModelRaw;
|
|
46486
46019
|
exports.dtoToJupLendingStateRaw = dtoToJupLendingStateRaw;
|
|
46487
46020
|
exports.dtoToJupRateModelRaw = dtoToJupRateModelRaw;
|
|
46488
46021
|
exports.dtoToJupTokenReserveRaw = dtoToJupTokenReserveRaw;
|
|
46489
|
-
exports.
|
|
46490
|
-
exports.
|
|
46022
|
+
exports.dtoToKaminoFarmState = dtoToKaminoFarmState;
|
|
46023
|
+
exports.dtoToKaminoObligation = dtoToKaminoObligation;
|
|
46024
|
+
exports.dtoToKaminoReserve = dtoToKaminoReserve;
|
|
46491
46025
|
exports.encodeTitanTemplate = encodeTitanTemplate;
|
|
46492
46026
|
exports.exponentBuyPtArgs = exponentBuyPtArgs;
|
|
46493
46027
|
exports.exponentClmmBuyPtArgs = exponentClmmBuyPtArgs;
|
|
46494
46028
|
exports.exponentNumberToBigNumber = exponentNumberToBigNumber;
|
|
46495
|
-
exports.farmRawToDto = farmRawToDto;
|
|
46496
46029
|
exports.fetchExponentMarketThree = fetchExponentMarketThree;
|
|
46497
46030
|
exports.fetchExponentMarketTwo = fetchExponentMarketTwo;
|
|
46498
46031
|
exports.fetchExponentVault = fetchExponentVault;
|
|
@@ -46544,6 +46077,9 @@ exports.jupLendingRewardsRateModelRawToDto = jupLendingRewardsRateModelRawToDto;
|
|
|
46544
46077
|
exports.jupLendingStateRawToDto = jupLendingStateRawToDto;
|
|
46545
46078
|
exports.jupRateModelRawToDto = jupRateModelRawToDto;
|
|
46546
46079
|
exports.jupTokenReserveRawToDto = jupTokenReserveRawToDto;
|
|
46080
|
+
exports.kaminoFarmStateToDto = kaminoFarmStateToDto;
|
|
46081
|
+
exports.kaminoObligationToDto = kaminoObligationToDto;
|
|
46082
|
+
exports.kaminoReserveToDto = kaminoReserveToDto;
|
|
46547
46083
|
exports.layout = layout;
|
|
46548
46084
|
exports.lutToTitanWire = lutToTitanWire;
|
|
46549
46085
|
exports.makeExponentClmmTradePtIx = makeExponentClmmTradePtIx;
|
|
@@ -46559,11 +46095,9 @@ exports.makeUpdateJupLendRate = makeUpdateJupLendRate;
|
|
|
46559
46095
|
exports.makeUpdateJupLendRateIx = makeUpdateJupLendRateIx;
|
|
46560
46096
|
exports.makeUpdateSpotMarketCumulativeInterestIx = makeUpdateSpotMarketCumulativeInterestIx;
|
|
46561
46097
|
exports.makeUpdateSpotMarketIx = makeUpdateSpotMarketIx;
|
|
46562
|
-
exports.obligationRawToDto = obligationRawToDto;
|
|
46563
46098
|
exports.parsePriceData = parsePriceData;
|
|
46564
46099
|
exports.parsePriceInfo = parsePriceInfo2;
|
|
46565
46100
|
exports.replenishPoolIx = replenishPoolIx;
|
|
46566
|
-
exports.reserveRawToDto = reserveRawToDto;
|
|
46567
46101
|
exports.resolveExponentClmmTradePtContext = resolveExponentClmmTradePtContext;
|
|
46568
46102
|
exports.resolveExponentMergeContext = resolveExponentMergeContext;
|
|
46569
46103
|
exports.resolveExponentStripContext = resolveExponentStripContext;
|