@kamino-finance/klend-sdk 5.10.33 → 5.10.35-beta.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.
Files changed (188) hide show
  1. package/dist/classes/action.d.ts +33 -26
  2. package/dist/classes/action.d.ts.map +1 -1
  3. package/dist/classes/action.js +614 -202
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/manager.d.ts +4 -4
  6. package/dist/classes/manager.d.ts.map +1 -1
  7. package/dist/classes/manager.js +13 -4
  8. package/dist/classes/manager.js.map +1 -1
  9. package/dist/classes/reserve.d.ts +1 -1
  10. package/dist/classes/reserve.d.ts.map +1 -1
  11. package/dist/classes/reserve.js +2 -1
  12. package/dist/classes/reserve.js.map +1 -1
  13. package/dist/classes/types.d.ts +4 -0
  14. package/dist/classes/types.d.ts.map +1 -1
  15. package/dist/classes/utils.d.ts.map +1 -1
  16. package/dist/classes/utils.js +1 -2
  17. package/dist/classes/utils.js.map +1 -1
  18. package/dist/classes/vault.d.ts +4 -4
  19. package/dist/classes/vault.d.ts.map +1 -1
  20. package/dist/classes/vault.js +39 -26
  21. package/dist/classes/vault.js.map +1 -1
  22. package/dist/client_kamino_manager.d.ts.map +1 -1
  23. package/dist/client_kamino_manager.js +8 -3
  24. package/dist/client_kamino_manager.js.map +1 -1
  25. package/dist/idl.json +269 -156
  26. package/dist/idl_codegen/accounts/LendingMarket.d.ts +15 -0
  27. package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
  28. package/dist/idl_codegen/accounts/LendingMarket.js +11 -1
  29. package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
  30. package/dist/idl_codegen/accounts/Obligation.d.ts +6 -0
  31. package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
  32. package/dist/idl_codegen/accounts/Obligation.js +8 -1
  33. package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
  34. package/dist/idl_codegen/errors/custom.d.ts +51 -3
  35. package/dist/idl_codegen/errors/custom.d.ts.map +1 -1
  36. package/dist/idl_codegen/errors/custom.js +89 -5
  37. package/dist/idl_codegen/errors/custom.js.map +1 -1
  38. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js +1 -1
  39. package/dist/idl_codegen/instructions/borrowObligationLiquidity.js.map +1 -1
  40. package/dist/idl_codegen/instructions/borrowObligationLiquidityV2.js +1 -1
  41. package/dist/idl_codegen/instructions/borrowObligationLiquidityV2.js.map +1 -1
  42. package/dist/idl_codegen/instructions/depositAndWithdraw.d.ts +52 -0
  43. package/dist/idl_codegen/instructions/depositAndWithdraw.d.ts.map +1 -0
  44. package/dist/idl_codegen/instructions/depositAndWithdraw.js +219 -0
  45. package/dist/idl_codegen/instructions/depositAndWithdraw.js.map +1 -0
  46. package/dist/idl_codegen/instructions/depositReserveLiquidity.js +1 -1
  47. package/dist/idl_codegen/instructions/depositReserveLiquidity.js.map +1 -1
  48. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js +1 -1
  49. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -1
  50. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateralV2.js +1 -1
  51. package/dist/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateralV2.js.map +1 -1
  52. package/dist/idl_codegen/instructions/index.d.ts +2 -2
  53. package/dist/idl_codegen/instructions/index.d.ts.map +1 -1
  54. package/dist/idl_codegen/instructions/index.js +3 -3
  55. package/dist/idl_codegen/instructions/index.js.map +1 -1
  56. package/dist/idl_codegen/instructions/initFarmsForReserve.js +1 -1
  57. package/dist/idl_codegen/instructions/initFarmsForReserve.js.map +1 -1
  58. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js +1 -1
  59. package/dist/idl_codegen/instructions/initObligationFarmsForReserve.js.map +1 -1
  60. package/dist/idl_codegen/instructions/initReserve.d.ts +1 -0
  61. package/dist/idl_codegen/instructions/initReserve.d.ts.map +1 -1
  62. package/dist/idl_codegen/instructions/initReserve.js +5 -0
  63. package/dist/idl_codegen/instructions/initReserve.js.map +1 -1
  64. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js +2 -2
  65. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -1
  66. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateralV2.js +2 -2
  67. package/dist/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateralV2.js.map +1 -1
  68. package/dist/idl_codegen/instructions/redeemFees.js +1 -1
  69. package/dist/idl_codegen/instructions/redeemFees.js.map +1 -1
  70. package/dist/idl_codegen/instructions/redeemReserveCollateral.js +1 -1
  71. package/dist/idl_codegen/instructions/redeemReserveCollateral.js.map +1 -1
  72. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js +1 -1
  73. package/dist/idl_codegen/instructions/refreshObligationFarmsForReserve.js.map +1 -1
  74. package/dist/idl_codegen/instructions/repayAndWithdrawAndRedeem.d.ts +9 -0
  75. package/dist/idl_codegen/instructions/repayAndWithdrawAndRedeem.d.ts.map +1 -1
  76. package/dist/idl_codegen/instructions/repayAndWithdrawAndRedeem.js +24 -3
  77. package/dist/idl_codegen/instructions/repayAndWithdrawAndRedeem.js.map +1 -1
  78. package/dist/idl_codegen/instructions/repayObligationLiquidity.js +1 -1
  79. package/dist/idl_codegen/instructions/repayObligationLiquidity.js.map +1 -1
  80. package/dist/idl_codegen/instructions/repayObligationLiquidityV2.js +1 -1
  81. package/dist/idl_codegen/instructions/repayObligationLiquidityV2.js.map +1 -1
  82. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +2 -2
  83. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -1
  84. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js +2 -2
  85. package/dist/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js.map +1 -1
  86. package/dist/idl_codegen/instructions/withdrawProtocolFee.js +1 -1
  87. package/dist/idl_codegen/instructions/withdrawProtocolFee.js.map +1 -1
  88. package/dist/idl_codegen/instructions/withdrawReferrerFees.js +1 -1
  89. package/dist/idl_codegen/instructions/withdrawReferrerFees.js.map +1 -1
  90. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
  91. package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
  92. package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
  93. package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
  94. package/dist/idl_codegen/types/index.d.ts +2 -2
  95. package/dist/idl_codegen/types/index.d.ts.map +1 -1
  96. package/dist/idl_codegen/types/index.js.map +1 -1
  97. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +12 -4
  98. package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -1
  99. package/dist/idl_codegen/zero_padding/ObligationZP.js +15 -8
  100. package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
  101. package/dist/lending_operations/repay_with_collateral_operations.d.ts +3 -2
  102. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  103. package/dist/lending_operations/repay_with_collateral_operations.js +7 -6
  104. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  105. package/dist/lending_operations/swap_collateral_operations.d.ts +5 -0
  106. package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
  107. package/dist/lending_operations/swap_collateral_operations.js +9 -5
  108. package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
  109. package/dist/leverage/instructions.d.ts +1 -2
  110. package/dist/leverage/instructions.d.ts.map +1 -1
  111. package/dist/leverage/instructions.js +2 -6
  112. package/dist/leverage/instructions.js.map +1 -1
  113. package/dist/leverage/operations.d.ts +8 -8
  114. package/dist/leverage/operations.d.ts.map +1 -1
  115. package/dist/leverage/operations.js +46 -37
  116. package/dist/leverage/operations.js.map +1 -1
  117. package/dist/leverage/types.d.ts +4 -1
  118. package/dist/leverage/types.d.ts.map +1 -1
  119. package/dist/utils/ata.d.ts +1 -1
  120. package/dist/utils/ata.d.ts.map +1 -1
  121. package/dist/utils/ata.js +2 -2
  122. package/dist/utils/ata.js.map +1 -1
  123. package/dist/utils/constants.d.ts +4 -9
  124. package/dist/utils/constants.d.ts.map +1 -1
  125. package/dist/utils/constants.js +5 -10
  126. package/dist/utils/constants.js.map +1 -1
  127. package/dist/utils/instruction.d.ts.map +1 -1
  128. package/dist/utils/instruction.js +1 -3
  129. package/dist/utils/instruction.js.map +1 -1
  130. package/dist/utils/managerTypes.d.ts +1 -0
  131. package/dist/utils/managerTypes.d.ts.map +1 -1
  132. package/dist/utils/managerTypes.js.map +1 -1
  133. package/dist/utils/seeds.d.ts +5 -0
  134. package/dist/utils/seeds.d.ts.map +1 -1
  135. package/dist/utils/seeds.js +10 -1
  136. package/dist/utils/seeds.js.map +1 -1
  137. package/dist/utils/userMetadata.d.ts.map +1 -1
  138. package/dist/utils/userMetadata.js +8 -10
  139. package/dist/utils/userMetadata.js.map +1 -1
  140. package/package.json +6 -3
  141. package/src/classes/action.ts +789 -214
  142. package/src/classes/manager.ts +18 -4
  143. package/src/classes/reserve.ts +2 -0
  144. package/src/classes/types.ts +5 -0
  145. package/src/classes/utils.ts +3 -3
  146. package/src/classes/vault.ts +49 -37
  147. package/src/client.ts +7 -3
  148. package/src/client_kamino_manager.ts +10 -3
  149. package/src/idl.json +269 -156
  150. package/src/idl_codegen/accounts/LendingMarket.ts +21 -1
  151. package/src/idl_codegen/accounts/Obligation.ts +12 -1
  152. package/src/idl_codegen/errors/custom.ts +103 -4
  153. package/src/idl_codegen/instructions/borrowObligationLiquidity.ts +1 -1
  154. package/src/idl_codegen/instructions/borrowObligationLiquidityV2.ts +1 -1
  155. package/src/idl_codegen/instructions/depositAndWithdraw.ts +241 -0
  156. package/src/idl_codegen/instructions/depositReserveLiquidity.ts +1 -1
  157. package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateral.ts +1 -1
  158. package/src/idl_codegen/instructions/depositReserveLiquidityAndObligationCollateralV2.ts +1 -1
  159. package/src/idl_codegen/instructions/index.ts +4 -4
  160. package/src/idl_codegen/instructions/initFarmsForReserve.ts +1 -1
  161. package/src/idl_codegen/instructions/initObligationFarmsForReserve.ts +1 -1
  162. package/src/idl_codegen/instructions/initReserve.ts +6 -0
  163. package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateral.ts +2 -2
  164. package/src/idl_codegen/instructions/liquidateObligationAndRedeemReserveCollateralV2.ts +2 -2
  165. package/src/idl_codegen/instructions/redeemFees.ts +1 -1
  166. package/src/idl_codegen/instructions/redeemReserveCollateral.ts +1 -1
  167. package/src/idl_codegen/instructions/refreshObligationFarmsForReserve.ts +1 -1
  168. package/src/idl_codegen/instructions/repayAndWithdrawAndRedeem.ts +33 -3
  169. package/src/idl_codegen/instructions/repayObligationLiquidity.ts +1 -1
  170. package/src/idl_codegen/instructions/repayObligationLiquidityV2.ts +1 -1
  171. package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +2 -2
  172. package/src/idl_codegen/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.ts +2 -2
  173. package/src/idl_codegen/instructions/withdrawProtocolFee.ts +1 -1
  174. package/src/idl_codegen/instructions/withdrawReferrerFees.ts +1 -1
  175. package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
  176. package/src/idl_codegen/types/index.ts +2 -0
  177. package/src/idl_codegen/zero_padding/ObligationZP.ts +18 -7
  178. package/src/lending_operations/repay_with_collateral_operations.ts +12 -3
  179. package/src/lending_operations/swap_collateral_operations.ts +17 -5
  180. package/src/leverage/instructions.ts +1 -6
  181. package/src/leverage/operations.ts +66 -29
  182. package/src/leverage/types.ts +4 -1
  183. package/src/utils/ata.ts +1 -1
  184. package/src/utils/constants.ts +5 -11
  185. package/src/utils/instruction.ts +1 -3
  186. package/src/utils/managerTypes.ts +1 -0
  187. package/src/utils/seeds.ts +13 -0
  188. package/src/utils/userMetadata.ts +21 -26
