@kamino-finance/klend-sdk 8.0.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +14 -5
  2. package/dist/classes/action.d.ts +2 -2
  3. package/dist/classes/action.d.ts.map +1 -1
  4. package/dist/classes/action.js +33 -16
  5. package/dist/classes/action.js.map +1 -1
  6. package/dist/classes/actionTypes.d.ts +32 -17
  7. package/dist/classes/actionTypes.d.ts.map +1 -1
  8. package/dist/classes/manager.d.ts +52 -48
  9. package/dist/classes/manager.d.ts.map +1 -1
  10. package/dist/classes/manager.js +46 -52
  11. package/dist/classes/manager.js.map +1 -1
  12. package/dist/classes/obligation.d.ts +14 -0
  13. package/dist/classes/obligation.d.ts.map +1 -1
  14. package/dist/classes/obligation.js +54 -8
  15. package/dist/classes/obligation.js.map +1 -1
  16. package/dist/classes/vault.d.ts +37 -38
  17. package/dist/classes/vault.d.ts.map +1 -1
  18. package/dist/classes/vault.js +46 -47
  19. package/dist/classes/vault.js.map +1 -1
  20. package/dist/classes/vault_types.d.ts +5 -1
  21. package/dist/classes/vault_types.d.ts.map +1 -1
  22. package/dist/client/commands/borrow.d.ts.map +1 -1
  23. package/dist/client/commands/borrow.js +2 -0
  24. package/dist/client/commands/borrow.js.map +1 -1
  25. package/dist/client/commands/deposit.d.ts.map +1 -1
  26. package/dist/client/commands/deposit.js +2 -0
  27. package/dist/client/commands/deposit.js.map +1 -1
  28. package/dist/client/commands/withdraw.d.ts.map +1 -1
  29. package/dist/client/commands/withdraw.js +2 -0
  30. package/dist/client/commands/withdraw.js.map +1 -1
  31. package/dist/lending_operations/index.d.ts +3 -0
  32. package/dist/lending_operations/index.d.ts.map +1 -1
  33. package/dist/lending_operations/index.js +3 -0
  34. package/dist/lending_operations/index.js.map +1 -1
  35. package/dist/lending_operations/repay_with_collateral_calcs.d.ts +34 -0
  36. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
  37. package/dist/lending_operations/repay_with_collateral_calcs.js +79 -6
  38. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  39. package/dist/lending_operations/repay_with_collateral_operations.d.ts +27 -12
  40. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  41. package/dist/lending_operations/repay_with_collateral_operations.js +184 -58
  42. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  43. package/dist/lending_operations/swap_calcs.d.ts +103 -0
  44. package/dist/lending_operations/swap_calcs.d.ts.map +1 -0
  45. package/dist/lending_operations/swap_calcs.js +125 -0
  46. package/dist/lending_operations/swap_calcs.js.map +1 -0
  47. package/dist/lending_operations/swap_collateral_operations.d.ts +49 -15
  48. package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
  49. package/dist/lending_operations/swap_collateral_operations.js +418 -82
  50. package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
  51. package/dist/lending_operations/swap_debt_operations.d.ts +77 -0
  52. package/dist/lending_operations/swap_debt_operations.d.ts.map +1 -0
  53. package/dist/lending_operations/swap_debt_operations.js +512 -0
  54. package/dist/lending_operations/swap_debt_operations.js.map +1 -0
  55. package/dist/lending_operations/swap_flash_borrow_selection.d.ts +90 -0
  56. package/dist/lending_operations/swap_flash_borrow_selection.d.ts.map +1 -0
  57. package/dist/lending_operations/swap_flash_borrow_selection.js +147 -0
  58. package/dist/lending_operations/swap_flash_borrow_selection.js.map +1 -0
  59. package/dist/leverage/calcs.d.ts +3 -2
  60. package/dist/leverage/calcs.d.ts.map +1 -1
  61. package/dist/leverage/calcs.js +3 -2
  62. package/dist/leverage/calcs.js.map +1 -1
  63. package/dist/leverage/flashBorrowType.d.ts +120 -0
  64. package/dist/leverage/flashBorrowType.d.ts.map +1 -0
  65. package/dist/leverage/flashBorrowType.js +182 -0
  66. package/dist/leverage/flashBorrowType.js.map +1 -0
  67. package/dist/leverage/index.d.ts +1 -0
  68. package/dist/leverage/index.d.ts.map +1 -1
  69. package/dist/leverage/index.js +1 -0
  70. package/dist/leverage/index.js.map +1 -1
  71. package/dist/manager/client_kamino_manager.js +21 -12
  72. package/dist/manager/client_kamino_manager.js.map +1 -1
  73. package/dist/utils/farmUtils.d.ts +5 -2
  74. package/dist/utils/farmUtils.d.ts.map +1 -1
  75. package/dist/utils/farmUtils.js +15 -10
  76. package/dist/utils/farmUtils.js.map +1 -1
  77. package/dist/utils/rpc.d.ts +3 -1
  78. package/dist/utils/rpc.d.ts.map +1 -1
  79. package/dist/utils/rpc.js +12 -0
  80. package/dist/utils/rpc.js.map +1 -1
  81. package/package.json +1 -1
  82. package/src/classes/action.ts +39 -18
  83. package/src/classes/actionTypes.ts +33 -17
  84. package/src/classes/manager.ts +65 -73
  85. package/src/classes/obligation.ts +110 -10
  86. package/src/classes/vault.ts +70 -68
  87. package/src/classes/vault_types.ts +6 -1
  88. package/src/client/commands/borrow.ts +2 -0
  89. package/src/client/commands/deposit.ts +2 -0
  90. package/src/client/commands/withdraw.ts +2 -0
  91. package/src/lending_operations/index.ts +3 -0
  92. package/src/lending_operations/repay_with_collateral_calcs.ts +130 -5
  93. package/src/lending_operations/repay_with_collateral_operations.ts +292 -107
  94. package/src/lending_operations/swap_calcs.ts +235 -0
  95. package/src/lending_operations/swap_collateral_operations.ts +676 -115
  96. package/src/lending_operations/swap_debt_operations.ts +788 -0
  97. package/src/lending_operations/swap_flash_borrow_selection.ts +263 -0
  98. package/src/leverage/calcs.ts +5 -2
  99. package/src/leverage/flashBorrowType.ts +368 -0
  100. package/src/leverage/index.ts +1 -0
  101. package/src/manager/client_kamino_manager.ts +47 -13
  102. package/src/utils/farmUtils.ts +49 -14
  103. package/src/utils/rpc.ts +21 -0
