@0dotxyz/p0-ts-sdk 2.3.2 → 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/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 BN2 = require('bn.js');
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 BN2__default = /*#__PURE__*/_interopDefault(BN2);
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 BN2.BN(rawAmount.toString()).toArray("le", 8))
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 BN2.BN(lamports).toArray("le", 8)),
890
- Buffer.from(new BN2.BN(space).toArray("le", 8)),
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 obligationRawToDto(obligationRaw) {
4066
+ function kaminoObligationToDto(obligation) {
4067
4067
  return {
4068
- tag: obligationRaw.tag.toString(),
4069
- lastUpdate: {
4070
- slot: obligationRaw.lastUpdate.slot.toString(),
4071
- stale: obligationRaw.lastUpdate.stale,
4072
- priceStatus: obligationRaw.lastUpdate.priceStatus,
4073
- placeholder: obligationRaw.lastUpdate.placeholder
4074
- },
4075
- lendingMarket: obligationRaw.lendingMarket.toBase58(),
4076
- owner: obligationRaw.owner.toBase58(),
4077
- deposits: obligationRaw.deposits.map(
4078
- (item) => obligationCollateralToDto(item)
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 obligationLiquidityToDto(obligationLiquidityFields) {
4082
+ function kaminoReserveToDto(reserve) {
4265
4083
  return {
4266
- borrowReserve: obligationLiquidityFields.borrowReserve.toBase58(),
4267
- cumulativeBorrowRateBsf: {
4268
- value: obligationLiquidityFields.cumulativeBorrowRateBsf.value.map(
4269
- (item) => item.toString()
4270
- ),
4271
- padding: obligationLiquidityFields.cumulativeBorrowRateBsf.padding.map(
4272
- (item) => item.toString()
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
- padding: obligationLiquidityFields.padding.toString(),
4276
- borrowedAmountSf: obligationLiquidityFields.borrowedAmountSf.toString(),
4277
- marketValueSf: obligationLiquidityFields.marketValueSf.toString(),
4278
- borrowFactorAdjustedMarketValueSf: obligationLiquidityFields.borrowFactorAdjustedMarketValueSf.toString(),
4279
- borrowedAmountOutsideElevationGroups: obligationLiquidityFields.borrowedAmountOutsideElevationGroups.toString(),
4280
- padding2: obligationLiquidityFields.padding2.map((item) => item.toString())
4281
- };
4282
- }
4283
- function obligationOrderToDto(obligationOrderFields) {
4284
- return {
4285
- conditionThresholdSf: obligationOrderFields.conditionThresholdSf.toString(),
4286
- opportunityParameterSf: obligationOrderFields.opportunityParameterSf.toString(),
4287
- minExecutionBonusBps: obligationOrderFields.minExecutionBonusBps,
4288
- maxExecutionBonusBps: obligationOrderFields.maxExecutionBonusBps,
4289
- conditionType: obligationOrderFields.conditionType,
4290
- opportunityType: obligationOrderFields.opportunityType,
4291
- padding1: obligationOrderFields.padding1,
4292
- padding2: obligationOrderFields.padding2.map((item) => item.toString())
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 dtoToObligationRaw(obligationDto) {
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
- (item) => dtoToObligationCollateralFields(item)
12590
- ),
12591
- lowestReserveDepositLiquidationLtv: new BN2__default.default(
12592
- obligationDto.lowestReserveDepositLiquidationLtv
12593
- ),
12594
- depositedValueSf: new BN2__default.default(obligationDto.depositedValueSf),
12595
- borrows: obligationDto.borrows.map(
12596
- (item) => dtoToObligationLiquidityFields(item)
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 dtoToReserveRaw(reserveDto) {
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
- farmDebt: new web3_js.PublicKey(reserveDto.farmDebt),
12639
- liquidity: dtoToReserveLiquidityFields(reserveDto.liquidity),
12640
- reserveLiquidityPadding: reserveDto.reserveLiquidityPadding.map(
12641
- (item) => new BN2__default.default(item)
12642
- ),
12643
- collateral: {
12644
- mintPubkey: new web3_js.PublicKey(reserveDto.collateral.mintPubkey),
12645
- mintTotalSupply: new BN2__default.default(reserveDto.collateral.mintTotalSupply),
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
- padding: reserveDto.cumulativeBorrowRateBsf.padding.map(
12683
- (item) => new BN2__default.default(item)
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
- twapAggregator: new web3_js.PublicKey(
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
- blockPriceUsage: tokenInfoDto.blockPriceUsage,
12778
- reserved: tokenInfoDto.reserved,
12779
- padding: tokenInfoDto.padding.map((item) => new BN2__default.default(item))
12780
- };
12781
- }
12782
- function dtoToWithdrawalCapsFields(withdrawalCapsDto) {
12783
- return {
12784
- configCapacity: new BN2__default.default(withdrawalCapsDto.configCapacity),
12785
- currentTotal: new BN2__default.default(withdrawalCapsDto.currentTotal),
12786
- lastIntervalStartTimestamp: new BN2__default.default(
12787
- withdrawalCapsDto.lastIntervalStartTimestamp
12788
- ),
12789
- configIntervalLengthSeconds: new BN2__default.default(
12790
- withdrawalCapsDto.configIntervalLengthSeconds
12791
- )
12792
- };
12793
- }
12794
- function dtoToObligationCollateralFields(obligationCollateralDto) {
12795
- return {
12796
- depositReserve: new web3_js.PublicKey(obligationCollateralDto.depositReserve),
12797
- depositedAmount: new BN2__default.default(obligationCollateralDto.depositedAmount),
12798
- marketValueSf: new BN2__default.default(obligationCollateralDto.marketValueSf),
12799
- borrowedAmountAgainstThisCollateralInElevationGroup: new BN2__default.default(
12800
- obligationCollateralDto.borrowedAmountAgainstThisCollateralInElevationGroup
12801
- ),
12802
- padding: obligationCollateralDto.padding.map((item) => new BN2__default.default(item))
12803
- };
12804
- }
12805
- function dtoToObligationLiquidityFields(obligationLiquidityDto) {
12806
- return {
12807
- borrowReserve: new web3_js.PublicKey(obligationLiquidityDto.borrowReserve),
12808
- cumulativeBorrowRateBsf: {
12809
- value: obligationLiquidityDto.cumulativeBorrowRateBsf.value.map(
12810
- (item) => new BN2__default.default(item)
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 BN2__default.default(2).pow(new BN2__default.default(_Fraction.MAX_SIZE_F)).sub(new BN2__default.default(1));
12964
- static MAX_BF_BN = new BN2__default.default(2).pow(new BN2__default.default(_Fraction.MAX_SIZE_BF)).sub(new BN2__default.default(1));
12965
- static MIN_BN = new BN2__default.default(0);
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 BN2__default.default(roundedScaledDecimal.toFixed());
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 BN2__default.default(0));
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 farmRawToDto(farmRaw) {
12852
+ function kaminoFarmStateToDto(farmState) {
13215
12853
  return {
13216
- farmAdmin: farmRaw.farmAdmin.toBase58(),
13217
- globalConfig: farmRaw.globalConfig.toBase58(),
13218
12854
  token: {
13219
- mint: farmRaw.token.mint.toBase58(),
13220
- decimals: farmRaw.token.decimals.toString(),
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: farmRaw.rewardInfos.map((item) => ({
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
- rewardsVault: item.rewardsVault.toBase58(),
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
- minClaimDurationSeconds: item.minClaimDurationSeconds.toString(),
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 dtoToFarmRaw(dto) {
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 BN2__default.default(dto.token.decimals),
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 BN2__default.default(item.token.decimals),
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
- rewardsVault: new web3_js.PublicKey(item.rewardsVault),
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 BN2__default.default(p.tsStart),
13400
- rewardPerTimeUnit: new BN2__default.default(p.rewardPerTimeUnit)
12979
+ tsStart: new BN5__default.default(p.tsStart),
12980
+ rewardPerTimeUnit: new BN5__default.default(p.rewardPerTimeUnit)
13401
12981
  }))
13402
- },
13403
- minClaimDurationSeconds: new BN2__default.default(item.minClaimDurationSeconds),
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 BN2__default.default(userStatsDto.fees.totalFeePaid),
27612
- totalFeeRebate: new BN2__default.default(userStatsDto.fees.totalFeeRebate),
27613
- totalTokenDiscount: new BN2__default.default(userStatsDto.fees.totalTokenDiscount),
27614
- totalRefereeDiscount: new BN2__default.default(userStatsDto.fees.totalRefereeDiscount),
27615
- totalReferrerReward: new BN2__default.default(userStatsDto.fees.totalReferrerReward),
27616
- currentEpochReferrerReward: new BN2__default.default(
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 BN2__default.default(userStatsDto.nextEpochTs),
27621
- makerVolume30d: new BN2__default.default(userStatsDto.makerVolume30d),
27622
- takerVolume30d: new BN2__default.default(userStatsDto.takerVolume30d),
27623
- fillerVolume30d: new BN2__default.default(userStatsDto.fillerVolume30d),
27624
- lastMakerVolume30dTs: new BN2__default.default(userStatsDto.lastMakerVolume30dTs),
27625
- lastTakerVolume30dTs: new BN2__default.default(userStatsDto.lastTakerVolume30dTs),
27626
- lastFillerVolume30dTs: new BN2__default.default(userStatsDto.lastFillerVolume30dTs),
27627
- ifStakedQuoteAssetAmount: new BN2__default.default(userStatsDto.ifStakedQuoteAssetAmount),
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 BN2__default.default(userStatsDto.ifStakedGovTokenAmount),
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 BN2__default.default(p.scaledBalance),
27650
- openBids: new BN2__default.default(p.openBids),
27651
- openAsks: new BN2__default.default(p.openAsks),
27652
- cumulativeDeposits: new BN2__default.default(p.cumulativeDeposits),
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 BN2__default.default(stateDto.numberOfAuthorities),
27671
- numberOfSubAccounts: new BN2__default.default(stateDto.numberOfSubAccounts),
27672
- lpCooldownTime: new BN2__default.default(stateDto.lpCooldownTime),
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 BN2__default.default(rewardsDto.spotPosition.scaledBalance),
27697
- openBids: new BN2__default.default(rewardsDto.spotPosition.openBids),
27698
- openAsks: new BN2__default.default(rewardsDto.spotPosition.openAsks),
27699
- cumulativeDeposits: new BN2__default.default(rewardsDto.spotPosition.cumulativeDeposits),
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 BN2__default.default(spotMarketDto.cumulativeDepositInterest),
27247
+ cumulativeDepositInterest: new BN5__default.default(spotMarketDto.cumulativeDepositInterest),
27714
27248
  marketIndex: spotMarketDto.marketIndex,
27715
- depositBalance: new BN2__default.default(spotMarketDto.depositBalance),
27716
- borrowBalance: new BN2__default.default(spotMarketDto.borrowBalance),
27717
- cumulativeBorrowInterest: new BN2__default.default(spotMarketDto.cumulativeBorrowInterest),
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 BN2__default.default(p.scaled_balance),
27840
- openBids: new BN2__default.default(p.open_bids),
27841
- openAsks: new BN2__default.default(p.open_asks),
27842
- cumulativeDeposits: new BN2__default.default(p.cumulative_deposits),
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 BN2__default.default(subAccountId).toArrayLike(Buffer, "le", 2)
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 BN2__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
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 BN2__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
27507
+ new BN5__default.default(marketIndex).toArrayLike(Buffer, "le", 2)
27974
27508
  ],
27975
27509
  programId
27976
27510
  );
27977
27511
  }
27978
- var ZERO = new BN2__default.default(0);
27979
- var ONE = new BN2__default.default(1);
27980
- var TEN = new BN2__default.default(10);
27981
- var PERCENTAGE_PRECISION_EXP = new BN2__default.default(6);
27982
- var PERCENTAGE_PRECISION = new BN2__default.default(10).pow(PERCENTAGE_PRECISION_EXP);
27983
- var SPOT_MARKET_RATE_PRECISION_EXP = new BN2__default.default(6);
27984
- var SPOT_MARKET_RATE_PRECISION = new BN2__default.default(10).pow(SPOT_MARKET_RATE_PRECISION_EXP);
27985
- var SPOT_MARKET_UTILIZATION_PRECISION_EXP = new BN2__default.default(6);
27986
- var SPOT_MARKET_UTILIZATION_PRECISION = new BN2__default.default(10).pow(
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 BN2__default.default(31536e3);
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 BN2__default.default(19 - spotMarket.decimals));
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 BN2__default.default(bank.optimalUtilization);
28035
- const optimalRate = new BN2__default.default(bank.optimalBorrowRate);
28036
- const maxRate = new BN2__default.default(bank.maxBorrowRate);
28037
- const minRate = new BN2__default.default(bank.minBorrowRate).mul(PERCENTAGE_PRECISION.divn(200));
28038
- const weightsDivisor = new BN2__default.default(1e3);
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 BN2__default.default(85e4), new BN2__default.default(50)],
28041
- [new BN2__default.default(9e5), new BN2__default.default(100)],
28042
- [new BN2__default.default(95e4), new BN2__default.default(150)],
28043
- [new BN2__default.default(99e4), new BN2__default.default(200)],
28044
- [new BN2__default.default(995e3), new BN2__default.default(250)],
28045
- [SPOT_MARKET_UTILIZATION_PRECISION, new BN2__default.default(250)]
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 BN2__default.default.max(minRate, rate);
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 BN2__default.default(bank.insuranceFund.totalFactor))).mul(utilization).div(SPOT_MARKET_UTILIZATION_PRECISION).div(PERCENTAGE_PRECISION);
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 BN2__default.default(10).pow(new BN2__default.default(18));
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 BN2__default.default(10).pow(new BN2__default.default(18));
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 BN2__default.default(
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 BN2__default.default(data.slice(offset, offset + 8), "le");
31095
+ const lastUpdateTimestamp = new BN5__default.default(data.slice(offset, offset + 8), "le");
31562
31096
  offset += 8;
31563
- const supplyExchangePrice = new BN2__default.default(data.slice(offset, offset + 8), "le");
31097
+ const supplyExchangePrice = new BN5__default.default(data.slice(offset, offset + 8), "le");
31564
31098
  offset += 8;
31565
- const borrowExchangePrice = new BN2__default.default(data.slice(offset, offset + 8), "le");
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 BN2__default.default(data.slice(offset, offset + 8), "le");
31103
+ const totalSupplyWithInterest = new BN5__default.default(data.slice(offset, offset + 8), "le");
31570
31104
  offset += 8;
31571
- const totalSupplyInterestFree = new BN2__default.default(data.slice(offset, offset + 8), "le");
31105
+ const totalSupplyInterestFree = new BN5__default.default(data.slice(offset, offset + 8), "le");
31572
31106
  offset += 8;
31573
- const totalBorrowWithInterest = new BN2__default.default(data.slice(offset, offset + 8), "le");
31107
+ const totalBorrowWithInterest = new BN5__default.default(data.slice(offset, offset + 8), "le");
31574
31108
  offset += 8;
31575
- const totalBorrowInterestFree = new BN2__default.default(data.slice(offset, offset + 8), "le");
31109
+ const totalBorrowInterestFree = new BN5__default.default(data.slice(offset, offset + 8), "le");
31576
31110
  offset += 8;
31577
- const totalClaimAmount = new BN2__default.default(data.slice(offset, offset + 8), "le");
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 BN2__default.default(data.slice(offset, offset + 8), "le");
31115
+ const interactingTimestamp = new BN5__default.default(data.slice(offset, offset + 8), "le");
31582
31116
  offset += 8;
31583
- const interactingBalance = new BN2__default.default(data.slice(offset, offset + 8), "le");
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 BN2__default.default(dto.liquidityExchangePrice),
31646
- tokenExchangePrice: new BN2__default.default(dto.tokenExchangePrice),
31647
- lastUpdateTimestamp: new BN2__default.default(dto.lastUpdateTimestamp),
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 BN2__default.default(dto.lastUpdateTimestamp),
31661
- supplyExchangePrice: new BN2__default.default(dto.supplyExchangePrice),
31662
- borrowExchangePrice: new BN2__default.default(dto.borrowExchangePrice),
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 BN2__default.default(dto.totalSupplyWithInterest),
31665
- totalSupplyInterestFree: new BN2__default.default(dto.totalSupplyInterestFree),
31666
- totalBorrowWithInterest: new BN2__default.default(dto.totalBorrowWithInterest),
31667
- totalBorrowInterestFree: new BN2__default.default(dto.totalBorrowInterestFree),
31668
- totalClaimAmount: new BN2__default.default(dto.totalClaimAmount),
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 BN2__default.default(dto.interactingTimestamp),
31671
- interactingBalance: new BN2__default.default(dto.interactingBalance)
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 BN2__default.default(dto.startTvl),
31679
- duration: new BN2__default.default(dto.duration),
31680
- startTime: new BN2__default.default(dto.startTime),
31681
- yearlyReward: new BN2__default.default(dto.yearlyReward),
31682
- nextDuration: new BN2__default.default(dto.nextDuration),
31683
- nextRewardAmount: new BN2__default.default(dto.nextRewardAmount)
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 BN2__default.default("1000000000000");
31800
- var JUP_SECONDS_PER_YEAR = new BN2__default.default(31536e3);
31801
- var JUP_MAX_REWARDS_RATE = new BN2__default.default("50000000000000");
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 BN2__default.default(0),
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 BN2__default.default(1e4)).div(totalAssets);
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 BN2__default.default(0), rewardsStartTime: rewardsModel.startTime };
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 BN2__default.default(0);
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 BN2__default.default(100));
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 BN2__default.default(1e14)).div(oldLiquidityExchangePrice)
31405
+ delta.mul(new BN5__default.default(1e14)).div(oldLiquidityExchangePrice)
31872
31406
  );
31873
- return oldTokenExchangePrice.add(oldTokenExchangePrice.mul(totalReturnPercent).div(new BN2__default.default(1e14)));
31407
+ return oldTokenExchangePrice.add(oldTokenExchangePrice.mul(totalReturnPercent).div(new BN5__default.default(1e14)));
31874
31408
  }
31875
31409
  function calculateJupLendLiquiditySupplyRate(tokenReserve) {
31876
- const borrowRate = new BN2__default.default(tokenReserve.borrowRate);
31877
- const fee = new BN2__default.default(tokenReserve.feeOnInterest);
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 BN2__default.default(0);
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 BN2__default.default(0);
31418
+ return new BN5__default.default(0);
31885
31419
  }
31886
- return borrowRate.mul(new BN2__default.default(1e4).sub(fee)).mul(borrowWithInterestForRate).div(supplyWithInterestForRate.mul(new BN2__default.default(1e4)));
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 BN2__default.default(Math.floor(Date.now() / 1e3));
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 BN2__default.default(0),
31514
+ rewardsRate: new BN5__default.default(0),
31981
31515
  rewardsEnded: false,
31982
- rewardsStartTime: new BN2__default.default(0)
31516
+ rewardsStartTime: new BN5__default.default(0)
31983
31517
  };
31984
31518
  }
31985
31519
  const totalAssets = calculateJupLendTotalAssets(lendingState, fTokenTotalSupply);
31986
- const currentTimestamp = new BN2__default.default(Math.floor(Date.now() / 1e3));
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(BN2__default.default.isBN(w) ? w.toString() : String(w));
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(BN2__default.default.isBN(v) ? v.toString() : String(v ?? 0));
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.dtoToObligationRaw = dtoToObligationRaw;
46490
- exports.dtoToReserveRaw = dtoToReserveRaw;
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;