@@ -39,6 +39,7 @@ async function getSwapCollIxns(inputs) {
39
39
  return {
40
40
  ixs: listIxns(klendIxns, externalSwapIxns.ixns),
41
41
  lookupTables: externalSwapIxns.luts,
42
+ useV2Ixs: context.useV2Ixs,
42
43
  simulationDetails: {
43
44
  flashLoan: {
44
45
  targetCollFlashBorrowedAmount: klendIxns.simulationDetails.targetCollFlashBorrowedAmount,
@@ -77,6 +78,7 @@ function extractArgsAndContext(inputs) {
77
78
  referrer: inputs.referrer,
78
79
  scopeRefresh: inputs.scopeRefresh,
79
80
  currentSlot: inputs.currentSlot,
81
+ useV2Ixs: inputs.useV2Ixs,
80
82
  },
81
83
  ];
82
84
  }
@@ -125,10 +127,10 @@ function getAtaCreationIxns(context) {
125
127
  }
126
128
  function getAtaCloseIxns(context) {
127
129
  const ataCloseIxns = [];
128
- if (context.sourceCollReserve.getLiquidityMint().equals(utils_1.WRAPPED_SOL_MINT) ||
129
- context.targetCollReserve.getLiquidityMint().equals(utils_1.WRAPPED_SOL_MINT)) {
130
+ if (context.sourceCollReserve.getLiquidityMint().equals(spl_token_1.NATIVE_MINT) ||
131
+ context.targetCollReserve.getLiquidityMint().equals(spl_token_1.NATIVE_MINT)) {
130
132
  const owner = context.obligation.state.owner;
131
- const wsolAta = (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, owner, false);
133
+ const wsolAta = (0, utils_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, owner, false);
132
134
  ataCloseIxns.push((0, spl_token_1.createCloseAccountInstruction)(wsolAta, owner, owner, [], spl_token_1.TOKEN_PROGRAM_ID));
133
135
  }
134
136
  return ataCloseIxns;
@@ -152,10 +154,11 @@ function getTargetCollFlashLoanIxns(targetCollAmount, flashBorrowIxnIndex, desti
152
154
  async function getDepositTargetCollIxns(targetCollAmount, context) {
153
155
  const removesElevationGroup = mustRemoveElevationGroupBeforeDeposit(context);
154
156
  const depositCollAction = await classes_1.KaminoAction.buildDepositTxns(context.market, targetCollAmount.mul(context.targetCollReserve.getMintFactor()).toString(), // in lamports
155
- context.targetCollReserve.getLiquidityMint(), context.obligation.state.owner, context.obligation, 0, // no extra compute budget
157
+ context.targetCollReserve.getLiquidityMint(), context.obligation.state.owner, context.obligation, context.useV2Ixs, 0, // no extra compute budget
156
158
  false, // we do not need ATA ixns here (we construct and close them ourselves)
157
159
  removesElevationGroup, // we may need to (temporarily) remove the elevation group; the same or a different one will be set on withdraw, if requested
158
160
  false, // we are dealing with an existing obligation, no need to create user metadata
161
+ false, // we do not need to create a lookup table, dealing with an existing obligation
159
162
  context.referrer, context.currentSlot, context.scopeRefresh, removesElevationGroup ? 0 : undefined // only applicable when removing the group
160
163
  );
161
164
  return {
@@ -185,10 +188,11 @@ async function getWithdrawSourceCollIxns(args, depositRemovedElevationGroup, con
185
188
  ? utils_1.U64_MAX
186
189
  : args.sourceCollSwapAmount.mul(context.sourceCollReserve.getMintFactor()).toString();
187
190
  const requestedElevationGroup = elevationGroupIdToRequestAfterWithdraw(args, depositRemovedElevationGroup, context);
188
- const withdrawCollAction = await classes_1.KaminoAction.buildWithdrawTxns(context.market, withdrawnSourceCollLamports, context.sourceCollReserve.getLiquidityMint(), context.obligation.state.owner, context.obligation, 0, // no extra compute budget
191
+ const withdrawCollAction = await classes_1.KaminoAction.buildWithdrawTxns(context.market, withdrawnSourceCollLamports, context.sourceCollReserve.getLiquidityMint(), context.obligation.state.owner, context.obligation, context.useV2Ixs, 0, // no extra compute budget
189
192
  false, // we do not need ATA ixns here (we construct and close them ourselves)
190
193
  requestedElevationGroup !== undefined, // the `elevationGroupIdToRequestAfterWithdraw()` has already decided on this
191
194
  false, // we are dealing with an existing obligation, no need to create user metadata
195
+ false, // we do not need to create a lookup table, dealing with an existing obligation
192
196
  context.referrer, context.currentSlot, undefined, // we have refreshed scope already, during depositing
193
197
  requestedElevationGroup, context.obligation.deposits.has(context.targetCollReserve.address) // if our obligation already had the target coll...
194
198
  ? undefined // ... then we need no customizations here, but otherwise...
@@ -1 +1 @@
1
- {"version":3,"file":"swap_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/swap_collateral_operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap_collateral_operations.js","sourceRoot":"","sources":["../../src/lending_operations/swap_collateral_operations.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { PublicKey } from '@solana/web3.js';
2
+ import * as anchor from '@coral-xyz/anchor';
2
3
  import { KaminoReserve } from '../classes';
3
4
  import Decimal from 'decimal.js';
4
- import * as anchor from '@coral-xyz/anchor';
5
- export declare const SOL_MINTS: Array<PublicKey>;
6
5
  export declare const getFlashLoanInstructions: (args: {
7
6
  borrowIxnIndex: number;
8
7
  walletPublicKey: PublicKey;
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/leverage/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,SAAS,CAGtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAAU;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,SAAS,CAAC;IAC3B,sBAAsB,EAAE,SAAS,CAAC;IAClC,oBAAoB,EAAE,SAAS,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB;;;CA0BA,CAAC;AAEF,eAAO,MAAM,6BAA6B,gKAUvC;IACD,eAAe,EAAE,SAAS,CAAC;IAC3B,sBAAsB,EAAE,SAAS,CAAC;IAClC,oBAAoB,EAAE,SAAS,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB,uCAoBA,CAAC;AAEF,eAAO,MAAM,4BAA4B,qLAWtC;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,SAAS,CAAC;IAC3B,sBAAsB,EAAE,SAAS,CAAC;IAClC,oBAAoB,EAAE,SAAS,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,SAAS,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB,uCAsBA,CAAC"}
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/leverage/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,eAAO,MAAM,wBAAwB,SAAU;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,SAAS,CAAC;IAC3B,sBAAsB,EAAE,SAAS,CAAC;IAClC,oBAAoB,EAAE,SAAS,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB;;;CA0BA,CAAC;AAEF,eAAO,MAAM,6BAA6B,gKAUvC;IACD,eAAe,EAAE,SAAS,CAAC;IAC3B,sBAAsB,EAAE,SAAS,CAAC;IAClC,oBAAoB,EAAE,SAAS,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB,uCAoBA,CAAC;AAEF,eAAO,MAAM,4BAA4B,qLAWtC;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,SAAS,CAAC;IAC3B,sBAAsB,EAAE,SAAS,CAAC;IAClC,oBAAoB,EAAE,SAAS,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,SAAS,CAAC;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,SAAS,EAAE,SAAS,CAAC;CACtB,uCAsBA,CAAC"}
@@ -33,14 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getRepayFlashLoanInstruction = exports.getBorrowFlashLoanInstruction = exports.getFlashLoanInstructions = exports.SOL_MINTS = void 0;
36
+ exports.getRepayFlashLoanInstruction = exports.getBorrowFlashLoanInstruction = exports.getFlashLoanInstructions = void 0;
37
37
  const web3_js_1 = require("@solana/web3.js");
38
- const lib_1 = require("../lib");
39
38
  const anchor = __importStar(require("@coral-xyz/anchor"));
40
- exports.SOL_MINTS = [
41
- new web3_js_1.PublicKey('So11111111111111111111111111111111111111111'),
42
- new web3_js_1.PublicKey('So11111111111111111111111111111111111111112'),
43
- ];
39
+ const lib_1 = require("../lib");
44
40
  const getFlashLoanInstructions = (args) => {
45
41
  const flashBorrowIxn = (0, exports.getBorrowFlashLoanInstruction)({
46
42
  walletPublicKey: args.walletPublicKey,
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/leverage/instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/leverage/instructions.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
1
  import { PublicKey, TransactionInstruction } from '@solana/web3.js';
2
2
  import { KaminoMarket, KaminoObligation, KaminoReserve } from '../classes';
3
3
  import { StrategyWithAddress } from '@kamino-finance/kliquidity-sdk';
4
- import { AdjustLeverageInitialInputs, AdjustLeverageIxsResponse, AdjustLeverageProps, AdjustLeverageSwapInputsProps, DepositLeverageInitialInputs, DepositWithLeverageProps, DepositWithLeverageSwapInputsProps, DepsoitLeverageIxsResponse, SwapInputs, SwapIxs, WithdrawLeverageCalcsResult, WithdrawLeverageInitialInputs, WithdrawLeverageIxsResponse, WithdrawWithLeverageProps, WithdrawWithLeverageSwapInputsProps } from './types';
5
- export declare function getDepositWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, elevationGroupOverride, }: DepositWithLeverageSwapInputsProps<QuoteResponse>): Promise<{
4
+ import { AdjustLeverageInitialInputs, AdjustLeverageIxsResponse, AdjustLeverageProps, AdjustLeverageSwapInputsProps, DepositLeverageInitialInputs, DepositWithLeverageProps, DepositWithLeverageSwapInputsProps, DepositLeverageIxsResponse, SwapInputs, SwapIxs, WithdrawLeverageCalcsResult, WithdrawLeverageInitialInputs, WithdrawLeverageIxsResponse, WithdrawWithLeverageProps, WithdrawWithLeverageSwapInputsProps } from './types';
5
+ export declare function getDepositWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, useV2Ixs, elevationGroupOverride, }: DepositWithLeverageSwapInputsProps<QuoteResponse>): Promise<{
6
6
  swapInputs: SwapInputs;
7
7
  initialInputs: DepositLeverageInitialInputs<QuoteResponse>;
8
8
  }>;
9
- export declare function getDepositWithLeverageIxns<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, elevationGroupOverride, }: DepositWithLeverageProps<QuoteResponse>): Promise<DepsoitLeverageIxsResponse<QuoteResponse>>;
10
- export declare function getWithdrawWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, }: WithdrawWithLeverageSwapInputsProps<QuoteResponse>): Promise<{
9
+ export declare function getDepositWithLeverageIxns<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, elevationGroupOverride, useV2Ixs, }: DepositWithLeverageProps<QuoteResponse>): Promise<DepositLeverageIxsResponse<QuoteResponse>>;
10
+ export declare function getWithdrawWithLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, useV2Ixs, }: WithdrawWithLeverageSwapInputsProps<QuoteResponse>): Promise<{
11
11
  swapInputs: SwapInputs;
12
12
  initialInputs: WithdrawLeverageInitialInputs<QuoteResponse>;
13
13
  }>;
14
- export declare function getWithdrawWithLeverageIxns<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, swapper, }: WithdrawWithLeverageProps<QuoteResponse>): Promise<WithdrawLeverageIxsResponse<QuoteResponse>>;
15
- export declare function buildWithdrawWithLeverageIxns(market: KaminoMarket, debtReserve: KaminoReserve, collReserve: KaminoReserve, owner: PublicKey, obligation: KaminoObligation, referrer: PublicKey, currentSlot: number, isClosingPosition: boolean, depositTokenIsSol: boolean, scopeFeed: string | undefined, calcs: WithdrawLeverageCalcsResult, budgetAndPriorityFeeIxs: TransactionInstruction[] | undefined, swapQuoteIxs: SwapIxs, strategy: StrategyWithAddress | undefined, collIsKtoken: boolean): Promise<TransactionInstruction[]>;
16
- export declare function getAdjustLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, }: AdjustLeverageSwapInputsProps<QuoteResponse>): Promise<{
14
+ export declare function getWithdrawWithLeverageIxns<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, swapper, useV2Ixs, }: WithdrawWithLeverageProps<QuoteResponse>): Promise<WithdrawLeverageIxsResponse<QuoteResponse>>;
15
+ export declare function buildWithdrawWithLeverageIxns(market: KaminoMarket, debtReserve: KaminoReserve, collReserve: KaminoReserve, owner: PublicKey, obligation: KaminoObligation, referrer: PublicKey, currentSlot: number, isClosingPosition: boolean, depositTokenIsSol: boolean, scopeFeed: string | undefined, calcs: WithdrawLeverageCalcsResult, budgetAndPriorityFeeIxs: TransactionInstruction[] | undefined, swapQuoteIxs: SwapIxs, strategy: StrategyWithAddress | undefined, collIsKtoken: boolean, useV2Ixs: boolean): Promise<TransactionInstruction[]>;
16
+ export declare function getAdjustLeverageSwapInputs<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, useV2Ixs, }: AdjustLeverageSwapInputsProps<QuoteResponse>): Promise<{
17
17
  swapInputs: SwapInputs;
18
18
  initialInputs: AdjustLeverageInitialInputs<QuoteResponse>;
19
19
  }>;