package/README.md CHANGED
@@ -42,17 +42,25 @@ console.log(obligation.stats.borrowLimit);
42
42
  ### Perform lending action
43
43
 
44
44
  ```typescript
45
- const kaminoAction = await KaminoAction.buildDepositTxns(
45
+ const currentSlot = await rpc.getSlot().send();
46
+
47
+ const kaminoAction = await KaminoAction.buildDepositTxns({
46
48
  kaminoMarket,
47
- amountBase,
48
- symbol,
49
- new VanillaObligation(PROGRAM_ID),
50
- );
49
+ amount: amountBase,
50
+ reserveAddress,
51
+ owner,
52
+ obligation: new VanillaObligation(kaminoMarket.getAddress()),
53
+ useV2Ixs: true,
54
+ scopeRefreshConfig: undefined,
55
+ currentSlot,
56
+ });
51
57
 
52
58
  const env = await initEnv('mainnet-beta');
53
59
  await sendTransactionFromAction(env, sendTransaction); // sendTransaction from wallet adapter or custom
54
60
  ```
55
61
 
62
+ Fetch `currentSlot` once per workflow and pass it into lending action builders. Reusing the caller-fetched slot avoids extra RPC calls and keeps calculations consistent across multi-action flows.
63
+
56
64
  ### Getting a vanilla obligation for a user
