@kamino-finance/klend-sdk 7.1.5 → 7.1.6

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.
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getScopeRefreshIx = exports.getSetupIxs = exports.WITHDRAW_SLOT_OFFSET = void 0;
6
+ exports.getScopeRefreshIxForObligationAndReserves = exports.getSetupIxs = exports.WITHDRAW_SLOT_OFFSET = void 0;
7
7
  exports.getDepositWithLeverageSwapInputs = getDepositWithLeverageSwapInputs;
8
8
  exports.getDepositWithLeverageIxs = getDepositWithLeverageIxs;
9
9
  exports.getWithdrawWithLeverageSwapInputs = getWithdrawWithLeverageSwapInputs;
@@ -23,7 +23,7 @@ const token_1 = require("@solana-program/token");
23
23
  const token_2022_1 = require("@solana-program/token-2022");
24
24
  const consts_1 = require("../utils/consts");
25
25
  exports.WITHDRAW_SLOT_OFFSET = 150; // Offset for the withdraw slot to underestimate the exchange rate
26
- async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshConfig, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, useV2Ixs, elevationGroupOverride, }) {
26
+ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshIx, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, useV2Ixs, elevationGroupOverride, }) {
27
27
  const collReserve = kaminoMarket.getExistingReserveByMint(collTokenMint);
28
28
  const debtReserve = kaminoMarket.getExistingReserveByMint(debtTokenMint);
29
29
  const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
@@ -42,7 +42,7 @@ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtToken
42
42
  console.log('Ops Calcs', (0, classes_1.toJson)(calcs));
43
43
  const obligationType = checkObligationType(obligationTypeTagOverride, collTokenMint, debtTokenMint, kaminoMarket);
44
44
  // Build the repay & withdraw collateral tx to get the number of accounts
45
- const klendIxs = (await buildDepositWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation ? obligation : obligationType, referrer, currentSlot, depositTokenIsSol, scopeRefreshConfig, calcs, budgetAndPriorityFeeIxs, [
45
+ const klendIxs = (await buildDepositWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation ? obligation : obligationType, referrer, currentSlot, depositTokenIsSol, scopeRefreshIx, calcs, budgetAndPriorityFeeIxs, [
46
46
  {
47
47
  preActionIxs: [],
48
48
  swapIxs: [],
@@ -88,7 +88,7 @@ async function getDepositWithLeverageSwapInputs({ owner, kaminoMarket, debtToken
88
88
  },
89
89
  };
90
90
  }
91
- async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshConfig, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, swapper, elevationGroupOverride, useV2Ixs, }) {
91
+ async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTokenMint, depositAmount, priceDebtToColl, slippagePct, obligation, referrer, currentSlot, targetLeverage, selectedTokenMint, obligationTypeTagOverride, scopeRefreshIx, budgetAndPriorityFeeIxs, quoteBufferBps, quoter, swapper, elevationGroupOverride, useV2Ixs, }) {
92
92
  const { swapInputs, initialInputs } = await getDepositWithLeverageSwapInputs({
93
93
  owner,
94
94
  kaminoMarket,
@@ -103,7 +103,7 @@ async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, c
103
103
  targetLeverage,
104
104
  selectedTokenMint,
105
105
  obligationTypeTagOverride,
106
- scopeRefreshConfig,
106
+ scopeRefreshIx,
107
107
  budgetAndPriorityFeeIxs,
108
108
  quoteBufferBps,
109
109
  quoter,
@@ -116,7 +116,7 @@ async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, c
116
116
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
117
117
  const solTokenReserve = kaminoMarket.getReserveByMint(utils_1.WRAPPED_SOL_MINT);
118
118
  const depositTokenIsSol = !solTokenReserve ? false : selectedTokenMint === solTokenReserve.getLiquidityMint();
119
- const depositWithLeverageIxs = await buildDepositWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, initialInputs.obligation, referrer, currentSlot, depositTokenIsSol, scopeRefreshConfig, initialInputs.calcs, budgetAndPriorityFeeIxs, swapsArray.map((swap) => {
119
+ const depositWithLeverageIxs = await buildDepositWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, initialInputs.obligation, referrer, currentSlot, depositTokenIsSol, scopeRefreshIx, initialInputs.calcs, budgetAndPriorityFeeIxs, swapsArray.map((swap) => {
120
120
  return {
121
121
  preActionIxs: [],
122
122
  swapIxs: swap.swapIxs,
@@ -135,7 +135,7 @@ async function getDepositWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, c
135
135
  };
136
136
  });
137
137
  }
138
- async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, depositTokenIsSol, scopeRefreshConfig, calcs, budgetAndPriorityFeeIxs, swapQuoteIxsArray, useV2Ixs, elevationGroupOverride) {
138
+ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, depositTokenIsSol, scopeRefreshIx, calcs, budgetAndPriorityFeeIxs, swapQuoteIxsArray, useV2Ixs, elevationGroupOverride) {
139
139
  const collTokenMint = collReserve.getLiquidityMint();
140
140
  const debtTokenMint = debtReserve.getLiquidityMint();
141
141
  const [[collTokenAta]] = await Promise.all([
@@ -146,7 +146,7 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
146
146
  }),
147
147
  ]);
148
148
  // 1. Create atas & budget ixs
149
- const { budgetIxs, createAtasIxs, scopeRefreshIx } = await (0, exports.getSetupIxs)(owner, market, obligation, collTokenMint, collReserve, debtTokenMint, debtReserve, scopeRefreshConfig, budgetAndPriorityFeeIxs);
149
+ const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
150
150
  const fillWsolAtaIxs = [];
151
151
  if (depositTokenIsSol) {
152
152
  fillWsolAtaIxs.push(...(0, utils_1.getTransferWsolIxs)(owner, await (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, owner.address), (0, kit_1.lamports)(BigInt((0, classes_2.numberToLamportsDecimal)(calcs.initDepositInSol, utils_1.SOL_DECIMALS).ceil().toString()))));
@@ -194,14 +194,14 @@ async function buildDepositWithLeverageIxs(market, debtReserve, collReserve, own
194
194
  };
195
195
  });
196
196
  }
197
- async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshConfig, quoteBufferBps, quoter, useV2Ixs, }) {
197
+ async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, deposited, borrowed, obligation, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, useV2Ixs, userSolBalanceLamports, }) {
198
198
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
199
199
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
200
200
  const flashLoanFee = debtReserve.getFlashLoanFee() || new decimal_js_1.default(0);
201
201
  const selectedTokenIsCollToken = selectedTokenMint === collTokenMint;
202
202
  const inputTokenIsSol = selectedTokenMint === utils_1.WRAPPED_SOL_MINT;
203
203
  const calcs = (0, calcs_1.withdrawLeverageCalcs)(kaminoMarket, collReserve, debtReserve, priceCollToDebt, withdrawAmount, deposited, borrowed, currentSlot, isClosingPosition, selectedTokenIsCollToken, selectedTokenMint, obligation, flashLoanFee, slippagePct);
204
- const klendIxs = (await buildWithdrawWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, inputTokenIsSol, scopeRefreshConfig, calcs, budgetAndPriorityFeeIxs, [
204
+ const klendIxs = (await buildWithdrawWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, inputTokenIsSol, scopeRefreshIx, calcs, budgetAndPriorityFeeIxs, [
205
205
  {
206
206
  preActionIxs: [],
207
207
  swapIxs: [],
@@ -211,7 +211,7 @@ async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtToke
211
211
  quoteResponse: undefined,
212
212
  },
213
213
  },
214
- ], useV2Ixs))[0];
214
+ ], useV2Ixs, userSolBalanceLamports))[0];
215
215
  const uniqueKlendAccounts = (0, utils_1.uniqueAccountsWithProgramIds)(klendIxs.instructions);