20
- export declare function getAdjustLeverageIxns<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, }: AdjustLeverageProps<QuoteResponse>): Promise<AdjustLeverageIxsResponse<QuoteResponse>>;
20
+ export declare function getAdjustLeverageIxns<QuoteResponse>({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, useV2Ixs, }: AdjustLeverageProps<QuoteResponse>): Promise<AdjustLeverageIxsResponse<QuoteResponse>>;
21
21
  //# sourceMappingURL=operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,10 @@ const calcs_1 = require("./calcs");
20
20
  const spl_token_1 = require("@solana/spl-token");
21
21
  const utils_2 = require("./utils");
22
22
  const CreationParameters_1 = require("@kamino-finance/kliquidity-sdk/dist/utils/CreationParameters");
23
- async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, elevationGroupOverride, }) {
23
+ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, useV2Ixs, elevationGroupOverride, }) {
24
24
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
25
25
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
26
- const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
26
+ const solTokenReserve = kaminoMarket.getReserveByMint(spl_token_1.NATIVE_MINT);
27
27
  const flashLoanFee = collReserve.getFlashLoanFee() || new decimal_js_1.default(0);
28
28
  const selectedTokenIsCollToken = selectedTokenMint.equals(collTokenMint);
29
29
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
@@ -48,7 +48,7 @@ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtToken
48
48
  preActionIxs: [],
49
49
  swapIxs: [],
50
50
  lookupTables: [],
51
- }, strategy, collIsKtoken, elevationGroupOverride);
51
+ }, strategy, collIsKtoken, useV2Ixs, elevationGroupOverride);
52
52
  const uniqueKlendAccounts = (0, utils_1.uniqueAccounts)(klendIxs);
