@0dotxyz/p0-ts-sdk 2.3.3 → 2.4.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/dto-rate-model.types-CfqbDcgG.d.cts +869 -0
- package/dist/dto-rate-model.types-CfqbDcgG.d.ts +869 -0
- package/dist/index.cjs +272 -731
- 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 +270 -729
- 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-BnW15JjT.d.cts} +10 -10
- package/dist/{types-DtUR-yHt.d.cts → types-CviIoob4.d.ts} +10 -10
- package/dist/vendor.cjs +262 -721
- 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 +253 -712
- 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,65 @@ 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
|
+
depositLimit: reserve.config.depositLimit.toString(),
|
|
4105
|
+
borrowLimit: reserve.config.borrowLimit.toString(),
|
|
4106
|
+
borrowRateCurve: {
|
|
4107
|
+
points: reserve.config.borrowRateCurve.points.map((item) => ({
|
|
4108
|
+
utilizationRateBps: item.utilizationRateBps,
|
|
4109
|
+
borrowRateBps: item.borrowRateBps
|
|
4110
|
+
}))
|
|
4111
|
+
},
|
|
4112
|
+
tokenInfo: {
|
|
4113
|
+
scopeConfiguration: {
|
|
4114
|
+
priceFeed: reserve.config.tokenInfo.scopeConfiguration.priceFeed.toBase58()
|
|
4115
|
+
},
|
|
4116
|
+
switchboardConfiguration: {
|
|
4117
|
+
priceAggregator: reserve.config.tokenInfo.switchboardConfiguration.priceAggregator.toBase58(),
|
|
4118
|
+
twapAggregator: reserve.config.tokenInfo.switchboardConfiguration.twapAggregator.toBase58()
|
|
4119
|
+
},
|
|
4120
|
+
pythConfiguration: {
|
|
4121
|
+
price: reserve.config.tokenInfo.pythConfiguration.price.toBase58()
|
|
4122
|
+
}
|
|
4123
|
+
}
|
|
4124
|
+
}
|
|
4293
4125
|
};
|
|
4294
4126
|
}
|
|
4295
4127
|
|
|
@@ -12574,267 +12406,78 @@ function decodeKlendObligationData(data) {
|
|
|
12574
12406
|
const dec = obligationLayout.decode(data.slice(8));
|
|
12575
12407
|
return dec;
|
|
12576
12408
|
}
|
|
12577
|
-
function
|
|
12409
|
+
function dtoToKaminoObligation(obligationDto) {
|
|
12578
12410
|
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
12411
|
lendingMarket: new web3_js.PublicKey(obligationDto.lendingMarket),
|
|
12587
12412
|
owner: new web3_js.PublicKey(obligationDto.owner),
|
|
12588
|
-
|
|
12589
|
-
|
|
12590
|
-
|
|
12591
|
-
|
|
12592
|
-
|
|
12593
|
-
),
|
|
12594
|
-
|
|
12595
|
-
|
|
12596
|
-
|
|
12597
|
-
|
|
12598
|
-
|
|
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))
|
|
12413
|
+
// Hosted endpoints may prune empty position arrays from the payload
|
|
12414
|
+
deposits: (obligationDto.deposits ?? []).map((item) => ({
|
|
12415
|
+
depositReserve: new web3_js.PublicKey(item.depositReserve),
|
|
12416
|
+
depositedAmount: new BN5__default.default(item.depositedAmount),
|
|
12417
|
+
marketValueSf: new BN5__default.default(item.marketValueSf)
|
|
12418
|
+
})),
|
|
12419
|
+
borrows: (obligationDto.borrows ?? []).map((item) => ({
|
|
12420
|
+
borrowReserve: new web3_js.PublicKey(item.borrowReserve),
|
|
12421
|
+
borrowedAmountSf: new BN5__default.default(item.borrowedAmountSf),
|
|
12422
|
+
marketValueSf: new BN5__default.default(item.marketValueSf)
|
|
12423
|
+
}))
|
|
12625
12424
|
};
|
|
12626
12425
|
}
|
|
12627
|
-
function
|
|
12426
|
+
function dtoToKaminoReserve(reserveDto) {
|
|
12628
12427
|
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
12428
|
lendingMarket: new web3_js.PublicKey(reserveDto.lendingMarket),
|
|
12637
12429
|
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)
|
|
12430
|
+
liquidity: {
|
|
12431
|
+
mintPubkey: new web3_js.PublicKey(reserveDto.liquidity.mintPubkey),
|
|
12432
|
+
supplyVault: new web3_js.PublicKey(reserveDto.liquidity.supplyVault),
|
|
12433
|
+
mintDecimals: new BN5__default.default(reserveDto.liquidity.mintDecimals),
|
|
12434
|
+
availableAmount: new BN5__default.default(reserveDto.liquidity.availableAmount),
|
|
12435
|
+
borrowedAmountSf: new BN5__default.default(reserveDto.liquidity.borrowedAmountSf),
|
|
12436
|
+
accumulatedProtocolFeesSf: new BN5__default.default(
|
|
12437
|
+
reserveDto.liquidity.accumulatedProtocolFeesSf
|
|
12681
12438
|
),
|
|
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
|
|
12439
|
+
accumulatedReferrerFeesSf: new BN5__default.default(
|
|
12440
|
+
reserveDto.liquidity.accumulatedReferrerFeesSf
|
|
12769
12441
|
),
|
|
12770
|
-
|
|
12771
|
-
tokenInfoDto.switchboardConfiguration.twapAggregator
|
|
12772
|
-
)
|
|
12773
|
-
},
|
|
12774
|
-
pythConfiguration: {
|
|
12775
|
-
price: new web3_js.PublicKey(tokenInfoDto.pythConfiguration.price)
|
|
12442
|
+
pendingReferrerFeesSf: new BN5__default.default(reserveDto.liquidity.pendingReferrerFeesSf)
|
|
12776
12443
|
},
|
|
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
|
-
|
|
12813
|
-
|
|
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))
|
|
12444
|
+
collateral: {
|
|
12445
|
+
mintPubkey: new web3_js.PublicKey(reserveDto.collateral.mintPubkey),
|
|
12446
|
+
mintTotalSupply: new BN5__default.default(reserveDto.collateral.mintTotalSupply),
|
|
12447
|
+
supplyVault: new web3_js.PublicKey(reserveDto.collateral.supplyVault)
|
|
12448
|
+
},
|
|
12449
|
+
config: {
|
|
12450
|
+
protocolTakeRatePct: reserveDto.config.protocolTakeRatePct,
|
|
12451
|
+
hostFixedInterestRateBps: reserveDto.config.hostFixedInterestRateBps,
|
|
12452
|
+
depositLimit: new BN5__default.default(reserveDto.config.depositLimit),
|
|
12453
|
+
borrowLimit: new BN5__default.default(reserveDto.config.borrowLimit),
|
|
12454
|
+
borrowRateCurve: {
|
|
12455
|
+
points: reserveDto.config.borrowRateCurve.points.map((item) => ({
|
|
12456
|
+
utilizationRateBps: item.utilizationRateBps,
|
|
12457
|
+
borrowRateBps: item.borrowRateBps
|
|
12458
|
+
}))
|
|
12459
|
+
},
|
|
12460
|
+
tokenInfo: {
|
|
12461
|
+
scopeConfiguration: {
|
|
12462
|
+
priceFeed: new web3_js.PublicKey(
|
|
12463
|
+
reserveDto.config.tokenInfo.scopeConfiguration.priceFeed
|
|
12464
|
+
)
|
|
12465
|
+
},
|
|
12466
|
+
switchboardConfiguration: {
|
|
12467
|
+
priceAggregator: new web3_js.PublicKey(
|
|
12468
|
+
reserveDto.config.tokenInfo.switchboardConfiguration.priceAggregator
|
|
12469
|
+
),
|
|
12470
|
+
twapAggregator: new web3_js.PublicKey(
|
|
12471
|
+
reserveDto.config.tokenInfo.switchboardConfiguration.twapAggregator
|
|
12472
|
+
)
|
|
12473
|
+
},
|
|
12474
|
+
pythConfiguration: {
|
|
12475
|
+
price: new web3_js.PublicKey(
|
|
12476
|
+
reserveDto.config.tokenInfo.pythConfiguration.price
|
|
12477
|
+
)
|
|
12478
|
+
}
|
|
12479
|
+
}
|
|
12480
|
+
}
|
|
12838
12481
|
};
|
|
12839
12482
|
}
|
|
12840
12483
|
var SEED_LENDING_MARKET_AUTH = "lma";
|
|
@@ -12960,9 +12603,9 @@ var Fraction = class _Fraction {
|
|
|
12960
12603
|
static MAX_SIZE_BF = 256;
|
|
12961
12604
|
static FRACTIONS = 60;
|
|
12962
12605
|
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
|
|
12606
|
+
static MAX_F_BN = new BN5__default.default(2).pow(new BN5__default.default(_Fraction.MAX_SIZE_F)).sub(new BN5__default.default(1));
|
|
12607
|
+
static MAX_BF_BN = new BN5__default.default(2).pow(new BN5__default.default(_Fraction.MAX_SIZE_BF)).sub(new BN5__default.default(1));
|
|
12608
|
+
static MIN_BN = new BN5__default.default(0);
|
|
12966
12609
|
valueSf;
|
|
12967
12610
|
constructor(valueSf) {
|
|
12968
12611
|
if (valueSf.lt(_Fraction.MIN_BN) || valueSf.gt(_Fraction.MAX_BF_BN)) {
|
|
@@ -12978,7 +12621,7 @@ var Fraction = class _Fraction {
|
|
|
12978
12621
|
static fromDecimal(n) {
|
|
12979
12622
|
const scaledDecimal = new FractionDecimal(n).mul(_Fraction.MULTIPLIER);
|
|
12980
12623
|
const roundedScaledDecimal = roundNearest(scaledDecimal);
|
|
12981
|
-
const scaledValue = new
|
|
12624
|
+
const scaledValue = new BN5__default.default(roundedScaledDecimal.toFixed());
|
|
12982
12625
|
return new _Fraction(scaledValue);
|
|
12983
12626
|
}
|
|
12984
12627
|
static fromBps(n) {
|
|
@@ -13008,7 +12651,7 @@ var Fraction = class _Fraction {
|
|
|
13008
12651
|
return this.valueSf.eq(x.getValue());
|
|
13009
12652
|
}
|
|
13010
12653
|
};
|
|
13011
|
-
new Fraction(new
|
|
12654
|
+
new Fraction(new BN5__default.default(0));
|
|
13012
12655
|
function roundNearest(decimal) {
|
|
13013
12656
|
return decimal.toDecimalPlaces(0, Decimal3__default.default.ROUND_HALF_CEIL);
|
|
13014
12657
|
}
|
|
@@ -13211,76 +12854,26 @@ function lamportsToNumberDecimal(amount, decimals) {
|
|
|
13211
12854
|
}
|
|
13212
12855
|
|
|
13213
12856
|
// src/vendor/klend/utils/farms/serialize.utils.ts
|
|
13214
|
-
function
|
|
12857
|
+
function kaminoFarmStateToDto(farmState) {
|
|
13215
12858
|
return {
|
|
13216
|
-
farmAdmin: farmRaw.farmAdmin.toBase58(),
|
|
13217
|
-
globalConfig: farmRaw.globalConfig.toBase58(),
|
|
13218
12859
|
token: {
|
|
13219
|
-
mint:
|
|
13220
|
-
decimals:
|
|
13221
|
-
tokenProgram: farmRaw.token.tokenProgram.toBase58(),
|
|
13222
|
-
padding: farmRaw.token.padding.map((p) => p.toString())
|
|
12860
|
+
mint: farmState.token.mint.toBase58(),
|
|
12861
|
+
decimals: farmState.token.decimals.toString()
|
|
13223
12862
|
},
|
|
13224
|
-
rewardInfos:
|
|
12863
|
+
rewardInfos: farmState.rewardInfos.map((item) => ({
|
|
13225
12864
|
token: {
|
|
13226
12865
|
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())
|
|
12866
|
+
decimals: item.token.decimals.toString()
|
|
13230
12867
|
},
|
|
13231
|
-
rewardsVault: item.rewardsVault.toBase58(),
|
|
13232
12868
|
rewardsAvailable: item.rewardsAvailable.toString(),
|
|
12869
|
+
rewardsPerSecondDecimals: item.rewardsPerSecondDecimals,
|
|
13233
12870
|
rewardScheduleCurve: {
|
|
13234
12871
|
points: item.rewardScheduleCurve.points.map((p) => ({
|
|
13235
12872
|
tsStart: p.tsStart.toString(),
|
|
13236
12873
|
rewardPerTimeUnit: p.rewardPerTimeUnit.toString()
|
|
13237
12874
|
}))
|
|
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())
|
|
12875
|
+
}
|
|
12876
|
+
}))
|
|
13284
12877
|
};
|
|
13285
12878
|
}
|
|
13286
12879
|
var farmDiscriminator = Buffer.from([198, 102, 216, 74, 63, 66, 163, 190]);
|
|
@@ -13375,78 +12968,26 @@ function decodeFarmDataRaw(data) {
|
|
|
13375
12968
|
const dec = farmLayout.decode(data.slice(8));
|
|
13376
12969
|
return dec;
|
|
13377
12970
|
}
|
|
13378
|
-
function
|
|
12971
|
+
function dtoToKaminoFarmState(dto) {
|
|
13379
12972
|
return {
|
|
13380
|
-
farmAdmin: new web3_js.PublicKey(dto.farmAdmin),
|
|
13381
|
-
globalConfig: new web3_js.PublicKey(dto.globalConfig),
|
|
13382
12973
|
token: {
|
|
13383
12974
|
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))
|
|
12975
|
+
decimals: new BN5__default.default(dto.token.decimals)
|
|
13387
12976
|
},
|
|
13388
12977
|
rewardInfos: dto.rewardInfos.map((item) => ({
|
|
13389
12978
|
token: {
|
|
13390
12979
|
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))
|
|
12980
|
+
decimals: new BN5__default.default(item.token.decimals)
|
|
13394
12981
|
},
|
|
13395
|
-
|
|
13396
|
-
|
|
12982
|
+
rewardsAvailable: new BN5__default.default(item.rewardsAvailable),
|
|
12983
|
+
rewardsPerSecondDecimals: item.rewardsPerSecondDecimals,
|
|
13397
12984
|
rewardScheduleCurve: {
|
|
13398
12985
|
points: item.rewardScheduleCurve.points.map((p) => ({
|
|
13399
|
-
tsStart: new
|
|
13400
|
-
rewardPerTimeUnit: new
|
|
12986
|
+
tsStart: new BN5__default.default(p.tsStart),
|
|
12987
|
+
rewardPerTimeUnit: new BN5__default.default(p.rewardPerTimeUnit)
|
|
13401
12988
|
}))
|
|
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))
|
|
12989
|
+
}
|
|
12990
|
+
}))
|
|
13450
12991
|
};
|
|
13451
12992
|
}
|
|
13452
12993
|
|
|
@@ -27608,23 +27149,23 @@ function dtoToDriftUserStatsRaw(userStatsDto) {
|
|
|
27608
27149
|
authority: new web3_js.PublicKey(userStatsDto.authority),
|
|
27609
27150
|
referrer: new web3_js.PublicKey(userStatsDto.referrer),
|
|
27610
27151
|
fees: {
|
|
27611
|
-
totalFeePaid: new
|
|
27612
|
-
totalFeeRebate: new
|
|
27613
|
-
totalTokenDiscount: new
|
|
27614
|
-
totalRefereeDiscount: new
|
|
27615
|
-
totalReferrerReward: new
|
|
27616
|
-
currentEpochReferrerReward: new
|
|
27152
|
+
totalFeePaid: new BN5__default.default(userStatsDto.fees.totalFeePaid),
|
|
27153
|
+
totalFeeRebate: new BN5__default.default(userStatsDto.fees.totalFeeRebate),
|
|
27154
|
+
totalTokenDiscount: new BN5__default.default(userStatsDto.fees.totalTokenDiscount),
|
|
27155
|
+
totalRefereeDiscount: new BN5__default.default(userStatsDto.fees.totalRefereeDiscount),
|
|
27156
|
+
totalReferrerReward: new BN5__default.default(userStatsDto.fees.totalReferrerReward),
|
|
27157
|
+
currentEpochReferrerReward: new BN5__default.default(
|
|
27617
27158
|
userStatsDto.fees.currentEpochReferrerReward
|
|
27618
27159
|
)
|
|
27619
27160
|
},
|
|
27620
|
-
nextEpochTs: new
|
|
27621
|
-
makerVolume30d: new
|
|
27622
|
-
takerVolume30d: new
|
|
27623
|
-
fillerVolume30d: new
|
|
27624
|
-
lastMakerVolume30dTs: new
|
|
27625
|
-
lastTakerVolume30dTs: new
|
|
27626
|
-
lastFillerVolume30dTs: new
|
|
27627
|
-
ifStakedQuoteAssetAmount: new
|
|
27161
|
+
nextEpochTs: new BN5__default.default(userStatsDto.nextEpochTs),
|
|
27162
|
+
makerVolume30d: new BN5__default.default(userStatsDto.makerVolume30d),
|
|
27163
|
+
takerVolume30d: new BN5__default.default(userStatsDto.takerVolume30d),
|
|
27164
|
+
fillerVolume30d: new BN5__default.default(userStatsDto.fillerVolume30d),
|
|
27165
|
+
lastMakerVolume30dTs: new BN5__default.default(userStatsDto.lastMakerVolume30dTs),
|
|
27166
|
+
lastTakerVolume30dTs: new BN5__default.default(userStatsDto.lastTakerVolume30dTs),
|
|
27167
|
+
lastFillerVolume30dTs: new BN5__default.default(userStatsDto.lastFillerVolume30dTs),
|
|
27168
|
+
ifStakedQuoteAssetAmount: new BN5__default.default(userStatsDto.ifStakedQuoteAssetAmount),
|
|
27628
27169
|
numberOfSubAccounts: userStatsDto.numberOfSubAccounts,
|
|
27629
27170
|
numberOfSubAccountsCreated: userStatsDto.numberOfSubAccountsCreated,
|
|
27630
27171
|
referrerStatus: userStatsDto.referrerStatus,
|
|
@@ -27637,7 +27178,7 @@ function dtoToDriftUserStatsRaw(userStatsDto) {
|
|
|
27637
27178
|
fuelPositions: userStatsDto.fuelPositions,
|
|
27638
27179
|
fuelTaker: userStatsDto.fuelTaker,
|
|
27639
27180
|
fuelMaker: userStatsDto.fuelMaker,
|
|
27640
|
-
ifStakedGovTokenAmount: new
|
|
27181
|
+
ifStakedGovTokenAmount: new BN5__default.default(userStatsDto.ifStakedGovTokenAmount),
|
|
27641
27182
|
lastFuelIfBonusUpdateTs: userStatsDto.lastFuelIfBonusUpdateTs,
|
|
27642
27183
|
padding: userStatsDto.padding
|
|
27643
27184
|
};
|
|
@@ -27646,10 +27187,10 @@ function dtoToDriftUserRaw(userDto) {
|
|
|
27646
27187
|
return {
|
|
27647
27188
|
authority: new web3_js.PublicKey(userDto.authority),
|
|
27648
27189
|
spotPositions: userDto.spotPositions.map((p) => ({
|
|
27649
|
-
scaledBalance: new
|
|
27650
|
-
openBids: new
|
|
27651
|
-
openAsks: new
|
|
27652
|
-
cumulativeDeposits: new
|
|
27190
|
+
scaledBalance: new BN5__default.default(p.scaledBalance),
|
|
27191
|
+
openBids: new BN5__default.default(p.openBids),
|
|
27192
|
+
openAsks: new BN5__default.default(p.openAsks),
|
|
27193
|
+
cumulativeDeposits: new BN5__default.default(p.cumulativeDeposits),
|
|
27653
27194
|
marketIndex: p.marketIndex,
|
|
27654
27195
|
balanceType: p.balanceType,
|
|
27655
27196
|
openOrders: p.openOrders,
|
|
@@ -27667,9 +27208,9 @@ function dtoToDriftStateRaw(stateDto) {
|
|
|
27667
27208
|
perpFeeStructure: stateDto.perpFeeStructure,
|
|
27668
27209
|
spotFeeStructure: stateDto.spotFeeStructure,
|
|
27669
27210
|
oracleGuardRails: stateDto.oracleGuardRails,
|
|
27670
|
-
numberOfAuthorities: new
|
|
27671
|
-
numberOfSubAccounts: new
|
|
27672
|
-
lpCooldownTime: new
|
|
27211
|
+
numberOfAuthorities: new BN5__default.default(stateDto.numberOfAuthorities),
|
|
27212
|
+
numberOfSubAccounts: new BN5__default.default(stateDto.numberOfSubAccounts),
|
|
27213
|
+
lpCooldownTime: new BN5__default.default(stateDto.lpCooldownTime),
|
|
27673
27214
|
liquidationMarginBufferRatio: stateDto.liquidationMarginBufferRatio,
|
|
27674
27215
|
settlementDuration: stateDto.settlementDuration,
|
|
27675
27216
|
numberOfMarkets: stateDto.numberOfMarkets,
|
|
@@ -27693,10 +27234,10 @@ function dtoToDriftRewardsRaw(rewardsDto) {
|
|
|
27693
27234
|
spotMarket: new web3_js.PublicKey(rewardsDto.spotMarket),
|
|
27694
27235
|
mint: new web3_js.PublicKey(rewardsDto.mint),
|
|
27695
27236
|
spotPosition: {
|
|
27696
|
-
scaledBalance: new
|
|
27697
|
-
openBids: new
|
|
27698
|
-
openAsks: new
|
|
27699
|
-
cumulativeDeposits: new
|
|
27237
|
+
scaledBalance: new BN5__default.default(rewardsDto.spotPosition.scaledBalance),
|
|
27238
|
+
openBids: new BN5__default.default(rewardsDto.spotPosition.openBids),
|
|
27239
|
+
openAsks: new BN5__default.default(rewardsDto.spotPosition.openAsks),
|
|
27240
|
+
cumulativeDeposits: new BN5__default.default(rewardsDto.spotPosition.cumulativeDeposits),
|
|
27700
27241
|
marketIndex: rewardsDto.spotPosition.marketIndex,
|
|
27701
27242
|
balanceType: rewardsDto.spotPosition.balanceType,
|
|
27702
27243
|
openOrders: rewardsDto.spotPosition.openOrders,
|
|
@@ -27710,11 +27251,11 @@ function dtoToDriftSpotMarketRaw(spotMarketDto) {
|
|
|
27710
27251
|
oracle: new web3_js.PublicKey(spotMarketDto.oracle),
|
|
27711
27252
|
mint: new web3_js.PublicKey(spotMarketDto.mint),
|
|
27712
27253
|
decimals: spotMarketDto.decimals,
|
|
27713
|
-
cumulativeDepositInterest: new
|
|
27254
|
+
cumulativeDepositInterest: new BN5__default.default(spotMarketDto.cumulativeDepositInterest),
|
|
27714
27255
|
marketIndex: spotMarketDto.marketIndex,
|
|
27715
|
-
depositBalance: new
|
|
27716
|
-
borrowBalance: new
|
|
27717
|
-
cumulativeBorrowInterest: new
|
|
27256
|
+
depositBalance: new BN5__default.default(spotMarketDto.depositBalance),
|
|
27257
|
+
borrowBalance: new BN5__default.default(spotMarketDto.borrowBalance),
|
|
27258
|
+
cumulativeBorrowInterest: new BN5__default.default(spotMarketDto.cumulativeBorrowInterest),
|
|
27718
27259
|
optimalUtilization: spotMarketDto.optimalUtilization,
|
|
27719
27260
|
optimalBorrowRate: spotMarketDto.optimalBorrowRate,
|
|
27720
27261
|
maxBorrowRate: spotMarketDto.maxBorrowRate,
|
|
@@ -27836,10 +27377,10 @@ function decodeDriftUserData(data) {
|
|
|
27836
27377
|
return {
|
|
27837
27378
|
authority: decoded.authority,
|
|
27838
27379
|
spotPositions: decoded.spot_positions.map((p) => ({
|
|
27839
|
-
scaledBalance: new
|
|
27840
|
-
openBids: new
|
|
27841
|
-
openAsks: new
|
|
27842
|
-
cumulativeDeposits: new
|
|
27380
|
+
scaledBalance: new BN5__default.default(p.scaled_balance),
|
|
27381
|
+
openBids: new BN5__default.default(p.open_bids),
|
|
27382
|
+
openAsks: new BN5__default.default(p.open_asks),
|
|
27383
|
+
cumulativeDeposits: new BN5__default.default(p.cumulative_deposits),
|
|
27843
27384
|
marketIndex: p.market_index,
|
|
27844
27385
|
balanceType: p.balance_type,
|
|
27845
27386
|
openOrders: p.open_orders,
|
|
@@ -27946,7 +27487,7 @@ function deriveDriftUser(authority, subAccountId, programId = DRIFT_PROGRAM_ID)
|
|
|
27946
27487
|
[
|
|
27947
27488
|
Buffer.from(SEED_USER),
|
|
27948
27489
|
authority.toBuffer(),
|
|
27949
|
-
new
|
|
27490
|
+
new BN5__default.default(subAccountId).toArrayLike(Buffer, "le", 2)
|
|
27950
27491
|
],
|
|
27951
27492
|
programId
|
|
27952
27493
|
);
|
|
@@ -27961,7 +27502,7 @@ function deriveDriftSpotMarket(marketIndex, programId = DRIFT_PROGRAM_ID) {
|
|
|
27961
27502
|
return web3_js.PublicKey.findProgramAddressSync(
|
|
27962
27503
|
[
|
|
27963
27504
|
Buffer.from(SEED_SPOT_MARKET),
|
|
27964
|
-
new
|
|
27505
|
+
new BN5__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
|
|
27965
27506
|
],
|
|
27966
27507
|
programId
|
|
27967
27508
|
);
|
|
@@ -27970,23 +27511,23 @@ function deriveDriftSpotMarketVault(marketIndex, programId = DRIFT_PROGRAM_ID) {
|
|
|
27970
27511
|
return web3_js.PublicKey.findProgramAddressSync(
|
|
27971
27512
|
[
|
|
27972
27513
|
Buffer.from(SEED_SPOT_MARKET_VAULT),
|
|
27973
|
-
new
|
|
27514
|
+
new BN5__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
|
|
27974
27515
|
],
|
|
27975
27516
|
programId
|
|
27976
27517
|
);
|
|
27977
27518
|
}
|
|
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
|
|
27519
|
+
var ZERO = new BN5__default.default(0);
|
|
27520
|
+
var ONE = new BN5__default.default(1);
|
|
27521
|
+
var TEN = new BN5__default.default(10);
|
|
27522
|
+
var PERCENTAGE_PRECISION_EXP = new BN5__default.default(6);
|
|
27523
|
+
var PERCENTAGE_PRECISION = new BN5__default.default(10).pow(PERCENTAGE_PRECISION_EXP);
|
|
27524
|
+
var SPOT_MARKET_RATE_PRECISION_EXP = new BN5__default.default(6);
|
|
27525
|
+
var SPOT_MARKET_RATE_PRECISION = new BN5__default.default(10).pow(SPOT_MARKET_RATE_PRECISION_EXP);
|
|
27526
|
+
var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new BN5__default.default(6);
|
|
27527
|
+
var SPOT_MARKET_UTILIZATION_PRECISION = new BN5__default.default(10).pow(
|
|
27987
27528
|
SPOT_MARKET_UTILIZATION_PRECISION_EXP
|
|
27988
27529
|
);
|
|
27989
|
-
var ONE_YEAR = new
|
|
27530
|
+
var ONE_YEAR = new BN5__default.default(31536e3);
|
|
27990
27531
|
function divCeil(a, b) {
|
|
27991
27532
|
const quotient = a.div(b);
|
|
27992
27533
|
const remainder = a.mod(b);
|
|
@@ -27996,7 +27537,7 @@ function divCeil(a, b) {
|
|
|
27996
27537
|
return quotient;
|
|
27997
27538
|
}
|
|
27998
27539
|
function getDriftTokenAmount(balanceAmount, spotMarket, balanceType) {
|
|
27999
|
-
const precisionDecrease = TEN.pow(new
|
|
27540
|
+
const precisionDecrease = TEN.pow(new BN5__default.default(19 - spotMarket.decimals));
|
|
28000
27541
|
if (isSpotBalanceTypeVariant(balanceType, "deposit")) {
|
|
28001
27542
|
return balanceAmount.mul(spotMarket.cumulativeDepositInterest).div(precisionDecrease);
|
|
28002
27543
|
} else {
|
|
@@ -28031,18 +27572,18 @@ function calculateDriftUtilization(bank, delta = ZERO) {
|
|
|
28031
27572
|
}
|
|
28032
27573
|
function calculateDriftInterestRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28033
27574
|
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
|
|
27575
|
+
const optimalUtil = new BN5__default.default(bank.optimalUtilization);
|
|
27576
|
+
const optimalRate = new BN5__default.default(bank.optimalBorrowRate);
|
|
27577
|
+
const maxRate = new BN5__default.default(bank.maxBorrowRate);
|
|
27578
|
+
const minRate = new BN5__default.default(bank.minBorrowRate).mul(PERCENTAGE_PRECISION.divn(200));
|
|
27579
|
+
const weightsDivisor = new BN5__default.default(1e3);
|
|
28039
27580
|
const segments = [
|
|
28040
|
-
[new
|
|
28041
|
-
[new
|
|
28042
|
-
[new
|
|
28043
|
-
[new
|
|
28044
|
-
[new
|
|
28045
|
-
[SPOT_MARKET_UTILIZATION_PRECISION, new
|
|
27581
|
+
[new BN5__default.default(85e4), new BN5__default.default(50)],
|
|
27582
|
+
[new BN5__default.default(9e5), new BN5__default.default(100)],
|
|
27583
|
+
[new BN5__default.default(95e4), new BN5__default.default(150)],
|
|
27584
|
+
[new BN5__default.default(99e4), new BN5__default.default(200)],
|
|
27585
|
+
[new BN5__default.default(995e3), new BN5__default.default(250)],
|
|
27586
|
+
[SPOT_MARKET_UTILIZATION_PRECISION, new BN5__default.default(250)]
|
|
28046
27587
|
];
|
|
28047
27588
|
let rate;
|
|
28048
27589
|
if (utilization.lte(optimalUtil)) {
|
|
@@ -28067,7 +27608,7 @@ function calculateDriftInterestRate(bank, delta = ZERO, currentUtilization = nul
|
|
|
28067
27608
|
}
|
|
28068
27609
|
}
|
|
28069
27610
|
}
|
|
28070
|
-
return
|
|
27611
|
+
return BN5__default.default.max(minRate, rate);
|
|
28071
27612
|
}
|
|
28072
27613
|
function calculateDriftBorrowRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28073
27614
|
return calculateDriftInterestRate(bank, delta, currentUtilization);
|
|
@@ -28075,7 +27616,7 @@ function calculateDriftBorrowRate(bank, delta = ZERO, currentUtilization = null)
|
|
|
28075
27616
|
function calculateDriftDepositRate(bank, delta = ZERO, currentUtilization = null) {
|
|
28076
27617
|
const utilization = currentUtilization || calculateDriftUtilization(bank, delta);
|
|
28077
27618
|
const borrowRate = calculateDriftBorrowRate(bank, delta, utilization);
|
|
28078
|
-
const depositRate = borrowRate.mul(PERCENTAGE_PRECISION.sub(new
|
|
27619
|
+
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
27620
|
return depositRate;
|
|
28080
27621
|
}
|
|
28081
27622
|
function calculateDriftLendingAPY(bank, delta = ZERO, currentUtilization = null, compoundingPeriodsPerYear = 365) {
|
|
@@ -28083,7 +27624,7 @@ function calculateDriftLendingAPY(bank, delta = ZERO, currentUtilization = null,
|
|
|
28083
27624
|
if (depositRate.eq(ZERO)) {
|
|
28084
27625
|
return ZERO;
|
|
28085
27626
|
}
|
|
28086
|
-
const CALC_PRECISION = new
|
|
27627
|
+
const CALC_PRECISION = new BN5__default.default(10).pow(new BN5__default.default(18));
|
|
28087
27628
|
const rateInCalcPrecisionDecimal = depositRate.mul(CALC_PRECISION).div(SPOT_MARKET_RATE_PRECISION);
|
|
28088
27629
|
let expResult = CALC_PRECISION;
|
|
28089
27630
|
let term = rateInCalcPrecisionDecimal;
|
|
@@ -28116,7 +27657,7 @@ function calculateDriftBorrowAPY(bank, delta = ZERO, currentUtilization = null,
|
|
|
28116
27657
|
if (borrowRate.eq(ZERO)) {
|
|
28117
27658
|
return ZERO;
|
|
28118
27659
|
}
|
|
28119
|
-
const CALC_PRECISION = new
|
|
27660
|
+
const CALC_PRECISION = new BN5__default.default(10).pow(new BN5__default.default(18));
|
|
28120
27661
|
const rateInCalcPrecisionDecimal = borrowRate.mul(CALC_PRECISION).div(SPOT_MARKET_RATE_PRECISION);
|
|
28121
27662
|
let expResult = CALC_PRECISION;
|
|
28122
27663
|
let term = rateInCalcPrecisionDecimal;
|
|
@@ -28152,7 +27693,7 @@ function calculateAPYFromAPR2(apr) {
|
|
|
28152
27693
|
function generateDriftReserveCurve(spotMarket) {
|
|
28153
27694
|
return Array.from({ length: 101 }, (_, i) => {
|
|
28154
27695
|
const utilizationPercent = i / 100;
|
|
28155
|
-
const utilizationBN = new
|
|
27696
|
+
const utilizationBN = new BN5__default.default(
|
|
28156
27697
|
Math.floor(utilizationPercent * SPOT_MARKET_UTILIZATION_PRECISION.toNumber())
|
|
28157
27698
|
);
|
|
28158
27699
|
const borrowRateBN = calculateDriftBorrowRate(spotMarket, ZERO, utilizationBN);
|
|
@@ -31558,29 +31099,29 @@ function decodeJupTokenReserveData(data, pubkey) {
|
|
|
31558
31099
|
offset += 2;
|
|
31559
31100
|
const lastUtilization = data.readUInt16LE(offset);
|
|
31560
31101
|
offset += 2;
|
|
31561
|
-
const lastUpdateTimestamp = new
|
|
31102
|
+
const lastUpdateTimestamp = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31562
31103
|
offset += 8;
|
|
31563
|
-
const supplyExchangePrice = new
|
|
31104
|
+
const supplyExchangePrice = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31564
31105
|
offset += 8;
|
|
31565
|
-
const borrowExchangePrice = new
|
|
31106
|
+
const borrowExchangePrice = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31566
31107
|
offset += 8;
|
|
31567
31108
|
const maxUtilization = data.readUInt16LE(offset);
|
|
31568
31109
|
offset += 2;
|
|
31569
|
-
const totalSupplyWithInterest = new
|
|
31110
|
+
const totalSupplyWithInterest = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31570
31111
|
offset += 8;
|
|
31571
|
-
const totalSupplyInterestFree = new
|
|
31112
|
+
const totalSupplyInterestFree = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31572
31113
|
offset += 8;
|
|
31573
|
-
const totalBorrowWithInterest = new
|
|
31114
|
+
const totalBorrowWithInterest = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31574
31115
|
offset += 8;
|
|
31575
|
-
const totalBorrowInterestFree = new
|
|
31116
|
+
const totalBorrowInterestFree = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31576
31117
|
offset += 8;
|
|
31577
|
-
const totalClaimAmount = new
|
|
31118
|
+
const totalClaimAmount = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31578
31119
|
offset += 8;
|
|
31579
31120
|
const interactingProtocol = new web3_js.PublicKey(data.slice(offset, offset + 32));
|
|
31580
31121
|
offset += 32;
|
|
31581
|
-
const interactingTimestamp = new
|
|
31122
|
+
const interactingTimestamp = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31582
31123
|
offset += 8;
|
|
31583
|
-
const interactingBalance = new
|
|
31124
|
+
const interactingBalance = new BN5__default.default(data.slice(offset, offset + 8), "le");
|
|
31584
31125
|
return {
|
|
31585
31126
|
pubkey,
|
|
31586
31127
|
mint,
|
|
@@ -31642,9 +31183,9 @@ function dtoToJupLendingStateRaw(dto) {
|
|
|
31642
31183
|
lendingId: dto.lendingId,
|
|
31643
31184
|
decimals: dto.decimals,
|
|
31644
31185
|
rewardsRateModel: new web3_js.PublicKey(dto.rewardsRateModel),
|
|
31645
|
-
liquidityExchangePrice: new
|
|
31646
|
-
tokenExchangePrice: new
|
|
31647
|
-
lastUpdateTimestamp: new
|
|
31186
|
+
liquidityExchangePrice: new BN5__default.default(dto.liquidityExchangePrice),
|
|
31187
|
+
tokenExchangePrice: new BN5__default.default(dto.tokenExchangePrice),
|
|
31188
|
+
lastUpdateTimestamp: new BN5__default.default(dto.lastUpdateTimestamp),
|
|
31648
31189
|
tokenReservesLiquidity: new web3_js.PublicKey(dto.tokenReservesLiquidity),
|
|
31649
31190
|
supplyPositionOnLiquidity: new web3_js.PublicKey(dto.supplyPositionOnLiquidity)
|
|
31650
31191
|
};
|
|
@@ -31657,30 +31198,30 @@ function dtoToJupTokenReserveRaw(dto) {
|
|
|
31657
31198
|
borrowRate: dto.borrowRate,
|
|
31658
31199
|
feeOnInterest: dto.feeOnInterest,
|
|
31659
31200
|
lastUtilization: dto.lastUtilization,
|
|
31660
|
-
lastUpdateTimestamp: new
|
|
31661
|
-
supplyExchangePrice: new
|
|
31662
|
-
borrowExchangePrice: new
|
|
31201
|
+
lastUpdateTimestamp: new BN5__default.default(dto.lastUpdateTimestamp),
|
|
31202
|
+
supplyExchangePrice: new BN5__default.default(dto.supplyExchangePrice),
|
|
31203
|
+
borrowExchangePrice: new BN5__default.default(dto.borrowExchangePrice),
|
|
31663
31204
|
maxUtilization: dto.maxUtilization,
|
|
31664
|
-
totalSupplyWithInterest: new
|
|
31665
|
-
totalSupplyInterestFree: new
|
|
31666
|
-
totalBorrowWithInterest: new
|
|
31667
|
-
totalBorrowInterestFree: new
|
|
31668
|
-
totalClaimAmount: new
|
|
31205
|
+
totalSupplyWithInterest: new BN5__default.default(dto.totalSupplyWithInterest),
|
|
31206
|
+
totalSupplyInterestFree: new BN5__default.default(dto.totalSupplyInterestFree),
|
|
31207
|
+
totalBorrowWithInterest: new BN5__default.default(dto.totalBorrowWithInterest),
|
|
31208
|
+
totalBorrowInterestFree: new BN5__default.default(dto.totalBorrowInterestFree),
|
|
31209
|
+
totalClaimAmount: new BN5__default.default(dto.totalClaimAmount),
|
|
31669
31210
|
interactingProtocol: new web3_js.PublicKey(dto.interactingProtocol),
|
|
31670
|
-
interactingTimestamp: new
|
|
31671
|
-
interactingBalance: new
|
|
31211
|
+
interactingTimestamp: new BN5__default.default(dto.interactingTimestamp),
|
|
31212
|
+
interactingBalance: new BN5__default.default(dto.interactingBalance)
|
|
31672
31213
|
};
|
|
31673
31214
|
}
|
|
31674
31215
|
function dtoToJupLendingRewardsRateModelRaw(dto) {
|
|
31675
31216
|
return {
|
|
31676
31217
|
pubkey: new web3_js.PublicKey(dto.pubkey),
|
|
31677
31218
|
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
|
|
31219
|
+
startTvl: new BN5__default.default(dto.startTvl),
|
|
31220
|
+
duration: new BN5__default.default(dto.duration),
|
|
31221
|
+
startTime: new BN5__default.default(dto.startTime),
|
|
31222
|
+
yearlyReward: new BN5__default.default(dto.yearlyReward),
|
|
31223
|
+
nextDuration: new BN5__default.default(dto.nextDuration),
|
|
31224
|
+
nextRewardAmount: new BN5__default.default(dto.nextRewardAmount)
|
|
31684
31225
|
};
|
|
31685
31226
|
}
|
|
31686
31227
|
function dtoToJupRateModelRaw(dto) {
|
|
@@ -31796,15 +31337,15 @@ function deriveJupLendLiquiditySupplyPositionPda(underlyingMint, lendingPda, liq
|
|
|
31796
31337
|
var aprToApy2 = (apr, compoundingFrequency = HOURS_PER_YEAR, apyCap = 3) => Math.min((1 + apr / compoundingFrequency) ** compoundingFrequency - 1, apyCap);
|
|
31797
31338
|
|
|
31798
31339
|
// 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
|
|
31340
|
+
var JUP_EXCHANGE_PRICES_PRECISION = new BN5__default.default("1000000000000");
|
|
31341
|
+
var JUP_SECONDS_PER_YEAR = new BN5__default.default(31536e3);
|
|
31342
|
+
var JUP_MAX_REWARDS_RATE = new BN5__default.default("50000000000000");
|
|
31802
31343
|
function calculateJupLendTotalAssets(lendingState, fTokenTotalSupply) {
|
|
31803
31344
|
return lendingState.tokenExchangePrice.mul(fTokenTotalSupply).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
31804
31345
|
}
|
|
31805
31346
|
function calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp) {
|
|
31806
31347
|
const defaultResult = {
|
|
31807
|
-
rewardsRate: new
|
|
31348
|
+
rewardsRate: new BN5__default.default(0),
|
|
31808
31349
|
rewardsEnded: false,
|
|
31809
31350
|
rewardsStartTime: rewardsModel.startTime
|
|
31810
31351
|
};
|
|
@@ -31817,7 +31358,7 @@ function calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp
|
|
|
31817
31358
|
if (totalAssets.lt(rewardsModel.startTvl)) {
|
|
31818
31359
|
return defaultResult;
|
|
31819
31360
|
}
|
|
31820
|
-
let rewardsRate = rewardsModel.yearlyReward.mul(new
|
|
31361
|
+
let rewardsRate = rewardsModel.yearlyReward.mul(new BN5__default.default(1e4)).div(totalAssets);
|
|
31821
31362
|
if (rewardsRate.gt(JUP_MAX_REWARDS_RATE)) {
|
|
31822
31363
|
rewardsRate = JUP_MAX_REWARDS_RATE;
|
|
31823
31364
|
}
|
|
@@ -31828,7 +31369,7 @@ function calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp
|
|
|
31828
31369
|
};
|
|
31829
31370
|
}
|
|
31830
31371
|
function calculateJupLendRewardsRateForExchangePrice(rewardsModel, totalAssets, currentTimestamp) {
|
|
31831
|
-
const defaultResult = { rate: new
|
|
31372
|
+
const defaultResult = { rate: new BN5__default.default(0), rewardsStartTime: rewardsModel.startTime };
|
|
31832
31373
|
if (rewardsModel.startTime.isZero() || rewardsModel.duration.isZero()) {
|
|
31833
31374
|
return defaultResult;
|
|
31834
31375
|
}
|
|
@@ -31848,7 +31389,7 @@ function calculateJupLendNewExchangePrice(lendingState, tokenReserve, rewardsMod
|
|
|
31848
31389
|
const oldTokenExchangePrice = lendingState.tokenExchangePrice;
|
|
31849
31390
|
const oldLiquidityExchangePrice = lendingState.liquidityExchangePrice;
|
|
31850
31391
|
const currentLiquidityExchangePrice = tokenReserve.supplyExchangePrice;
|
|
31851
|
-
let rewardsRate = new
|
|
31392
|
+
let rewardsRate = new BN5__default.default(0);
|
|
31852
31393
|
let rewardsStartTime = lendingState.lastUpdateTimestamp;
|
|
31853
31394
|
if (rewardsModel) {
|
|
31854
31395
|
const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
|
|
@@ -31865,32 +31406,32 @@ function calculateJupLendNewExchangePrice(lendingState, tokenReserve, rewardsMod
|
|
|
31865
31406
|
lastUpdateTime = rewardsStartTime;
|
|
31866
31407
|
}
|
|
31867
31408
|
const secondsElapsed = currentTimestamp.sub(lastUpdateTime);
|
|
31868
|
-
let totalReturnPercent = rewardsRate.mul(secondsElapsed).div(JUP_SECONDS_PER_YEAR).mul(new
|
|
31409
|
+
let totalReturnPercent = rewardsRate.mul(secondsElapsed).div(JUP_SECONDS_PER_YEAR).mul(new BN5__default.default(100));
|
|
31869
31410
|
const delta = currentLiquidityExchangePrice.sub(oldLiquidityExchangePrice);
|
|
31870
31411
|
totalReturnPercent = totalReturnPercent.add(
|
|
31871
|
-
delta.mul(new
|
|
31412
|
+
delta.mul(new BN5__default.default(1e14)).div(oldLiquidityExchangePrice)
|
|
31872
31413
|
);
|
|
31873
|
-
return oldTokenExchangePrice.add(oldTokenExchangePrice.mul(totalReturnPercent).div(new
|
|
31414
|
+
return oldTokenExchangePrice.add(oldTokenExchangePrice.mul(totalReturnPercent).div(new BN5__default.default(1e14)));
|
|
31874
31415
|
}
|
|
31875
31416
|
function calculateJupLendLiquiditySupplyRate(tokenReserve) {
|
|
31876
|
-
const borrowRate = new
|
|
31877
|
-
const fee = new
|
|
31417
|
+
const borrowRate = new BN5__default.default(tokenReserve.borrowRate);
|
|
31418
|
+
const fee = new BN5__default.default(tokenReserve.feeOnInterest);
|
|
31878
31419
|
if (tokenReserve.totalSupplyWithInterest.isZero()) {
|
|
31879
|
-
return new
|
|
31420
|
+
return new BN5__default.default(0);
|
|
31880
31421
|
}
|
|
31881
31422
|
const borrowWithInterestForRate = tokenReserve.totalBorrowWithInterest.mul(tokenReserve.borrowExchangePrice).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
31882
31423
|
const supplyWithInterestForRate = tokenReserve.totalSupplyWithInterest.mul(tokenReserve.supplyExchangePrice).div(JUP_EXCHANGE_PRICES_PRECISION);
|
|
31883
31424
|
if (supplyWithInterestForRate.isZero()) {
|
|
31884
|
-
return new
|
|
31425
|
+
return new BN5__default.default(0);
|
|
31885
31426
|
}
|
|
31886
|
-
return borrowRate.mul(new
|
|
31427
|
+
return borrowRate.mul(new BN5__default.default(1e4).sub(fee)).mul(borrowWithInterestForRate).div(supplyWithInterestForRate.mul(new BN5__default.default(1e4)));
|
|
31887
31428
|
}
|
|
31888
31429
|
function calculateJupLendSupplyRate(lendingState, tokenReserve, rewardsModel, fTokenTotalSupply) {
|
|
31889
31430
|
const supplyRate = calculateJupLendLiquiditySupplyRate(tokenReserve);
|
|
31890
31431
|
let totalRateBps = supplyRate.toNumber();
|
|
31891
31432
|
if (rewardsModel) {
|
|
31892
31433
|
const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
|
|
31893
|
-
const currentTimestamp = new
|
|
31434
|
+
const currentTimestamp = new BN5__default.default(Math.floor(Date.now() / 1e3));
|
|
31894
31435
|
const { rewardsRate } = calculateJupLendRewardsRate(
|
|
31895
31436
|
rewardsModel,
|
|
31896
31437
|
totalAssets,
|
|
@@ -31977,13 +31518,13 @@ function generateJupLendSupplyCurve(rateModel, feeOnInterest) {
|
|
|
31977
31518
|
function getJupLendRewards(lendingState, rewardsModel, fTokenTotalSupply) {
|
|
31978
31519
|
if (lendingState.rewardsRateModel.equals(web3_js.PublicKey.default)) {
|
|
31979
31520
|
return {
|
|
31980
|
-
rewardsRate: new
|
|
31521
|
+
rewardsRate: new BN5__default.default(0),
|
|
31981
31522
|
rewardsEnded: false,
|
|
31982
|
-
rewardsStartTime: new
|
|
31523
|
+
rewardsStartTime: new BN5__default.default(0)
|
|
31983
31524
|
};
|
|
31984
31525
|
}
|
|
31985
31526
|
const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
|
|
31986
|
-
const currentTimestamp = new
|
|
31527
|
+
const currentTimestamp = new BN5__default.default(Math.floor(Date.now() / 1e3));
|
|
31987
31528
|
return calculateJupLendRewardsRate(rewardsModel, totalAssets, currentTimestamp);
|
|
31988
31529
|
}
|
|
31989
31530
|
var UPDATE_RATE_DISCRIMINATOR = Buffer.from([
|
|
@@ -45566,7 +45107,7 @@ function exponentNumberToBigNumber(raw) {
|
|
|
45566
45107
|
let value = new bignumber_js.BigNumber(0);
|
|
45567
45108
|
const TWO_64 = new bignumber_js.BigNumber(2).pow(64);
|
|
45568
45109
|
words.forEach((w, i) => {
|
|
45569
|
-
const word = new bignumber_js.BigNumber(
|
|
45110
|
+
const word = new bignumber_js.BigNumber(BN5__default.default.isBN(w) ? w.toString() : String(w));
|
|
45570
45111
|
value = value.plus(word.times(TWO_64.pow(i)));
|
|
45571
45112
|
});
|
|
45572
45113
|
return value.div(EXPONENT_NUMBER_DENOM);
|
|
@@ -45577,7 +45118,7 @@ function pk(v) {
|
|
|
45577
45118
|
function decodeExponentVault(data) {
|
|
45578
45119
|
const d = EXPONENT_ACCOUNTS_CODER.decode("Vault", data);
|
|
45579
45120
|
const get = (snake, camel) => d[snake] ?? d[camel];
|
|
45580
|
-
const u646 = (v) => BigInt(
|
|
45121
|
+
const u646 = (v) => BigInt(BN5__default.default.isBN(v) ? v.toString() : String(v ?? 0));
|
|
45581
45122
|
const cpi = get("cpi_accounts", "cpiAccounts") ?? {};
|
|
45582
45123
|
return {
|
|
45583
45124
|
authority: pk(get("authority", "authority")),
|
|
@@ -46481,18 +46022,17 @@ exports.dtoToDriftSpotMarketRaw = dtoToDriftSpotMarketRaw;
|
|
|
46481
46022
|
exports.dtoToDriftStateRaw = dtoToDriftStateRaw;
|
|
46482
46023
|
exports.dtoToDriftUserRaw = dtoToDriftUserRaw;
|
|
46483
46024
|
exports.dtoToDriftUserStatsRaw = dtoToDriftUserStatsRaw;
|
|
46484
|
-
exports.dtoToFarmRaw = dtoToFarmRaw;
|
|
46485
46025
|
exports.dtoToJupLendingRewardsRateModelRaw = dtoToJupLendingRewardsRateModelRaw;
|
|
46486
46026
|
exports.dtoToJupLendingStateRaw = dtoToJupLendingStateRaw;
|
|
46487
46027
|
exports.dtoToJupRateModelRaw = dtoToJupRateModelRaw;
|
|
46488
46028
|
exports.dtoToJupTokenReserveRaw = dtoToJupTokenReserveRaw;
|
|
46489
|
-
exports.
|
|
46490
|
-
exports.
|
|
46029
|
+
exports.dtoToKaminoFarmState = dtoToKaminoFarmState;
|
|
46030
|
+
exports.dtoToKaminoObligation = dtoToKaminoObligation;
|
|
46031
|
+
exports.dtoToKaminoReserve = dtoToKaminoReserve;
|
|
46491
46032
|
exports.encodeTitanTemplate = encodeTitanTemplate;
|
|
46492
46033
|
exports.exponentBuyPtArgs = exponentBuyPtArgs;
|
|
46493
46034
|
exports.exponentClmmBuyPtArgs = exponentClmmBuyPtArgs;
|
|
46494
46035
|
exports.exponentNumberToBigNumber = exponentNumberToBigNumber;
|
|
46495
|
-
exports.farmRawToDto = farmRawToDto;
|
|
46496
46036
|
exports.fetchExponentMarketThree = fetchExponentMarketThree;
|
|
46497
46037
|
exports.fetchExponentMarketTwo = fetchExponentMarketTwo;
|
|
46498
46038
|
exports.fetchExponentVault = fetchExponentVault;
|
|
@@ -46544,6 +46084,9 @@ exports.jupLendingRewardsRateModelRawToDto = jupLendingRewardsRateModelRawToDto;
|
|
|
46544
46084
|
exports.jupLendingStateRawToDto = jupLendingStateRawToDto;
|
|
46545
46085
|
exports.jupRateModelRawToDto = jupRateModelRawToDto;
|
|
46546
46086
|
exports.jupTokenReserveRawToDto = jupTokenReserveRawToDto;
|
|
46087
|
+
exports.kaminoFarmStateToDto = kaminoFarmStateToDto;
|
|
46088
|
+
exports.kaminoObligationToDto = kaminoObligationToDto;
|
|
46089
|
+
exports.kaminoReserveToDto = kaminoReserveToDto;
|
|
46547
46090
|
exports.layout = layout;
|
|
46548
46091
|
exports.lutToTitanWire = lutToTitanWire;
|
|
46549
46092
|
exports.makeExponentClmmTradePtIx = makeExponentClmmTradePtIx;
|
|
@@ -46559,11 +46102,9 @@ exports.makeUpdateJupLendRate = makeUpdateJupLendRate;
|
|
|
46559
46102
|
exports.makeUpdateJupLendRateIx = makeUpdateJupLendRateIx;
|
|
46560
46103
|
exports.makeUpdateSpotMarketCumulativeInterestIx = makeUpdateSpotMarketCumulativeInterestIx;
|
|
46561
46104
|
exports.makeUpdateSpotMarketIx = makeUpdateSpotMarketIx;
|
|
46562
|
-
exports.obligationRawToDto = obligationRawToDto;
|
|
46563
46105
|
exports.parsePriceData = parsePriceData;
|
|
46564
46106
|
exports.parsePriceInfo = parsePriceInfo2;
|
|
46565
46107
|
exports.replenishPoolIx = replenishPoolIx;
|
|
46566
|
-
exports.reserveRawToDto = reserveRawToDto;
|
|
46567
46108
|
exports.resolveExponentClmmTradePtContext = resolveExponentClmmTradePtContext;
|
|
46568
46109
|
exports.resolveExponentMergeContext = resolveExponentMergeContext;
|
|
46569
46110
|
exports.resolveExponentStripContext = resolveExponentStripContext;
|