216
216
  const swapInputAmount = (0, classes_2.numberToLamportsDecimal)(calcs.collTokenSwapIn, collReserve.getMintDecimals()).ceil();
217
217
  const swapInputsForQuote = {
@@ -239,7 +239,7 @@ async function getWithdrawWithLeverageSwapInputs({ owner, kaminoMarket, debtToke
239
239
  },
240
240
  };
241
241
  }
242
- async function getWithdrawWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshConfig, quoteBufferBps, quoter, swapper, useV2Ixs, }) {
242
+ async function getWithdrawWithLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, deposited, borrowed, referrer, currentSlot, withdrawAmount, priceCollToDebt, slippagePct, isClosingPosition, selectedTokenMint, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, swapper, useV2Ixs, userSolBalanceLamports, }) {
243
243
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
244
244
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
245
245
  const inputTokenIsSol = selectedTokenMint === utils_1.WRAPPED_SOL_MINT;
@@ -259,22 +259,23 @@ async function getWithdrawWithLeverageIxs({ owner, kaminoMarket, debtTokenMint,
259
259
  isClosingPosition,
260
260
  selectedTokenMint,
261
261
  budgetAndPriorityFeeIxs,
262
- scopeRefreshConfig,
262
+ scopeRefreshIx,
263
263
  quoteBufferBps,
264
264
  quoter,
265
265
  useV2Ixs,
266
+ userSolBalanceLamports,
266
267
  });
267
268
  const withdrawSwapper = swapper;
268
269
  const swapsArray = await withdrawSwapper(swapInputs, initialInputs.klendAccounts, initialInputs.swapQuote);
269
270
  // Strategy lookup table logic removed
270
- const withdrawWithLeverageIxs = await buildWithdrawWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, inputTokenIsSol, scopeRefreshConfig, initialInputs.calcs, budgetAndPriorityFeeIxs, swapsArray.map((swap) => {
271
+ const withdrawWithLeverageIxs = await buildWithdrawWithLeverageIxs(kaminoMarket, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, inputTokenIsSol, scopeRefreshIx, initialInputs.calcs, budgetAndPriorityFeeIxs, swapsArray.map((swap) => {
271
272
  return {
272
273
  preActionIxs: [],
273
274
  swapIxs: swap.swapIxs,
274
275
  lookupTables: swap.lookupTables,
275
276
  quote: swap.quote,
276
277
  };
277
- }), useV2Ixs);
278
+ }), useV2Ixs, userSolBalanceLamports);
278
279
  // Send ixs and lookup tables