53
53
  const swapInputAmount = (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.swapDebtTokenIn : calcs.singleSidedDepositKtokenOnly, debtReserve.stats.decimals).ceil();
54
54
  const swapInputsForQuote = {
@@ -63,7 +63,7 @@ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtToken
63
63
  let expectedDebtTokenAtaBalance = new decimal_js_1.default(0);
64
64
  if (collIsKtoken) {
65
65
  let futureBalanceInAta = new decimal_js_1.default(0);
66
- if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
66
+ if (debtTokenMint.equals(spl_token_1.NATIVE_MINT)) {
67
67
  futureBalanceInAta = futureBalanceInAta.add(!collIsKtoken ? quotePriceCalcs.initDepositInSol : quotePriceCalcs.initDepositInSol);
68
68
  }
69
69
  futureBalanceInAta = futureBalanceInAta.add(!collIsKtoken ? quotePriceCalcs.debtTokenToBorrow : quotePriceCalcs.flashBorrowInDebtTokenKtokenOnly);
@@ -122,7 +122,7 @@ async function getDepositWithLeverageCalcs(depositAmount, selectedTokenIsCollTok
122
122
  }
123
123
  return calcs;
124
124
  }
125
- async function getDepositWithLeverageIxns({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, elevationGroupOverride, }) {
125
+ async function getDepositWithLeverageIxns({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, kamino, obligationTypeTagOverride, scopeFeed, budgetAndPriorityFeeIxs, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, elevationGroupOverride, useV2Ixs, }) {
126
126
  const { swapInputs, initialInputs } = await getDepositWithLeverageSwapInputs({
127
127
  owner,
128
128
  kaminoMarket,
@@ -144,6 +144,7 @@ async function getDepositWithLeverageIxns({ owner, kaminoMarket, debtTokenMint,
144
144
  priceAinB,
145
145
  isKtoken,
146
146
  quoter,
147
+ useV2Ixs,
147
148
  });
148
149
  let depositSwapper;
149
150
  if (!initialInputs.collIsKtoken) {
@@ -167,13 +168,13 @@ async function getDepositWithLeverageIxns({ owner, kaminoMarket, debtTokenMint,
167
168
  }
168
169
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
169
170
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
170
- const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
171
+ const solTokenReserve = kaminoMarket.getReserveByMint(spl_token_1.NATIVE_MINT);
171
172
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
172
173
  const ixs = await buildDepositWithLeverageIxns(kaminoMarket, debtReserve, collReserve, owner, initialInputs.obligation, referrer, currentSlot, depositTokenIsSol, scopeFeed, initialInputs.calcs, budgetAndPriorityFeeIxs, {
173
174
  preActionIxs: [],
174
175
  swapIxs: swapIxs,
175
176
  lookupTables: lookupTables,
176
- }, initialInputs.strategy, initialInputs.collIsKtoken, elevationGroupOverride);
177
+ }, initialInputs.strategy, initialInputs.collIsKtoken, useV2Ixs, elevationGroupOverride);
177
178
  return {
178
179
  ixs,
179
180
  lookupTables,
@@ -181,7 +182,7 @@ async function getDepositWithLeverageIxns({ owner, kaminoMarket, debtTokenMint,
181
182
  initialInputs,
182
183
  };
183
184
  }
184
- async function buildDepositWithLeverageIxns(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, depositTokenIsSol, scopeFeed, calcs, budgetAndPriorityFeeIxs, swapQuoteIxs, strategy, collIsKtoken, elevationGroupOverride) {
185
+ async function buildDepositWithLeverageIxns(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, depositTokenIsSol, scopeFeed, calcs, budgetAndPriorityFeeIxs, swapQuoteIxs, strategy, collIsKtoken, useV2Ixs, elevationGroupOverride) {
185
186
  const budgetIxns = budgetAndPriorityFeeIxs || (0, utils_1.getComputeBudgetAndPriorityFeeIxns)(3000000);
186
187
  const collTokenMint = collReserve.getLiquidityMint();
187
188
  const debtTokenMint = debtReserve.getLiquidityMint();
@@ -238,7 +239,7 @@ async function buildDepositWithLeverageIxns(market, debtReserve, collReserve, ow
238
239
  const atasAndCreateIxns = (0, utils_1.createAtasIdempotent)(owner, mintsToCreateAtas);
239
240
  const fillWsolAtaIxns = [];
240
241
  if (depositTokenIsSol) {
241
- fillWsolAtaIxns.push(...(0, utils_1.getDepositWsolIxns)(owner, (0, spl_token_1.getAssociatedTokenAddressSync)(utils_1.WRAPPED_SOL_MINT, owner), (0, classes_2.numberToLamportsDecimal)(calcs.initDepositInSol, utils_1.SOL_DECIMALS).ceil()));
242
+ fillWsolAtaIxns.push(...(0, utils_1.getTransferWsolIxns)(owner, (0, spl_token_1.getAssociatedTokenAddressSync)(spl_token_1.NATIVE_MINT, owner), (0, classes_2.numberToLamportsDecimal)(calcs.initDepositInSol, utils_1.SOL_DECIMALS).ceil()));
242
243
  }
243
244
  // 2. Flash borrow & repay the collateral amount needed for given leverage
244
245
  // if user deposits coll, then we borrow the diff, else we borrow the entire amount
@@ -261,7 +262,8 @@ async function buildDepositWithLeverageIxns(market, debtReserve, collReserve, ow
261
262
  .floor()
262
263
  .toString(), collTokenMint, (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.debtTokenToBorrow : calcs.debtTokenToBorrow, debtReserve.stats.decimals)
263
264
  .ceil()
264
- .toString(), debtTokenMint, owner, obligation, 0, false, elevationGroupOverride === 0 ? false : true, // emode
265
+ .toString(), debtTokenMint, owner, obligation, useV2Ixs, 0, false, elevationGroupOverride === 0 ? false : true, // emode
266
+ false, // to be checked and created in a setup tx in the UI
265
267
  false, // to be checked and created in a setup tx in the UI
266
268
  referrer, currentSlot, scopeRefresh);
267
269
  // 4. Swap
@@ -294,21 +296,21 @@ async function buildDepositWithLeverageIxns(market, debtReserve, collReserve, ow
294
296
  ];
295
297
  }
296
298
  }
297
- async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, }) {
299
+ async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, useV2Ixs, }) {
298
300
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
299
301
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
300
302
  const flashLoanFee = debtReserve.getFlashLoanFee() || new decimal_js_1.default(0);
301
303
  const selectedTokenIsCollToken = selectedTokenMint.equals(collTokenMint);
302
304
  const collIsKtoken = await isKtoken(collTokenMint);
303
305
  const strategy = collIsKtoken ? (await kamino.getStrategyByKTokenMint(collTokenMint)) : undefined;
304
- const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
306
+ const solTokenReserve = kaminoMarket.getReserveByMint(spl_token_1.NATIVE_MINT);
305
307
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
306
308
  const calcs = (0, calcs_1.withdrawLeverageCalcs)(kaminoMarket, collReserve, debtReserve, priceCollToDebt, withdrawAmount, deposited, borrowed, currentSlot, isClosingPosition, selectedTokenIsCollToken, selectedTokenMint, obligation, flashLoanFee, slippagePct);
307
309
  const klendIxs = await buildWithdrawWithLeverageIxns(kaminoMarket, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, depositTokenIsSol, scopeFeed, calcs, budgetAndPriorityFeeIxs, {
308
310
  preActionIxs: [],
309
311
  swapIxs: [],
310
312
  lookupTables: [],
311
- }, strategy, collIsKtoken);
313
+ }, strategy, collIsKtoken, useV2Ixs);
312
314
  const uniqueKlendAccounts = (0, utils_1.uniqueAccounts)(klendIxs);
313
315
  const swapInputAmount = (0, classes_2.numberToLamportsDecimal)(calcs.collTokenSwapIn, collReserve.state.liquidity.mintDecimals.toNumber()).ceil();
314
316
  const swapInputsForQuote = {
@@ -339,10 +341,10 @@ async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtToke
339
341
  },
340
342
  };
341
343
  }
342
- async function getWithdrawWithLeverageIxns({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, swapper, }) {
344
+ async function getWithdrawWithLeverageIxns({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, swapper, useV2Ixs, }) {
343
345
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
344
346
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
345
- const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
347
+ const solTokenReserve = kaminoMarket.getReserveByMint(spl_token_1.NATIVE_MINT);
346
348
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint.equals(solTokenReserve.getLiquidityMint());
347
349
  const { swapInputs, initialInputs } = await getWithdrawWithLeverageSwapInputs({
348
350
  owner,
@@ -365,6 +367,7 @@ async function getWithdrawWithLeverageIxns({ owner, kaminoMarket, debtTokenMint,
365
367
  quoteBufferBps,
366
368
  isKtoken,
367
369
  quoter,
370
+ useV2Ixs,
368
371
  });
369
372
  let withdrawSwapper;
370
373
  if (initialInputs.collIsKtoken) {
@@ -390,7 +393,7 @@ async function getWithdrawWithLeverageIxns({ owner, kaminoMarket, debtTokenMint,
390
393
  preActionIxs: [],
391
394
  swapIxs,
392
395
  lookupTables,
393
- }, initialInputs.strategy, initialInputs.collIsKtoken);
396
+ }, initialInputs.strategy, initialInputs.collIsKtoken, useV2Ixs);
394
397
  // Send ixns and lookup tables
395
398
  return {
396
399
  ixs,
@@ -399,7 +402,7 @@ async function getWithdrawWithLeverageIxns({ owner, kaminoMarket, debtTokenMint,
399
402
  initialInputs: initialInputs,
400
403
  };
401
404
  }
402
- async function buildWithdrawWithLeverageIxns(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, depositTokenIsSol, scopeFeed, calcs, budgetAndPriorityFeeIxs, swapQuoteIxs, strategy, collIsKtoken) {
405
+ async function buildWithdrawWithLeverageIxns(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, depositTokenIsSol, scopeFeed, calcs, budgetAndPriorityFeeIxs, swapQuoteIxs, strategy, collIsKtoken, useV2Ixs) {
403
406
  const collTokenMint = collReserve.getLiquidityMint();
404
407
  const debtTokenMint = debtReserve.getLiquidityMint();
405
408
  const debtTokenAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtTokenMint, owner, false, debtReserve.getLiquidityTokenProgram());
@@ -453,18 +456,18 @@ async function buildWithdrawWithLeverageIxns(market, debtReserve, collReserve, o
453
456
  }
454
457
  const atasAndCreateIxns = (0, utils_1.createAtasIdempotent)(owner, mintsToCreateAtas);
455
458
  const closeWsolAtaIxns = [];
456
- if (depositTokenIsSol || debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
457
- const wsolAta = (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, owner, false);
459
+ if (depositTokenIsSol || debtTokenMint.equals(spl_token_1.NATIVE_MINT)) {
460
+ const wsolAta = (0, utils_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, owner, false);
458
461
  closeWsolAtaIxns.push((0, spl_token_1.createCloseAccountInstruction)(wsolAta, owner, owner, [], spl_token_1.TOKEN_PROGRAM_ID));
459
462
  }
460
463
  const budgetIxns = budgetAndPriorityFeeIxs || (0, utils_1.getComputeBudgetAndPriorityFeeIxns)(3000000);
461
464
  // TODO: Might be worth removing as it's only needed for Ktokens
462
465
  // This is here so that we have enough wsol to repay in case the kAB swapped to sol after estimates is not enough
463
466
  const fillWsolAtaIxns = [];
464
- if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
467
+ if (debtTokenMint.equals(spl_token_1.NATIVE_MINT)) {
465
468
  const halfSolBalance = (await market.getConnection().getBalance(owner)) / web3_js_1.LAMPORTS_PER_SOL / 2;
466
469
  const balanceToWrap = halfSolBalance < 0.1 ? halfSolBalance : 0.1;
467
- fillWsolAtaIxns.push(...(0, utils_1.getDepositWsolIxns)(owner, (0, spl_token_1.getAssociatedTokenAddressSync)(utils_1.WRAPPED_SOL_MINT, owner), (0, classes_2.numberToLamportsDecimal)(balanceToWrap, utils_1.SOL_DECIMALS).ceil()));
470
+ fillWsolAtaIxns.push(...(0, utils_1.getTransferWsolIxns)(owner, (0, spl_token_1.getAssociatedTokenAddressSync)(spl_token_1.NATIVE_MINT, owner), (0, classes_2.numberToLamportsDecimal)(balanceToWrap, utils_1.SOL_DECIMALS).ceil()));
468
471
  }
469
472
  // 2. Prepare the flash borrow and flash repay amounts and ixns
470
473
  // We borrow exactly how much we need to repay
@@ -485,7 +488,8 @@ async function buildWithdrawWithLeverageIxns(market, debtReserve, collReserve, o
485
488
  // 6. Repay borrowed tokens and Withdraw tokens from reserve that will be swapped to repay flash loan
486
489
  const repayAndWithdrawAction = await classes_1.KaminoAction.buildRepayAndWithdrawTxns(market, isClosingPosition ? utils_1.U64_MAX : (0, classes_2.numberToLamportsDecimal)(calcs.repayAmount, debtReserve.stats.decimals).floor().toString(), debtTokenMint, isClosingPosition
487
490
  ? utils_1.U64_MAX
488
- : (0, classes_2.numberToLamportsDecimal)(calcs.depositTokenWithdrawAmount, collReserve.stats.decimals).ceil().toString(), collTokenMint, owner, currentSlot, obligation, 0, false, false, // to be checked and created in a setup tx in the UI (won't be the case for withdraw anyway as this would be created in deposit)
491
+ : (0, classes_2.numberToLamportsDecimal)(calcs.depositTokenWithdrawAmount, collReserve.stats.decimals).ceil().toString(), collTokenMint, owner, currentSlot, obligation, useV2Ixs, 0, false, false, // to be checked and created in a setup tx in the UI (won't be the case for withdraw anyway as this would be created in deposit)
492
+ false, // to be checked and created in a setup tx in the UI (won't be the case for withdraw anyway as this would be created in deposit)
489
493
  isClosingPosition, referrer, { includeScopeRefresh: true, scopeFeed: scopeFeed });
490
494
  const swapInstructions = (0, utils_1.removeBudgetAndAtaIxns)(swapQuoteIxs.swapIxs, []);
491
495
  return [
@@ -501,7 +505,7 @@ async function buildWithdrawWithLeverageIxns(market, debtReserve, collReserve, o
501
505
  ...closeWsolAtaIxns,
502
506
  ];
503
507
  }
504
- async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, }) {
508
+ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, isKtoken, quoter, useV2Ixs, }) {
505
509
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
506
510
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
507
511
  const deposited = (0, classes_1.lamportsToNumberDecimal)(depositedLamports, collReserve.stats.decimals);
@@ -536,7 +540,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
536
540
  preActionIxs: [],
537
541
  swapIxs: [],
538
542
  lookupTables: [],
539
- }, budgetAndPriorityFeeIxs);
543
+ }, budgetAndPriorityFeeIxs, useV2Ixs);
540
544
  const uniqueKlendAccounts = (0, utils_1.uniqueAccounts)(klendIxs);
541
545
  const swapInputAmount = (0, classes_2.numberToLamportsDecimal)(!collIsKtoken ? calcs.borrowAmount : calcs.amountToFlashBorrowDebt, debtReserve.stats.decimals).ceil();
542
546
  const swapInputsForQuote = {
@@ -585,7 +589,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
585
589
  preActionIxs: [],
586
590
  swapIxs: [],
587
591
  lookupTables: [],
588
- }, budgetAndPriorityFeeIxs);
592
+ }, budgetAndPriorityFeeIxs, useV2Ixs);
589
593
  const uniqueKlendAccounts = (0, utils_1.uniqueAccounts)(klendIxs);