57
65
  ```ts
58
66
  const kaminoMarket = await KaminoMarket.load(env.provider.connection, marketAddress, DEFAULT_RECENT_SLOT_DURATION_MS, programId);
@@ -160,3 +168,4 @@ yarn -s cli print-all-obligation-accounts --rpc <RPC> | jq -cn --stream 'fromstr
160
168
  ## Codegen
161
169
  * Copy the new `idl` from the kamino-lending program to `src/idl.json`
162
170
  * `yarn codegen`
171
+
@@ -212,8 +212,8 @@ export declare class KaminoAction {
212
212
  private addComputeBudgetIx;
213
213
  private addAtaIxs;
214
214
  private updateWSOLAccount;
215
- static initializeMultiTokenAction(kaminoMarket: KaminoMarket, action: ActionType, inflowAmount: string | BN, inflowReserveAddress: Address, outflowReserveAddress: Address, signer: TransactionSigner, obligationOwner: Address, obligation: KaminoObligation | ObligationType, outflowAmount?: string | BN, referrer?: Option<Address>, currentSlot?: Slot): Promise<KaminoAction>;
216
- static initializeWithdrawReferrerFees(reserveAddress: Address, owner: TransactionSigner, kaminoMarket: KaminoMarket, currentSlot?: Slot): Promise<{
215
+ static initializeMultiTokenAction(kaminoMarket: KaminoMarket, action: ActionType, inflowAmount: string | BN, inflowReserveAddress: Address, outflowReserveAddress: Address, signer: TransactionSigner, obligationOwner: Address, obligation: KaminoObligation | ObligationType, outflowAmount: string | BN | undefined, referrer: Option<Address>, currentSlot: Slot): Promise<KaminoAction>;
216
+ static initializeWithdrawReferrerFees(reserveAddress: Address, owner: TransactionSigner, kaminoMarket: KaminoMarket, currentSlot: Slot): Promise<{
217
217
  axn: KaminoAction;
218
218
  createAtaIxs: Instruction<string, readonly (AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>[];
219
219
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/classes/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/classes/action.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ class KaminoAction {
89
89
  this.currentSlot = currentSlot;
90
90
  }
91
91
  static async initialize(props) {
92
- const { kaminoMarket, action, amount, reserveAddress, owner, obligation, referrer = (0, kit_1.none)(), currentSlot = 0n, payer = owner, } = props;
92
+ const { kaminoMarket, action, amount, reserveAddress, owner, obligation, referrer = (0, kit_1.none)(), currentSlot, payer = owner, } = props;
93
93
  const reserve = kaminoMarket.getReserveByAddress(reserveAddress);
94
94
  if (reserve === undefined) {
95
95
  throw new Error(`Reserve ${reserveAddress} not found in market ${kaminoMarket.getAddress()}`);
@@ -142,7 +142,7 @@ class KaminoAction {
142
142
  };
143
143
  }
144
144
  static async buildRefreshObligationTxns(props) {
145
- const { kaminoMarket, payer, obligation, extraComputeBudget = 1_000_000, currentSlot = 0n } = props;
145
+ const { kaminoMarket, payer, obligation, extraComputeBudget = 1_000_000, currentSlot } = props;
146
146
  // placeholder for action initialization
147
147
  const firstReserve = obligation.getDeposits()[0].reserveAddress;
148
148
  const firstKaminoReserve = kaminoMarket.getReserveByAddress(firstReserve);
@@ -165,7 +165,7 @@ class KaminoAction {
165
165
  return axn;
166
166
  }
167
167
  static async buildRequestElevationGroupTxns(props) {
168
- const { kaminoMarket, owner, obligation, elevationGroup, extraComputeBudget = 1_000_000, currentSlot = 0n } = props;
168
+ const { kaminoMarket, owner, obligation, elevationGroup, extraComputeBudget = 1_000_000, currentSlot } = props;
169
169
  const firstReserve = obligation.state.deposits.find((x) => x.depositReserve !== utils_1.DEFAULT_PUBLIC_KEY).depositReserve;
170
170
  const firstKaminoReserve = kaminoMarket.getReserveByAddress(firstReserve);
171
171
  if (!firstKaminoReserve) {
@@ -188,7 +188,7 @@ class KaminoAction {
188
188
  return axn;
189
189
  }
190
190
  static async buildDepositTxns(props) {
191
- const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot = 0n, overrideElevationGroupRequest, } = props;
191
+ const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot, overrideElevationGroupRequest, obligationCustomizations, } = props;
192
192
  const axn = await KaminoAction.initialize({
193
193
  kaminoMarket,
194
194
  action: 'deposit',
@@ -199,6 +199,7 @@ class KaminoAction {
199
199
  referrer,
200
200
  currentSlot,
201
201
  });
202
+ applyObligationCustomizations(axn, obligationCustomizations);
202
203
  const addInitObligationForFarm = true;
203
204
  if (extraComputeBudget > 0) {
204
205
  axn.addComputeBudgetIx(extraComputeBudget);
@@ -251,7 +252,7 @@ class KaminoAction {
251
252
  await this.addSupportScopeRefreshIxs(scopeRefreshConfig);
252
253
  }
253
254
  static async buildBorrowTxns(props) {
254
- const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot = 0n, overrideElevationGroupRequest, rollOver = false, } = props;
255
+ const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot, overrideElevationGroupRequest, rollOver = false, obligationCustomizations, } = props;
255
256
  const axn = await KaminoAction.initialize({
256
257
  kaminoMarket,
257
258
  action: 'borrow',
@@ -262,6 +263,7 @@ class KaminoAction {
262
263
  referrer,
263
264
  currentSlot,
264
265
  });
266
+ applyObligationCustomizations(axn, obligationCustomizations);
265
267
  const addInitObligationForFarm = true;
266
268
  if (extraComputeBudget > 0) {
267
269
  axn.addComputeBudgetIx(extraComputeBudget);
@@ -287,7 +289,7 @@ class KaminoAction {
287
289
  return axn;
288
290
  }
289
291
  static async buildDepositReserveLiquidityTxns(props) {
290
- const { kaminoMarket, amount, reserveAddress, owner, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, referrer = (0, kit_1.none)(), currentSlot = 0n, } = props;
292
+ const { kaminoMarket, amount, reserveAddress, owner, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, referrer = (0, kit_1.none)(), currentSlot, } = props;
291
293
  const axn = await KaminoAction.initialize({
292
294
  kaminoMarket,
293
295
  action: 'mint',
@@ -308,7 +310,7 @@ class KaminoAction {
308
310
  return axn;
309
311
  }
310
312
  static async buildRedeemReserveCollateralTxns(props) {
311
- const { kaminoMarket, amount, reserveAddress, owner, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, referrer = (0, kit_1.none)(), currentSlot = 0n, } = props;
313
+ const { kaminoMarket, amount, reserveAddress, owner, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, referrer = (0, kit_1.none)(), currentSlot, } = props;
312
314
  const axn = await KaminoAction.initialize({
313
315
  kaminoMarket,
314
316
  action: 'redeem',
@@ -329,7 +331,7 @@ class KaminoAction {
329
331
  return axn;
330
332
  }
331
333
  static async buildDepositObligationCollateralTxns(props) {
332
- const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot = 0n, } = props;
334
+ const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot, } = props;
333
335
  const axn = await KaminoAction.initialize({
334
336
  kaminoMarket,
335
337
  action: 'depositCollateral',
@@ -355,7 +357,7 @@ class KaminoAction {
355
357
  return axn;
356
358
  }
357
359
  static async buildDepositAndBorrowTxns(props) {
358
- const { kaminoMarket, depositAmount, depositReserveAddress, borrowAmount, borrowReserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot = 0n, rollOver = false, } = props;
360
+ const { kaminoMarket, depositAmount, depositReserveAddress, borrowAmount, borrowReserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot, rollOver = false, } = props;
359
361
  const axn = await KaminoAction.initializeMultiTokenAction(kaminoMarket, 'depositAndBorrow', depositAmount, depositReserveAddress, borrowReserveAddress, owner, owner.address, obligation, borrowAmount, referrer, currentSlot);
360
362
  const addInitObligationForFarmForDeposit = true;
361
363
  const addInitObligationForFarmForBorrow = false;
@@ -480,7 +482,7 @@ class KaminoAction {
480
482
  return axn;
481
483
  }
482
484
  static async buildWithdrawTxns(props) {
483
- const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot = 0n, overrideElevationGroupRequest, obligationCustomizations, } = props;
485
+ const { kaminoMarket, amount, reserveAddress, owner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot, overrideElevationGroupRequest, obligationCustomizations, } = props;
484
486
  const axn = await KaminoAction.initialize({
485
487
  kaminoMarket,
486
488
  action: 'withdraw',
@@ -495,7 +497,7 @@ class KaminoAction {
495
497
  if (extraComputeBudget > 0) {
496
498
  axn.addComputeBudgetIx(extraComputeBudget);
497
499
  }
498
- axn.depositReserves.push(...(obligationCustomizations?.addedDepositReserves || []));
500
+ applyObligationCustomizations(axn, obligationCustomizations);
499
501
  await axn.addSupportIxs('withdraw', includeAtaIxs, requestElevationGroup, addInitObligationForFarm, useV2Ixs, scopeRefreshConfig, initUserMetadata, false, overrideElevationGroupRequest);
500
502
  const collateralAmount = axn.getWithdrawCollateralAmount(axn.reserve, axn.amount);
501
503
  if (useV2Ixs) {
@@ -508,7 +510,7 @@ class KaminoAction {
508
510
  return axn;
509
511
  }
510
512
  static async buildWithdrawFromObligationAndEnqueueTxns(props) {
511
- const { kaminoMarket, withdrawAmount, reserveAddress, owner, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot = 0n, userDestinationLiquidityAta, progressCallbackType = new types_1.ProgressCallbackType.None(), progressCallbackCustomAccount0 = (0, kit_1.none)(), progressCallbackCustomAccount1 = (0, kit_1.none)(), } = props;
513
+ const { kaminoMarket, withdrawAmount, reserveAddress, owner, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), currentSlot, userDestinationLiquidityAta, progressCallbackType = new types_1.ProgressCallbackType.None(), progressCallbackCustomAccount0 = (0, kit_1.none)(), progressCallbackCustomAccount1 = (0, kit_1.none)(), } = props;
512
514
  const axn = await KaminoAction.initialize({
513
515
  kaminoMarket,
514
516
  action: 'withdrawAndEnqueue',
@@ -564,7 +566,7 @@ class KaminoAction {
564
566
  return axn;
565
567
  }
566
568
  static async buildLiquidateTxns(props) {
567
- const { kaminoMarket, amount, minCollateralReceiveAmount, repayReserveAddress, withdrawReserveAddress, liquidator, obligationOwner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), maxAllowedLtvOverridePercent = 0, currentSlot = 0n, } = props;
569
+ const { kaminoMarket, amount, minCollateralReceiveAmount, repayReserveAddress, withdrawReserveAddress, liquidator, obligationOwner, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, includeAtaIxs = true, requestElevationGroup = false, initUserMetadata = { skipInitialization: false, skipLutCreation: false }, referrer = (0, kit_1.none)(), maxAllowedLtvOverridePercent = 0, currentSlot, } = props;
568
570
  const axn = await KaminoAction.initializeMultiTokenAction(kaminoMarket, 'liquidate', amount, repayReserveAddress, withdrawReserveAddress, liquidator, obligationOwner, obligation, minCollateralReceiveAmount, referrer, currentSlot);
569
571
  const addInitObligationForFarm = true;
570
572
  if (extraComputeBudget > 0) {
@@ -581,7 +583,7 @@ class KaminoAction {
581
583
  return axn;
582
584
  }
583
585
  static async buildWithdrawReferrerFeeTxns(props) {
584
- const { owner, reserveAddress, kaminoMarket, currentSlot = 0n } = props;
586
+ const { owner, reserveAddress, kaminoMarket, currentSlot } = props;
585
587
  const { axn, createAtaIxs } = await KaminoAction.initializeWithdrawReferrerFees(reserveAddress, owner, kaminoMarket, currentSlot);
586
588
  axn.setupIxs.push(...createAtaIxs);
587
589
  axn.setupIxsLabels.push(`createAtasIxs[${axn.owner.toString()}]`);
@@ -2453,7 +2455,7 @@ class KaminoAction {
2453
2455
  this.cleanupIxs.push(...postIxs);
2454
2456
  this.cleanupIxsLabels.push(...postIxsLabels);
2455
2457
  }
2456
- static async initializeMultiTokenAction(kaminoMarket, action, inflowAmount, inflowReserveAddress, outflowReserveAddress, signer, obligationOwner, obligation, outflowAmount, referrer = (0, kit_1.none)(), currentSlot = 0n) {
2458
+ static async initializeMultiTokenAction(kaminoMarket, action, inflowAmount, inflowReserveAddress, outflowReserveAddress, signer, obligationOwner, obligation, outflowAmount, referrer, currentSlot) {
2457
2459
  const inflowReserve = kaminoMarket.getExistingReserveByAddress(inflowReserveAddress);
2458
2460
  const outflowReserve = kaminoMarket.getExistingReserveByAddress(outflowReserveAddress);
2459
2461
  const { kaminoObligation, depositReserves, borrowReserves, distinctReserveCount } = await KaminoAction.loadObligation(action, kaminoMarket, obligationOwner, inflowReserve.address, obligation, outflowReserve.address);
@@ -2472,7 +2474,7 @@ class KaminoAction {
2472
2474
  }
2473
2475
  return new KaminoAction(kaminoMarket, signer, kaminoObligation || obligation, primaryMint, distinctReserveCount, inflowAmount, depositReserves, borrowReserves, inflowReserve, currentSlot, secondaryMint, outflowReserve, outflowAmount, referrerKey);
2474
2476
  }
2475
- static async initializeWithdrawReferrerFees(reserveAddress, owner, kaminoMarket, currentSlot = 0n) {
2477
+ static async initializeWithdrawReferrerFees(reserveAddress, owner, kaminoMarket, currentSlot) {
2476
2478
  const reserve = kaminoMarket.getReserveByAddress(reserveAddress);
2477
2479
  if (reserve === undefined) {
2478
2480
  throw new Error(`Reserve ${reserveAddress} not found in market ${kaminoMarket.getAddress()}`);
@@ -2641,4 +2643,19 @@ class KaminoAction {
2641
2643
  }
2642
2644
  }
2643
2645
  exports.KaminoAction = KaminoAction;
2646
+ /**
2647
+ * Applies `obligationCustomizations` to an in-progress `KaminoAction`. Adds reserves that will be present at execution
2648
+ * time but missing from the obligation snapshot, and removes reserves that will be gone before the action runs.
2649
+ */
2650
+ function applyObligationCustomizations(axn, customizations) {
2651
+ if (!customizations) {
2652
+ return;
2653
+ }
2654
+ axn.depositReserves.push(...(customizations.addedDepositReserves ?? []));
2655
+ axn.borrowReserves.push(...(customizations.addedBorrowReserves ?? []));
2656
+ const removedBorrowSet = new Set(customizations.removedBorrowReserves ?? []);
2657
+ const removedDepositSet = new Set(customizations.removedDepositReserves ?? []);
2658
+ axn.borrowReserves = axn.borrowReserves.filter((r) => !removedBorrowSet.has(r));
2659
+ axn.depositReserves = axn.depositReserves.filter((r) => !removedDepositSet.has(r));
2660
+ }
2644
2661
  //# sourceMappingURL=action.js.map