279
280
  return withdrawWithLeverageIxs.map((ixs, index) => {
280
281
  return {
@@ -287,12 +288,12 @@ async function getWithdrawWithLeverageIxs({ owner, kaminoMarket, debtTokenMint,
287
288
  };
288
289
  });
289
290
  }
290
- async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, depositTokenIsSol, scopeRefreshConfig, calcs, budgetAndPriorityFeeIxs, swapQuoteIxsArray, useV2Ixs) {
291
+ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, owner, obligation, referrer, currentSlot, isClosingPosition, depositTokenIsSol, scopeRefreshIx, calcs, budgetAndPriorityFeeIxs, swapQuoteIxsArray, useV2Ixs, userSolBalanceLamports) {
291
292
  const collTokenMint = collReserve.getLiquidityMint();
292
293
  const debtTokenMint = debtReserve.getLiquidityMint();
293
294
  const debtTokenAta = await (0, utils_1.getAssociatedTokenAddress)(debtTokenMint, owner.address, debtReserve.getLiquidityTokenProgram());
294
295
  // 1. Create atas & budget txns & user metadata
295
- const { budgetIxs, createAtasIxs, scopeRefreshIx } = await (0, exports.getSetupIxs)(owner, market, obligation, collTokenMint, collReserve, debtTokenMint, debtReserve, scopeRefreshConfig, budgetAndPriorityFeeIxs);
296
+ const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
296
297
  const closeWsolAtaIxs = [];
297
298
  if (depositTokenIsSol || debtTokenMint === utils_1.WRAPPED_SOL_MINT) {
298
299
  const wsolAta = await (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, owner.address);
@@ -306,7 +307,7 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
306
307
  // This is here so that we have enough wsol to repay in case the kAB swapped to sol after estimates is not enough
307
308
  const fillWsolAtaIxs = [];
308
309
  if (debtTokenMint === utils_1.WRAPPED_SOL_MINT) {
309
- const halfSolBalance = Number.parseInt((await market.getRpc().getBalance(owner.address).send()).value.toString()) / consts_1.LAMPORTS_PER_SOL / 2;
310
+ const halfSolBalance = userSolBalanceLamports / consts_1.LAMPORTS_PER_SOL / 2;
310
311
  const balanceToWrap = halfSolBalance < 0.1 ? halfSolBalance : 0.1;
311
312
  fillWsolAtaIxs.push(...(0, utils_1.getTransferWsolIxs)(owner, await (0, utils_1.getAssociatedTokenAddress)(utils_1.WRAPPED_SOL_MINT, owner.address), (0, kit_1.lamports)(BigInt((0, classes_2.numberToLamportsDecimal)(balanceToWrap, utils_1.SOL_DECIMALS).ceil().toString()))));
312
313
  }
@@ -321,7 +322,6 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
321
322
  reserve: debtReserve,
322
323
  amountLamports: (0, classes_2.numberToLamportsDecimal)(calcs.repayAmount, debtReserve.stats.decimals),
323
324
  destinationAta: debtTokenAta,
324
- // TODO(referrals): once we support referrals, we will have to replace the placeholder args below:
325
325
  referrerAccount: (0, kit_1.none)(),
326
326
  referrerTokenState: (0, kit_1.none)(),
327
327
  programId: market.programId,
@@ -352,7 +352,7 @@ async function buildWithdrawWithLeverageIxs(market, debtReserve, collReserve, ow
352
352
  };
353
353
  });