590
594
  const swapInputAmount = (0, classes_2.numberToLamportsDecimal)(calcs.withdrawAmountWithSlippageAndFlashLoanFee, collReserve.state.liquidity.mintDecimals.toNumber()).ceil();
591
595
  const swapInputsForQuote = {
@@ -625,7 +629,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
625
629
  };
626
630
  }
627
631
  }
628
- async function getAdjustLeverageIxns({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, }) {
632
+ async function getAdjustLeverageIxns({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, kamino, scopeFeed, quoteBufferBps, priceAinB, isKtoken, quoter, swapper, useV2Ixs, }) {
629
633
  const { swapInputs, initialInputs } = await getAdjustLeverageSwapInputs({
630
634
  owner,
631
635
  kaminoMarket,
@@ -647,6 +651,7 @@ async function getAdjustLeverageIxns({ owner, kaminoMarket, debtTokenMint, collT
647
651
  priceAinB,
648
652
  isKtoken,
649
653
  quoter,
654
+ useV2Ixs,
650
655
  });
651
656
  // leverage increased so we need to deposit and borrow more
652
657
  if (initialInputs.isDeposit) {
@@ -666,7 +671,7 @@ async function getAdjustLeverageIxns({ owner, kaminoMarket, debtTokenMint, collT
666
671
  preActionIxs: [],
667
672
  swapIxs,
668
673
  lookupTables,
669
- }, budgetAndPriorityFeeIxs);
674
+ }, budgetAndPriorityFeeIxs, useV2Ixs);
670
675
  return {
671
676
  ixs,
672
677
  lookupTables,
@@ -692,7 +697,7 @@ async function getAdjustLeverageIxns({ owner, kaminoMarket, debtTokenMint, collT
692
697
  preActionIxs: [],
693
698
  swapIxs,
694
699
  lookupTables,
695
- }, budgetAndPriorityFeeIxs);
700
+ }, budgetAndPriorityFeeIxs, useV2Ixs);
696
701
  return {
697
702
  ixs,
698
703
  lookupTables,
@@ -704,7 +709,7 @@ async function getAdjustLeverageIxns({ owner, kaminoMarket, debtTokenMint, collT
704
709
  /**
705
710
  * Deposit and borrow tokens if leverage increased
706
711
  */
707
- async function buildIncreaseLeverageIxns(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, strategy, scopeFeed, collIsKtoken, swapQuoteIxs, budgetAndPriorityFeeIxns) {
712
+ async function buildIncreaseLeverageIxns(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, strategy, scopeFeed, collIsKtoken, swapQuoteIxs, budgetAndPriorityFeeIxns, useV2Ixs) {
708
713
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
709
714
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
710
715
  const debtTokenAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtTokenMint, owner, false, debtReserve.getLiquidityTokenProgram());
@@ -773,10 +778,12 @@ async function buildIncreaseLeverageIxns(owner, kaminoMarket, collTokenMint, deb
773
778
  referrerTokenState: kaminoMarket.programId,
774
779
  programId: kaminoMarket.programId,
775
780
  });
776
- const depositAction = await classes_1.KaminoAction.buildDepositTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(calcs.adjustDepositPosition, collReserve.stats.decimals).floor().toString(), collTokenMint, owner, obligation, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
781
+ const depositAction = await classes_1.KaminoAction.buildDepositTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(calcs.adjustDepositPosition, collReserve.stats.decimals).floor().toString(), collTokenMint, owner, obligation, useV2Ixs, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
782
+ false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
777
783
  referrer, currentSlot, { includeScopeRefresh: true, scopeFeed: scopeFeed });
778
784
  // 4. Borrow tokens in borrow token reserve that will be swapped to repay flash loan
779
- const borrowAction = await classes_1.KaminoAction.buildBorrowTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(calcs.borrowAmount, debtReserve.stats.decimals).ceil().toString(), debtTokenMint, owner, obligation, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
785
+ const borrowAction = await classes_1.KaminoAction.buildBorrowTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(calcs.borrowAmount, debtReserve.stats.decimals).ceil().toString(), debtTokenMint, owner, obligation, useV2Ixs, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
786
+ false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
780
787
  referrer, currentSlot, { includeScopeRefresh: true, scopeFeed: scopeFeed });
781
788
  const swapInstructions = (0, utils_1.removeBudgetAndAtaIxns)(swapQuoteIxs.swapIxs, []);
782
789
  const ixs = !collIsKtoken
@@ -811,7 +818,7 @@ async function buildIncreaseLeverageIxns(owner, kaminoMarket, collTokenMint, deb
811
818
  /**
812
819
  * Withdraw and repay tokens if leverage decreased
813
820
  */
814
- async function buildDecreaseLeverageIxns(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, strategy, scopeFeed, collIsKtoken, swapQuoteIxs, budgetAndPriorityFeeIxns) {
821
+ async function buildDecreaseLeverageIxns(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, strategy, scopeFeed, collIsKtoken, swapQuoteIxs, budgetAndPriorityFeeIxns, useV2Ixs) {
815
822
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
816
823
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
817
824
  const debtTokenAta = (0, spl_token_1.getAssociatedTokenAddressSync)(debtTokenMint, owner, false, debtReserve.getLiquidityTokenProgram());
@@ -869,12 +876,12 @@ async function buildDecreaseLeverageIxns(owner, kaminoMarket, collTokenMint, deb
869
876
  // This is here so that we have enough wsol to repay in case the kAB swapped to sol after estimates is not enough
870
877
  const closeWsolAtaIxns = [];
871
878
  const fillWsolAtaIxns = [];
872
- if (debtTokenMint.equals(utils_1.WRAPPED_SOL_MINT)) {
873
- const wsolAta = (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, owner, false);
879
+ if (debtTokenMint.equals(spl_token_1.NATIVE_MINT)) {
880
+ const wsolAta = (0, utils_1.getAssociatedTokenAddress)(spl_token_1.NATIVE_MINT, owner, false);
874
881
  closeWsolAtaIxns.push((0, spl_token_1.createCloseAccountInstruction)(wsolAta, owner, owner, [], spl_token_1.TOKEN_PROGRAM_ID));
875
882
  const halfSolBalance = (await kaminoMarket.getConnection().getBalance(owner)) / web3_js_1.LAMPORTS_PER_SOL / 2;
876
883
  const balanceToWrap = halfSolBalance < 0.1 ? halfSolBalance : 0.1;
877
- fillWsolAtaIxns.push(...(0, utils_1.getDepositWsolIxns)(owner, wsolAta, (0, classes_2.numberToLamportsDecimal)(balanceToWrap, debtReserve.stats.decimals).ceil()));
884
+ fillWsolAtaIxns.push(...(0, utils_1.getTransferWsolIxns)(owner, wsolAta, (0, classes_2.numberToLamportsDecimal)(balanceToWrap, debtReserve.stats.decimals).ceil()));
878
885
  }
879
886
  // 3. Flash borrow & repay amount to repay (debt)
880
887
  const { flashBorrowIxn, flashRepayIxn } = (0, instructions_1.getFlashLoanInstructions)({
@@ -892,10 +899,12 @@ async function buildDecreaseLeverageIxns(owner, kaminoMarket, collTokenMint, deb
892
899
  });
893
900
  // 4. Actually do the repay of the flash borrowed amounts
894
901
  const scopeRefresh = scopeFeed ? { includeScopeRefresh: true, scopeFeed: scopeFeed } : undefined;
895
- const repayAction = await classes_1.KaminoAction.buildRepayTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(decimal_js_1.default.abs(calcs.adjustBorrowPosition), debtReserve.stats.decimals).floor().toString(), debtTokenMint, owner, obligation, currentSlot, undefined, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
902
+ const repayAction = await classes_1.KaminoAction.buildRepayTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(decimal_js_1.default.abs(calcs.adjustBorrowPosition), debtReserve.stats.decimals).floor().toString(), debtTokenMint, owner, obligation, useV2Ixs, currentSlot, undefined, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
903
+ false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
896
904
  referrer, scopeRefresh);
897
905
  // 6. Withdraw collateral (a little bit more to be able to pay for the slippage on swap)
898
- const withdrawAction = await classes_1.KaminoAction.buildWithdrawTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(calcs.withdrawAmountWithSlippageAndFlashLoanFee, collReserve.stats.decimals).ceil().toString(), collTokenMint, owner, obligation, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
906
+ const withdrawAction = await classes_1.KaminoAction.buildWithdrawTxns(kaminoMarket, (0, classes_2.numberToLamportsDecimal)(calcs.withdrawAmountWithSlippageAndFlashLoanFee, collReserve.stats.decimals).ceil().toString(), collTokenMint, owner, obligation, useV2Ixs, 0, false, false, false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
907
+ false, // to be checked and create in a setup tx in the UI (won't be the case for adjust anyway as this would be created in deposit)
899
908
  referrer, currentSlot, { includeScopeRefresh: true, scopeFeed: scopeFeed });
900
909
  const swapInstructions = (0, utils_1.removeBudgetAndAtaIxns)(swapQuoteIxs.swapIxs, []);
901
910
  const ixns = [