354
354
  }
355
- async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshConfig, quoteBufferBps, quoter, useV2Ixs, withdrawSlotOffset, }) {
355
+ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports, }) {
356
356
  const collReserve = kaminoMarket.getReserveByMint(collTokenMint);
357
357
  const debtReserve = kaminoMarket.getReserveByMint(debtTokenMint);
358
358
  const deposited = (0, classes_1.lamportsToNumberDecimal)(depositedLamports, collReserve.stats.decimals);
@@ -379,9 +379,9 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
379
379
  throw new Error('Invalid target leverage');
380
380
  }
381
381
  if (isDeposit) {
382
- const calcs = await (0, calcs_1.adjustDepositLeverageCalcs)(debtReserve, adjustDepositPosition, adjustBorrowPosition, priceDebtToColl, flashLoanFee, slippagePct);
382
+ const calcs = (0, calcs_1.adjustDepositLeverageCalcs)(debtReserve, adjustDepositPosition, adjustBorrowPosition, priceDebtToColl, flashLoanFee, slippagePct);
383
383
  // Build the repay & withdraw collateral tx to get the number of accounts
384
- const klendIxs = (await buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshConfig, [
384
+ const klendIxs = (await buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshIx, [
385
385
  {
386
386
  preActionIxs: [],
387
387
  swapIxs: [],
@@ -407,7 +407,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
407
407
  priceCollToDebt: new decimal_js_1.default(1).div(swapQuote.priceAInB),
408
408
  flashLoanFee: new decimal_js_1.default(flashLoanFee),
409
409
  });
410
- const calcsQuotePrice = await (0, calcs_1.adjustDepositLeverageCalcs)(debtReserve, adjustDepositPositionQuotePrice, adjustBorrowPositionQuotePrice, swapQuote.priceAInB, flashLoanFee, slippagePct);
410
+ const calcsQuotePrice = (0, calcs_1.adjustDepositLeverageCalcs)(debtReserve, adjustDepositPositionQuotePrice, adjustBorrowPositionQuotePrice, swapQuote.priceAInB, flashLoanFee, slippagePct);
411
411
  const swapInputAmountQuotePrice = (0, classes_2.numberToLamportsDecimal)(calcsQuotePrice.borrowAmount, debtReserve.getMintDecimals()).ceil();
412
412
  return {
413
413
  swapInputs: {
@@ -429,7 +429,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
429
429
  }
430
430
  else {
431
431
  const calcs = (0, calcs_1.adjustWithdrawLeverageCalcs)(adjustDepositPosition, adjustBorrowPosition, flashLoanFee, slippagePct);
432
- const klendIxs = (await buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshConfig, [
432
+ const klendIxs = (await buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshIx, [
433
433
  {
434
434
  preActionIxs: [],
435
435
  swapIxs: [],
@@ -439,7 +439,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
439
439
  quoteResponse: undefined,
440
440
  },
441
441
  },
442
- ], budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset))[0];
442
+ ], budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports))[0];
443
443
  const uniqueKlendAccounts = (0, utils_1.uniqueAccountsWithProgramIds)(klendIxs.instructions);
444
444
  const swapInputAmount = (0, classes_2.numberToLamportsDecimal)(calcs.withdrawAmountWithSlippageAndFlashLoanFee, collReserve.state.liquidity.mintDecimals.toNumber()).ceil();
445
445
  const swapInputsForQuote = {
@@ -476,7 +476,7 @@ async function getAdjustLeverageSwapInputs({ owner, kaminoMarket, debtTokenMint,
476
476
  };
477
477
  }
478
478
  }
479
- async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshConfig, quoteBufferBps, quoter, swapper, useV2Ixs, withdrawSlotOffset, }) {
479
+ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTokenMint, obligation, depositedLamports, borrowedLamports, referrer, currentSlot, targetLeverage, priceCollToDebt, priceDebtToColl, slippagePct, budgetAndPriorityFeeIxs, scopeRefreshIx, quoteBufferBps, quoter, swapper, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports, }) {
480
480
  const { swapInputs, initialInputs } = await getAdjustLeverageSwapInputs({
481
481
  owner,
482
482
  kaminoMarket,
@@ -492,16 +492,17 @@ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTo
492
492
  priceDebtToColl,
493
493
  slippagePct,
494
494
  budgetAndPriorityFeeIxs,
495
- scopeRefreshConfig,
495
+ scopeRefreshIx,
496
496
  quoteBufferBps,
497
497
  quoter,
498
498
  useV2Ixs,
499
+ userSolBalanceLamports,
499
500
  });
500
501
  // leverage increased so we need to deposit and borrow more
501
502
  if (initialInputs.isDeposit) {
502
503
  const depositSwapper = swapper;
503
504
  const swapsArray = await depositSwapper(swapInputs, initialInputs.klendAccounts, initialInputs.swapQuote);
504
- const increaseLeverageIxs = await buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, initialInputs.calcs, scopeRefreshConfig, swapsArray.map((swap) => {
505
+ const increaseLeverageIxs = await buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, initialInputs.calcs, scopeRefreshIx, swapsArray.map((swap) => {
505
506
  return {
506
507
  preActionIxs: [],
507
508
  swapIxs: swap.swapIxs,
@@ -525,14 +526,14 @@ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTo
525
526
  const withdrawSwapper = swapper;
526
527
  // 5. Get swap ixs
527
528
  const swapsArray = await withdrawSwapper(swapInputs, initialInputs.klendAccounts, initialInputs.swapQuote);
528
- const decreaseLeverageIxs = await buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, initialInputs.calcs, scopeRefreshConfig, swapsArray.map((swap) => {
529
+ const decreaseLeverageIxs = await buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, initialInputs.calcs, scopeRefreshIx, swapsArray.map((swap) => {
529
530
  return {
530
531
  preActionIxs: [],
531
532
  swapIxs: swap.swapIxs,
532
533
  lookupTables: swap.lookupTables,
533
534
  quote: swap.quote,
534
535
  };
535
- }), budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset);
536
+ }), budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset, userSolBalanceLamports);
536
537
  return decreaseLeverageIxs.map((ixs, index) => {
537
538
  return {
538
539
  ixs: ixs.instructions,
@@ -548,12 +549,12 @@ async function getAdjustLeverageIxs({ owner, kaminoMarket, debtTokenMint, collTo
548
549
  /**
549
550
  * Deposit and borrow tokens if leverage increased
550
551
  */
551
- async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshConfig, swapQuoteIxsArray, budgetAndPriorityFeeIxs, useV2Ixs) {
552
+ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshIx, swapQuoteIxsArray, budgetAndPriorityFeeIxs, useV2Ixs) {
552
553
  const collReserve = kaminoMarket.getExistingReserveByMint(collTokenMint);
553
554
  const debtReserve = kaminoMarket.getExistingReserveByMint(debtTokenMint);
554
555
  const collTokenAta = await (0, utils_1.getAssociatedTokenAddress)(collTokenMint, owner.address, collReserve.getLiquidityTokenProgram());
555
556
  // 1. Create atas & budget txns
556
- const { budgetIxs, createAtasIxs, scopeRefreshIx } = await (0, exports.getSetupIxs)(owner, kaminoMarket, obligation, collTokenMint, collReserve, debtTokenMint, debtReserve, scopeRefreshConfig, budgetAndPriorityFeeIxs);
557
+ const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
557
558
  // 2. Create borrow flash loan instruction
558
559
  const { flashBorrowIx, flashRepayIx } = (0, instructions_1.getFlashLoanInstructions)({
559
560
  borrowIxIndex: budgetIxs.length + createAtasIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0), // TODO: how about user metadata ixs
@@ -598,7 +599,7 @@ async function buildIncreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
598
599
  /**
599
600
  * Withdraw and repay tokens if leverage decreased
600
601
  */
601
- async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshConfig, swapQuoteIxsArray, budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset = exports.WITHDRAW_SLOT_OFFSET) {
602
+ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debtTokenMint, obligation, referrer, currentSlot, calcs, scopeRefreshIx, swapQuoteIxsArray, budgetAndPriorityFeeIxs, useV2Ixs, withdrawSlotOffset = exports.WITHDRAW_SLOT_OFFSET, userSolBalanceLamports) {
602
603
  const collReserve = kaminoMarket.getExistingReserveByMint(collTokenMint);
603
604
  const debtReserve = kaminoMarket.getExistingReserveByMint(debtTokenMint);
604
605
  const [debtTokenAta] = await (0, token_2022_1.findAssociatedTokenPda)({
@@ -607,7 +608,7 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
607
608
  tokenProgram: debtReserve.getLiquidityTokenProgram(),
608
609
  });
609
610
  // 1. Create atas & budget txns
610
- const { budgetIxs, createAtasIxs, scopeRefreshIx } = await (0, exports.getSetupIxs)(owner, kaminoMarket, obligation, collTokenMint, collReserve, debtTokenMint, debtReserve, scopeRefreshConfig, budgetAndPriorityFeeIxs);
611
+ const { budgetIxs, createAtasIxs } = await (0, exports.getSetupIxs)(owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs);
611
612
  // TODO: Mihai/Marius check if we can improve this logic and not convert any SOL
612
613
  // This is here so that we have enough wsol to repay in case the kAB swapped to sol after estimates is not enough
613
614
  const closeWsolAtaIxs = [];
@@ -619,9 +620,7 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
619
620
  account: wsolAta,
620
621
  destination: owner.address,
621
622
  }, { programAddress: token_1.TOKEN_PROGRAM_ADDRESS }));
622
- const halfSolBalance = Number.parseInt((await kaminoMarket.getRpc().getBalance(owner.address).send()).value.toString()) /
623
- consts_1.LAMPORTS_PER_SOL /
624
- 2;
623
+ const halfSolBalance = userSolBalanceLamports / consts_1.LAMPORTS_PER_SOL / 2;
625
624
  const balanceToWrap = halfSolBalance < 0.1 ? halfSolBalance : 0.1;
626
625
  fillWsolAtaIxs.push(...(0, utils_1.getTransferWsolIxs)(owner, wsolAta, (0, kit_1.lamports)(BigInt((0, classes_2.numberToLamportsDecimal)(balanceToWrap, debtReserve.stats.decimals).ceil().toString()))));
627
626
  }
@@ -670,19 +669,17 @@ async function buildDecreaseLeverageIxs(owner, kaminoMarket, collTokenMint, debt
670
669
  return res;
671
670
  });
672
671
  }
673
- const getSetupIxs = async (owner, kaminoMarket, obligation, collTokenMint, collReserve, debtTokenMint, debtReserve, scopeRefreshConfig, budgetAndPriorityFeeIxs) => {
672
+ const getSetupIxs = async (owner, collTokenMint, collReserve, debtTokenMint, debtReserve, budgetAndPriorityFeeIxs) => {
674
673
  const budgetIxs = budgetAndPriorityFeeIxs || (0, utils_1.getComputeBudgetAndPriorityFeeIxs)(3000000);
675
674
  const mintsWithTokenPrograms = getTokenMintsWithTokenPrograms(collTokenMint, collReserve, debtTokenMint, debtReserve);
676
675
  const createAtasIxs = (await (0, utils_1.createAtasIdempotent)(owner, mintsWithTokenPrograms)).map((x) => x.createAtaIx);
677
- const scopeRefreshIx = await (0, exports.getScopeRefreshIx)(kaminoMarket, collReserve, debtReserve, obligation, scopeRefreshConfig);
678
676
  return {
679
677
  budgetIxs,
680
678
  createAtasIxs,
681
- scopeRefreshIx,
682
679
  };
683
680
  };
684
681
  exports.getSetupIxs = getSetupIxs;
685
- const getScopeRefreshIx = async (market, collReserve, debtReserve, obligation, scopeRefreshConfig) => {
682
+ const getScopeRefreshIxForObligationAndReserves = async (market, collReserve, debtReserve, obligation, scopeRefreshConfig) => {
686
683
  const allReserves = obligation && (0, classes_1.isKaminoObligation)(obligation)
687
684
  ? [
688
685
  ...new Set([
@@ -708,7 +705,7 @@ const getScopeRefreshIx = async (market, collReserve, debtReserve, obligation, s
708
705
  }
709
706
  return scopeRefreshIxs;
710
707
  };
711
- exports.getScopeRefreshIx = getScopeRefreshIx;
708
+ exports.getScopeRefreshIxForObligationAndReserves = getScopeRefreshIxForObligationAndReserves;
712
709
  const checkObligationType = (obligationTypeTag, collTokenMint, debtTokenMint, kaminoMarket) => {
713
710
  let obligationType;
714
711
  if (obligationTypeTag === utils_1.ObligationTypeTag.Multiply) {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/leverage/operations.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Account, Address, Instruction, Option, Slot, TransactionSigner } from '@solana/kit';
2
2
  import Decimal from 'decimal.js';
3
3
  import { KaminoMarket, KaminoObligation } from '../classes';
4
- import { ObligationType, ObligationTypeTag, ScopePriceRefreshConfig } from '../utils';
4
+ import { ObligationType, ObligationTypeTag } from '../utils';
5
5
  import { AddressLookupTable } from '@solana-program/address-lookup-table';
6
6
  export type SwapQuoteProvider<QuoteResponse> = (inputs: SwapInputs, klendAccounts: Array<Address>) => Promise<SwapQuote<QuoteResponse>>;
7
7
  export type SwapIxsProvider<QuoteResponse> = (inputs: SwapInputs, klendAccounts: Array<Address>, quote: SwapQuote<QuoteResponse>) => Promise<Array<SwapIxs<QuoteResponse>>>;
@@ -53,7 +53,7 @@ export interface BaseLeverageSwapInputsProps<QuoteResponse> {
53
53
  currentSlot: Slot;
54
54
  slippagePct: Decimal;
55
55
  budgetAndPriorityFeeIxs?: Instruction[];
56
- scopeRefreshConfig?: ScopePriceRefreshConfig;
56
+ scopeRefreshIx: Instruction[];
57
57
  quoteBufferBps: Decimal;
58
58
  quoter: SwapQuoteProvider<QuoteResponse>;
59
59
  useV2Ixs: boolean;
@@ -106,6 +106,7 @@ export interface WithdrawWithLeverageSwapInputsProps<QuoteResponse> extends Base
106
106
  priceCollToDebt: Decimal;
107
107
  isClosingPosition: boolean;
108
108
  selectedTokenMint: Address;
109
+ userSolBalanceLamports: number;
109
110
  }
110
111
  export interface WithdrawWithLeverageProps<QuoteResponse> extends WithdrawWithLeverageSwapInputsProps<QuoteResponse> {
111
112
  swapper: SwapIxsProvider<QuoteResponse>;
@@ -138,6 +139,7 @@ export interface AdjustLeverageSwapInputsProps<QuoteResponse> extends BaseLevera
138
139
  priceCollToDebt: Decimal;
139
140
  priceDebtToColl: Decimal;
140
141
  withdrawSlotOffset?: number;
142
+ userSolBalanceLamports: number;
141
143
  }
142
144
  export interface AdjustLeverageProps<QuoteResponse> extends AdjustLeverageSwapInputsProps<QuoteResponse> {
143
145
  swapper: SwapIxsProvider<QuoteResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/leverage/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/leverage/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kamino-finance/klend-sdk",
3
- "version": "7.1.5",
3
+ "version": "7.1.6",
4
4
  "description": "Typescript SDK for interacting with the Kamino Lending (klend) protocol",
5
5
  "repository": {
6
6
  "type": "git",
@@ -6,7 +6,6 @@ import {
6
6
  SwapIxs,
7
7
  SwapIxsProvider,
8
8
  SwapQuoteProvider,
9
- getScopeRefreshIx,
10
9
  LeverageIxsOutput,
11
10
  FlashLoanInfo,
12
11
  } from '../leverage';
@@ -14,7 +13,6 @@ import {
14
13
  createAtasIdempotent,
15
14
  getComputeBudgetAndPriorityFeeIxs,
16
15
  removeBudgetIxs,
17
- ScopePriceRefreshConfig,
18
16
  U64_MAX,
19
17
  uniqueAccountsWithProgramIds,
20
18
  } from '../utils';
@@ -58,7 +56,7 @@ interface RepayWithCollSwapInputsProps<QuoteResponse> {
58
56
  repayAmount: Decimal;
59
57
  isClosingPosition: boolean;
60
58
  budgetAndPriorityFeeIxs?: Instruction[];
61
- scopeRefreshConfig?: ScopePriceRefreshConfig;
59
+ scopeRefreshIx: Instruction[]; // no longer optional, can be empty
62
60
  useV2Ixs: boolean;
63
61
  quoter: SwapQuoteProvider<QuoteResponse>;
64
62
  }
@@ -80,7 +78,7 @@ export async function getRepayWithCollSwapInputs<QuoteResponse>({
80
78
  repayAmount,
81
79
  isClosingPosition,
82
80
  budgetAndPriorityFeeIxs,
83
- scopeRefreshConfig,
81
+ scopeRefreshIx,
84
82
  useV2Ixs,
85
83
  }: RepayWithCollSwapInputsProps<QuoteResponse>): Promise<{
86
84
  swapInputs: SwapInputs;
@@ -130,7 +128,7 @@ export async function getRepayWithCollSwapInputs<QuoteResponse>({
130
128
  referrer,
131
129
  currentSlot,
132
130
  budgetAndPriorityFeeIxs,
133
- scopeRefreshConfig,
131
+ scopeRefreshIx,
134
132
  [
135
133
  {
136
134
  preActionIxs: [],
@@ -199,7 +197,7 @@ export async function getRepayWithCollIxs<QuoteResponse>({
199
197
  quoter,
200
198
  swapper,
201
199
  referrer,
202
- scopeRefreshConfig,
200
+ scopeRefreshIx,
203
201
  useV2Ixs,
204
202
  logger = console.log,
205
203
  }: RepayWithCollIxsProps<QuoteResponse>): Promise<Array<RepayWithCollIxsResponse<QuoteResponse>>> {
@@ -215,7 +213,7 @@ export async function getRepayWithCollIxs<QuoteResponse>({
215
213
  repayAmount,
216
214
  isClosingPosition,
217
215
  budgetAndPriorityFeeIxs,
218
- scopeRefreshConfig,
216
+ scopeRefreshIx,
219
217
  useV2Ixs,
220
218
  });
221
219
  const { debtRepayAmountLamports, flashRepayAmountLamports, maxCollateralWithdrawLamports, swapQuote } = initialInputs;
@@ -255,7 +253,7 @@ export async function getRepayWithCollIxs<QuoteResponse>({
255
253
  referrer,
256
254
  currentSlot,
257
255
  budgetAndPriorityFeeIxs,
258
- scopeRefreshConfig,
256
+ scopeRefreshIx,
259
257
  swapResponses,
260
258
  isClosingPosition,
261
259
  debtRepayAmountLamports,
@@ -284,7 +282,7 @@ async function buildRepayWithCollateralIxs<QuoteResponse>(
284
282
  referrer: Option<Address>,
285
283
  currentSlot: Slot,
286
284
  budgetAndPriorityFeeIxs: Instruction[] | undefined,
287
- scopeRefreshConfig: ScopePriceRefreshConfig | undefined,
285
+ scopeRefreshIx: Instruction[],
288
286
  swapQuoteIxsArray: SwapIxs<QuoteResponse>[],
289
287
  isClosingPosition: boolean,
290
288
  debtRepayAmountLamports: Decimal,
@@ -302,8 +300,6 @@ async function buildRepayWithCollateralIxs<QuoteResponse>(
302
300
  const atasAndIxs = await createAtasIdempotent(owner, atas);
303
301
  const [, { ata: debtTokenAta }] = atasAndIxs;
304
302
 
305
- const scopeRefreshIx = await getScopeRefreshIx(market, collReserve, debtReserve, obligation, scopeRefreshConfig);
306
-
307
303
  // 2. Flash borrow & repay the debt to repay amount needed
308
304
  const { flashBorrowIx, flashRepayIx } = getFlashLoanInstructions({
309
305
  borrowIxIndex: budgetIxs.length + atasAndIxs.length + (scopeRefreshIx.length > 0 ? 1 : 0),