@kamino-finance/klend-sdk 5.11.4 → 5.11.5-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 (45) hide show
  1. package/dist/classes/action.d.ts +12 -2
  2. package/dist/classes/action.d.ts.map +1 -1
  3. package/dist/classes/action.js +228 -30
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/manager.d.ts.map +1 -1
  6. package/dist/classes/manager.js +1 -0
  7. package/dist/classes/manager.js.map +1 -1
  8. package/dist/classes/obligation.d.ts +1 -1
  9. package/dist/classes/obligation.d.ts.map +1 -1
  10. package/dist/classes/obligation.js +1 -1
  11. package/dist/classes/obligation.js.map +1 -1
  12. package/dist/classes/vault.js +6 -6
  13. package/dist/classes/vault.js.map +1 -1
  14. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
  15. package/dist/lending_operations/repay_with_collateral_calcs.js +9 -5
  16. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  17. package/dist/lending_operations/repay_with_collateral_operations.d.ts +5 -0
  18. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  19. package/dist/lending_operations/repay_with_collateral_operations.js +26 -1
  20. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  21. package/dist/utils/lookupTable.d.ts +27 -0
  22. package/dist/utils/lookupTable.d.ts.map +1 -1
  23. package/dist/utils/lookupTable.js +58 -0
  24. package/dist/utils/lookupTable.js.map +1 -1
  25. package/dist/utils/seeds.d.ts +11 -1
  26. package/dist/utils/seeds.d.ts.map +1 -1
  27. package/dist/utils/seeds.js +13 -3
  28. package/dist/utils/seeds.js.map +1 -1
  29. package/dist/utils/userMetadata.js +6 -6
  30. package/dist/utils/userMetadata.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/classes/action.ts +361 -50
  33. package/src/classes/manager.ts +4 -6
  34. package/src/classes/obligation.ts +1 -1
  35. package/src/classes/vault.ts +1 -1
  36. package/src/lending_operations/repay_with_collateral_calcs.ts +14 -5
  37. package/src/lending_operations/repay_with_collateral_operations.ts +63 -20
  38. package/src/utils/lookupTable.ts +62 -0
  39. package/src/utils/seeds.ts +14 -4
  40. package/src/utils/userMetadata.ts +14 -14
  41. package/dist/classes/lut_utils.d.ts +0 -29
  42. package/dist/classes/lut_utils.d.ts.map +0 -1
  43. package/dist/classes/lut_utils.js +0 -62
  44. package/dist/classes/lut_utils.js.map +0 -1
  45. package/src/classes/lut_utils.ts +0 -63
@@ -5,7 +5,7 @@ import { KaminoMarket } from './market';
5
5
  import { KaminoObligation } from './obligation';
6
6
  import { KaminoReserve } from './reserve';
7
7
  import { Scope } from '@kamino-finance/scope-sdk';
8
- export type ActionType = 'deposit' | 'borrow' | 'withdraw' | 'repay' | 'mint' | 'redeem' | 'depositCollateral' | 'liquidate' | 'depositAndBorrow' | 'repayAndWithdraw' | 'refreshObligation' | 'requestElevationGroup' | 'withdrawReferrerFees';
8
+ export type ActionType = 'deposit' | 'borrow' | 'withdraw' | 'repay' | 'mint' | 'redeem' | 'depositCollateral' | 'liquidate' | 'depositAndBorrow' | 'repayAndWithdraw' | 'refreshObligation' | 'requestElevationGroup' | 'withdrawReferrerFees' | 'repayAndWithdrawV2' | 'depositAndWithdraw';
9
9
  export type AuxiliaryIx = 'setup' | 'inBetween' | 'cleanup';
10
10
  export declare class KaminoAction {
11
11
  kaminoMarket: KaminoMarket;
@@ -79,6 +79,14 @@ export declare class KaminoAction {
79
79
  includeAtaIxns?: boolean, // if true it includes create and close wsol and token atas,
80
80
  requestElevationGroup?: boolean, includeUserMetadata?: boolean, // if true it includes user metadata,
81
81
  createLookupTable?: boolean, referrer?: PublicKey, currentSlot?: number): Promise<KaminoAction>;
82
+ static buildDepositAndWithdrawV2Txns(kaminoMarket: KaminoMarket, depositAmount: string | BN, depositMint: PublicKey, withdrawAmount: string | BN, withdrawMint: PublicKey, payer: PublicKey, currentSlot: number, obligation: KaminoObligation | ObligationType, scopeRefreshConfig: ScopePriceRefreshConfig | undefined, extraComputeBudget?: number, // if > 0 then adds the ixn
83
+ includeAtaIxns?: boolean, // if true it includes create and close wsol and token atas,
84
+ requestElevationGroup?: boolean, includeUserMetadata?: boolean, // if true it includes user metadata,
85
+ createLookupTable?: boolean, referrer?: PublicKey): Promise<KaminoAction>;
86
+ static buildRepayAndWithdrawV2Txns(kaminoMarket: KaminoMarket, repayAmount: string | BN, repayMint: PublicKey, withdrawAmount: string | BN, withdrawMint: PublicKey, payer: PublicKey, currentSlot: number, obligation: KaminoObligation | ObligationType, scopeRefreshConfig: ScopePriceRefreshConfig | undefined, extraComputeBudget?: number, // if > 0 then adds the ixn
87
+ includeAtaIxns?: boolean, // if true it includes create and close wsol and token atas,
88
+ requestElevationGroup?: boolean, includeUserMetadata?: boolean, // if true it includes user metadata,
89
+ createLookupTable?: boolean, referrer?: PublicKey): Promise<KaminoAction>;
82
90
  static buildRepayAndWithdrawTxns(kaminoMarket: KaminoMarket, repayAmount: string | BN, repayMint: PublicKey, withdrawAmount: string | BN, withdrawMint: PublicKey, payer: PublicKey, currentSlot: number, obligation: KaminoObligation | ObligationType, useV2Ixs: boolean, scopeRefreshConfig: ScopePriceRefreshConfig | undefined, extraComputeBudget?: number, // if > 0 then adds the ixn
83
91
  includeAtaIxns?: boolean, // if true it includes create and close wsol and token atas,
84
92
  requestElevationGroup?: boolean, includeUserMetadata?: boolean, // if true it includes user metadata,
@@ -132,11 +140,13 @@ export declare class KaminoAction {
132
140
  addWithdrawIxV2(collateralAmount: BN): Promise<void>;
133
141
  addRepayIx(): Promise<void>;
134
142
  addRepayIxV2(): Promise<void>;
143
+ addRepayAndWithdrawV2Ixs(withdrawCollateralAmount: BN): void;
144
+ addDepositAndWithdrawV2Ixs(withdrawCollateralAmount: BN): void;
135
145
  addDepositAndBorrowIx(): Promise<void>;
136
146
  addDepositAndBorrowIxV2(): Promise<void>;
137
147
  addRepayAndWithdrawIxs(withdrawCollateralAmount: BN): Promise<void>;
138
148
  addRepayAndWithdrawIxsV2(withdrawCollateralAmount: BN): Promise<void>;
139
- addLiquidateIx(maxAllowedLtvOverridePercent?: number): Promise<void>;
149
+ addLiquidateIx(maxAllowedLtvOverridePercent?: number): void;
140
150
  addLiquidateIxV2(maxAllowedLtvOverridePercent?: number): Promise<void>;
141
151
  addInBetweenIxs(action: ActionType, includeAtaIxns: boolean, requestElevationGroup: boolean, addInitObligationForFarm: boolean, useV2Ixs: boolean): Promise<void>;
142
152
  addRefreshObligation(crank: PublicKey): void;
@@ -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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"}
@@ -320,6 +320,36 @@ class KaminoAction {
320
320
  }
321
321
  return axn;
322
322
  }
323
+ static async buildDepositAndWithdrawV2Txns(kaminoMarket, depositAmount, depositMint, withdrawAmount, withdrawMint, payer, currentSlot, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, // if > 0 then adds the ixn
324
+ includeAtaIxns = true, // if true it includes create and close wsol and token atas,
325
+ requestElevationGroup = false, includeUserMetadata = true, // if true it includes user metadata,
326
+ createLookupTable = true, referrer = web3_js_1.PublicKey.default) {
327
+ const axn = await KaminoAction.initializeMultiTokenAction(kaminoMarket, 'depositAndWithdraw', depositAmount, depositMint, withdrawMint, payer, payer, obligation, withdrawAmount, referrer, currentSlot);
328
+ const addInitObligationForFarm = true;
329
+ const twoTokenAction = true;
330
+ if (extraComputeBudget > 0) {
331
+ axn.addComputeBudgetIxn(extraComputeBudget);
332
+ }
333
+ await axn.addSupportIxs('depositAndWithdraw', includeAtaIxns, requestElevationGroup, includeUserMetadata, addInitObligationForFarm, true, scopeRefreshConfig, createLookupTable, twoTokenAction);
334
+ const withdrawCollateralAmount = axn.getWithdrawCollateralAmount(axn.outflowReserve, axn.outflowAmount);
335
+ axn.addDepositAndWithdrawV2Ixs(withdrawCollateralAmount);
336
+ return axn;
337
+ }
338
+ static async buildRepayAndWithdrawV2Txns(kaminoMarket, repayAmount, repayMint, withdrawAmount, withdrawMint, payer, currentSlot, obligation, scopeRefreshConfig, extraComputeBudget = 1_000_000, // if > 0 then adds the ixn
339
+ includeAtaIxns = true, // if true it includes create and close wsol and token atas,
340
+ requestElevationGroup = false, includeUserMetadata = true, // if true it includes user metadata,
341
+ createLookupTable = true, referrer = web3_js_1.PublicKey.default) {
342
+ const axn = await KaminoAction.initializeMultiTokenAction(kaminoMarket, 'repayAndWithdrawV2', repayAmount, repayMint, withdrawMint, payer, payer, obligation, withdrawAmount, referrer, currentSlot);
343
+ const addInitObligationForFarm = true;
344
+ const twoTokenAction = true;
345
+ if (extraComputeBudget > 0) {
346
+ axn.addComputeBudgetIxn(extraComputeBudget);
347
+ }
348
+ await axn.addSupportIxs('repayAndWithdrawV2', includeAtaIxns, requestElevationGroup, includeUserMetadata, addInitObligationForFarm, true, scopeRefreshConfig, createLookupTable, twoTokenAction);
349
+ const withdrawCollateralAmount = axn.getWithdrawCollateralAmount(axn.outflowReserve, axn.outflowAmount);
350
+ axn.addRepayAndWithdrawV2Ixs(withdrawCollateralAmount);
351
+ return axn;
352
+ }
323
353
  static async buildRepayAndWithdrawTxns(kaminoMarket, repayAmount, repayMint, withdrawAmount, withdrawMint, payer, currentSlot, obligation, useV2Ixs, scopeRefreshConfig, extraComputeBudget = 1_000_000, // if > 0 then adds the ixn
324
354
  includeAtaIxns = true, // if true it includes create and close wsol and token atas,
325
355
  requestElevationGroup = false, includeUserMetadata = true, // if true it includes user metadata,
@@ -569,7 +599,7 @@ class KaminoAction {
569
599
  reserveFarmState: this.kaminoMarket.programId,
570
600
  }
571
601
  : {
572
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
602
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
573
603
  reserveFarmState: this.reserve.state.farmCollateral,
574
604
  };
575
605
  this.lendingIxsLabels.push(`depositReserveLiquidityAndObligationCollateralV2`);
@@ -619,7 +649,7 @@ class KaminoAction {
619
649
  reserveFarmState: this.kaminoMarket.programId,
620
650
  }
621
651
  : {
622
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
652
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
623
653
  reserveFarmState: this.reserve.state.farmCollateral,
624
654
  };
625
655
  this.lendingIxsLabels.push(`depositObligationCollateralV2`);
@@ -682,7 +712,7 @@ class KaminoAction {
682
712
  reserveFarmState: this.kaminoMarket.programId,
683
713
  }
684
714
  : {
685
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
715
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
686
716
  reserveFarmState: this.reserve.state.farmDebt,
687
717
  };
688
718
  const borrowIx = (0, instructions_1.borrowObligationLiquidityV2)({
@@ -740,7 +770,7 @@ class KaminoAction {
740
770
  reserveFarmState: this.kaminoMarket.programId,
741
771
  }
742
772
  : {
743
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
773
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
744
774
  reserveFarmState: this.reserve.state.farmCollateral,
745
775
  };
746
776
  this.lendingIxsLabels.push(`withdrawObligationCollateralAndRedeemReserveCollateralV2`);
@@ -800,7 +830,7 @@ class KaminoAction {
800
830
  reserveFarmState: this.kaminoMarket.programId,
801
831
  }
802
832
  : {
803
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
833
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
804
834
  reserveFarmState: this.reserve.state.farmDebt,
805
835
  };
806
836
  const depositReserveAccountMetas = depositReservesList.map((reserve) => {
@@ -828,6 +858,165 @@ class KaminoAction {
828
858
  this.obligation.state.elevationGroup > 0 ? repayIx.keys.concat([...depositReserveAccountMetas]) : repayIx.keys;
829
859
  this.lendingIxs.push(repayIx);
830
860
  }
861
+ addRepayAndWithdrawV2Ixs(withdrawCollateralAmount) {
862
+ this.lendingIxsLabels.push(`repayAndWithdrawAndRedeem(repayReserve=${this.reserve.address})(withdrawReserve=${this.outflowReserve.address})(obligation=${this.getObligationPda()})`);
863
+ const depositReservesList = this.getAdditionalDepositReservesList();
864
+ const depositReserveAccountMetas = depositReservesList.map((reserve) => {
865
+ return { pubkey: reserve, isSigner: false, isWritable: true };
866
+ });
867
+ const borrowReserveAccountMetas = this.borrowReserves.map((reserve) => {
868
+ return { pubkey: reserve, isSigner: false, isWritable: true };
869
+ });
870
+ if (!this.outflowAmount) {
871
+ throw new Error(`outflowAmount not set`);
872
+ }
873
+ if (!this.outflowReserve) {
874
+ throw new Error(`outflowReserve not set`);
875
+ }
876
+ if (!this.additionalTokenAccountAddress) {
877
+ throw new Error(`additionalTokenAccountAddress not set`);
878
+ }
879
+ const collateralFarmsAccounts = this.outflowReserve.state.farmCollateral.equals(web3_js_1.PublicKey.default)
880
+ ? {
881
+ obligationFarmUserState: this.kaminoMarket.programId,
882
+ reserveFarmState: this.kaminoMarket.programId,
883
+ }
884
+ : {
885
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
886
+ reserveFarmState: this.outflowReserve.state.farmCollateral,
887
+ };
888
+ const debtFarmsAccounts = this.reserve.state.farmDebt.equals(web3_js_1.PublicKey.default)
889
+ ? {
890
+ obligationFarmUserState: this.kaminoMarket.programId,
891
+ reserveFarmState: this.kaminoMarket.programId,
892
+ }
893
+ : {
894
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
895
+ reserveFarmState: this.reserve.state.farmDebt,
896
+ };
897
+ const repayAndWithdrawIx = (0, instructions_1.repayAndWithdrawAndRedeem)({
898
+ repayAmount: this.amount,
899
+ withdrawCollateralAmount,
900
+ }, {
901
+ repayAccounts: {
902
+ owner: this.owner,
903
+ obligation: this.getObligationPda(),
904
+ lendingMarket: this.kaminoMarket.getAddress(),
905
+ repayReserve: this.reserve.address,
906
+ reserveLiquidityMint: this.reserve.getLiquidityMint(),
907
+ userSourceLiquidity: this.userTokenAccountAddress,
908
+ reserveDestinationLiquidity: this.reserve.state.liquidity.supplyVault,
909
+ tokenProgram: this.reserve.getLiquidityTokenProgram(),
910
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
911
+ },
912
+ withdrawAccounts: {
913
+ owner: this.owner,
914
+ obligation: this.getObligationPda(),
915
+ lendingMarket: this.kaminoMarket.getAddress(),
916
+ lendingMarketAuthority: this.kaminoMarket.getLendingMarketAuthority(),
917
+ withdrawReserve: this.outflowReserve.address,
918
+ reserveLiquidityMint: this.outflowReserve.getLiquidityMint(),
919
+ reserveCollateralMint: this.outflowReserve.getCTokenMint(),
920
+ reserveLiquiditySupply: this.outflowReserve.state.liquidity.supplyVault,
921
+ reserveSourceCollateral: this.outflowReserve.state.collateral.supplyVault,
922
+ userDestinationLiquidity: this.additionalTokenAccountAddress,
923
+ placeholderUserDestinationCollateral: this.kaminoMarket.programId,
924
+ collateralTokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
925
+ liquidityTokenProgram: this.outflowReserve.getLiquidityTokenProgram(),
926
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
927
+ },
928
+ collateralFarmsAccounts,
929
+ debtFarmsAccounts,
930
+ farmsProgram: farms_sdk_1.farmsId,
931
+ }, this.kaminoMarket.programId);
932
+ repayAndWithdrawIx.keys = repayAndWithdrawIx.keys.concat([
933
+ ...depositReserveAccountMetas,
934
+ ...borrowReserveAccountMetas,
935
+ ]);
936
+ this.lendingIxs.push(repayAndWithdrawIx);
937
+ }
938
+ addDepositAndWithdrawV2Ixs(withdrawCollateralAmount) {
939
+ this.lendingIxsLabels.push(`depositAndWithdrawV2(depositReserve=${this.reserve.address})(withdrawReserve=${this.outflowReserve.address})(obligation=${this.getObligationPda()})`);
940
+ const depositReservesList = this.getAdditionalDepositReservesList();
941
+ const depositReserveAccountMetas = depositReservesList.map((reserve) => {
942
+ return { pubkey: reserve, isSigner: false, isWritable: true };
943
+ });
944
+ const borrowReserveAccountMetas = this.borrowReserves.map((reserve) => {
945
+ return { pubkey: reserve, isSigner: false, isWritable: true };
946
+ });
947
+ if (!this.outflowAmount) {
948
+ throw new Error(`outflowAmount not set`);
949
+ }
950
+ if (!this.outflowReserve) {
951
+ throw new Error(`outflowReserve not set`);
952
+ }
953
+ if (!this.additionalTokenAccountAddress) {
954
+ throw new Error(`additionalTokenAccountAddress not set`);
955
+ }
956
+ const depositFarmsAccounts = this.reserve.state.farmCollateral.equals(web3_js_1.PublicKey.default)
957
+ ? {
958
+ obligationFarmUserState: this.kaminoMarket.programId,
959
+ reserveFarmState: this.kaminoMarket.programId,
960
+ }
961
+ : {
962
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
963
+ reserveFarmState: this.reserve.state.farmCollateral,
964
+ };
965
+ const withdrawFarmsAccounts = this.outflowReserve.state.farmCollateral.equals(web3_js_1.PublicKey.default)
966
+ ? {
967
+ obligationFarmUserState: this.kaminoMarket.programId,
968
+ reserveFarmState: this.kaminoMarket.programId,
969
+ }
970
+ : {
971
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
972
+ reserveFarmState: this.outflowReserve.state.farmCollateral,
973
+ };
974
+ const depositAndWithdrawIx = (0, instructions_1.depositAndWithdraw)({
975
+ liquidityAmount: this.amount,
976
+ withdrawCollateralAmount,
977
+ }, {
978
+ depositAccounts: {
979
+ owner: this.owner,
980
+ obligation: this.getObligationPda(),
981
+ lendingMarket: this.kaminoMarket.getAddress(),
982
+ lendingMarketAuthority: this.kaminoMarket.getLendingMarketAuthority(),
983
+ reserve: this.reserve.address,
984
+ reserveLiquidityMint: this.reserve.getLiquidityMint(),
985
+ reserveLiquiditySupply: this.reserve.state.liquidity.supplyVault,
986
+ reserveCollateralMint: this.reserve.getCTokenMint(),
987
+ reserveDestinationDepositCollateral: this.reserve.state.collateral.supplyVault, // destinationCollateral
988
+ userSourceLiquidity: this.userTokenAccountAddress,
989
+ placeholderUserDestinationCollateral: this.kaminoMarket.programId,
990
+ collateralTokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
991
+ liquidityTokenProgram: this.reserve.getLiquidityTokenProgram(),
992
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
993
+ },
994
+ withdrawAccounts: {
995
+ owner: this.owner,
996
+ obligation: this.getObligationPda(),
997
+ lendingMarket: this.kaminoMarket.getAddress(),
998
+ lendingMarketAuthority: this.kaminoMarket.getLendingMarketAuthority(),
999
+ withdrawReserve: this.outflowReserve.address,
1000
+ reserveLiquidityMint: this.outflowReserve.getLiquidityMint(),
1001
+ reserveCollateralMint: this.outflowReserve.getCTokenMint(),
1002
+ reserveLiquiditySupply: this.outflowReserve.state.liquidity.supplyVault,
1003
+ reserveSourceCollateral: this.outflowReserve.state.collateral.supplyVault,
1004
+ userDestinationLiquidity: this.additionalTokenAccountAddress,
1005
+ placeholderUserDestinationCollateral: this.kaminoMarket.programId,
1006
+ collateralTokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
1007
+ liquidityTokenProgram: this.outflowReserve.getLiquidityTokenProgram(),
1008
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
1009
+ },
1010
+ depositFarmsAccounts,
1011
+ withdrawFarmsAccounts,
1012
+ farmsProgram: farms_sdk_1.farmsId,
1013
+ }, this.kaminoMarket.programId);
1014
+ depositAndWithdrawIx.keys = depositAndWithdrawIx.keys.concat([
1015
+ ...depositReserveAccountMetas,
1016
+ ...borrowReserveAccountMetas,
1017
+ ]);
1018
+ this.lendingIxs.push(depositAndWithdrawIx);
1019
+ }
831
1020
  async addDepositAndBorrowIx() {
832
1021
  this.lendingIxsLabels.push(`depositReserveLiquidityAndObligationCollateral`);
833
1022
  this.lendingIxsLabels.push(`borrowObligationLiquidity`);
@@ -891,7 +1080,7 @@ class KaminoAction {
891
1080
  reserveFarmState: this.kaminoMarket.programId,
892
1081
  }
893
1082
  : {
894
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
1083
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
895
1084
  reserveFarmState: this.reserve.state.farmCollateral,
896
1085
  };
897
1086
  this.lendingIxsLabels.push(`depositReserveLiquidityAndObligationCollateralV2`);
@@ -940,7 +1129,7 @@ class KaminoAction {
940
1129
  reserveFarmState: this.kaminoMarket.programId,
941
1130
  }
942
1131
  : {
943
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.outflowReserve.state.farmDebt)[0],
1132
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmDebt, this.getObligationPda()),
944
1133
  reserveFarmState: this.outflowReserve.state.farmDebt,
945
1134
  };
946
1135
  const borrowIx = (0, instructions_1.borrowObligationLiquidityV2)({
@@ -1029,7 +1218,7 @@ class KaminoAction {
1029
1218
  reserveFarmState: this.kaminoMarket.programId,
1030
1219
  }
1031
1220
  : {
1032
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
1221
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
1033
1222
  reserveFarmState: this.reserve.state.farmDebt,
1034
1223
  };
1035
1224
  const repayIx = (0, instructions_1.repayObligationLiquidityV2)({
@@ -1067,7 +1256,7 @@ class KaminoAction {
1067
1256
  reserveFarmState: this.kaminoMarket.programId,
1068
1257
  }
1069
1258
  : {
1070
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.outflowReserve.state.farmCollateral)[0],
1259
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
1071
1260
  reserveFarmState: this.outflowReserve.state.farmCollateral,
1072
1261
  };
1073
1262
  this.lendingIxs.push((0, instructions_1.withdrawObligationCollateralAndRedeemReserveCollateralV2)({
@@ -1093,7 +1282,7 @@ class KaminoAction {
1093
1282
  farmsProgram: farms_sdk_1.farmsId,
1094
1283
  }, this.kaminoMarket.programId));
1095
1284
  }
1096
- async addLiquidateIx(maxAllowedLtvOverridePercent = 0) {
1285
+ addLiquidateIx(maxAllowedLtvOverridePercent = 0) {
1097
1286
  this.lendingIxsLabels.push(`liquidateObligationAndRedeemReserveCollateral`);
1098
1287
  if (!this.outflowReserve) {
1099
1288
  throw Error(`Withdraw reserve during liquidation is not defined`);
@@ -1156,7 +1345,7 @@ class KaminoAction {
1156
1345
  reserveFarmState: this.kaminoMarket.programId,
1157
1346
  }
1158
1347
  : {
1159
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.outflowReserve.state.farmCollateral)[0],
1348
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
1160
1349
  reserveFarmState: this.outflowReserve.state.farmCollateral,
1161
1350
  };
1162
1351
  const debtFarmsAccounts = this.reserve.state.farmDebt.equals(web3_js_1.PublicKey.default)
@@ -1165,7 +1354,7 @@ class KaminoAction {
1165
1354
  reserveFarmState: this.kaminoMarket.programId,
1166
1355
  }
1167
1356
  : {
1168
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
1357
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
1169
1358
  reserveFarmState: this.reserve.state.farmDebt,
1170
1359
  };
1171
1360
  const liquidateIx = (0, instructions_1.liquidateObligationAndRedeemReserveCollateralV2)({
@@ -1233,7 +1422,9 @@ class KaminoAction {
1233
1422
  'repay',
1234
1423
  'depositAndBorrow',
1235
1424
  'repayAndWithdraw',
1425
+ 'repayAndWithdrawV2',
1236
1426
  'refreshObligation',
1427
+ 'depositAndWithdraw',
1237
1428
  ].includes(action)) {
1238
1429
  // The support ixns in order are:
1239
1430
  // 0. Init obligation ixn
@@ -1248,11 +1439,14 @@ class KaminoAction {
1248
1439
  // 7. Ixn to refresh the `debt` farm of the obligation
1249
1440
  // 8. Ixn to refresh the `collateral` farm of the obligation
1250
1441
  let currentReserves = [];
1251
- if (action === 'liquidate' || action === 'depositAndBorrow' || action === 'repayAndWithdraw') {
1442
+ if (action === 'liquidate' ||
1443
+ action === 'depositAndBorrow' ||
1444
+ action === 'repayAndWithdraw' ||
1445
+ action === 'repayAndWithdrawV2') {
1252
1446
  if (!this.outflowReserve) {
1253
1447
  throw new Error('outflowReserve is undefined');
1254
1448
  }
1255
- if (action === 'depositAndBorrow' || action === 'repayAndWithdraw') {
1449
+ if (action === 'depositAndBorrow' || action === 'repayAndWithdraw' || action === 'repayAndWithdrawV2') {
1256
1450
  currentReserves = [this.reserve, this.outflowReserve];
1257
1451
  if (action === 'depositAndBorrow') {
1258
1452
  if (this.obligation) {
@@ -1290,13 +1484,17 @@ class KaminoAction {
1290
1484
  else if (action === 'depositAndBorrow' ||
1291
1485
  action === 'depositCollateral' ||
1292
1486
  action === 'withdraw' ||
1293
- action === 'deposit') {
1487
+ action === 'deposit' ||
1488
+ action === 'depositAndWithdraw') {
1294
1489
  await this.addInitObligationForFarm(this.reserve, types_1.ReserveFarmKind.Collateral, addAsSupportIx);
1295
- if (this.outflowReserve) {
1490
+ if (this.outflowReserve && action !== 'depositAndWithdraw') {
1296
1491
  await this.addInitObligationForFarm(this.outflowReserve, types_1.ReserveFarmKind.Debt, addAsSupportIx);
1297
1492
  }
1298
1493
  }
1299
- else if (action === 'repayAndWithdraw' || action === 'borrow' || action === 'repay') {
1494
+ else if (action === 'repayAndWithdraw' ||
1495
+ action === 'borrow' ||
1496
+ action === 'repay' ||
1497
+ action === 'repayAndWithdrawV2') {
1300
1498
  // todo - probably don't need to add both debt and collateral for everything here
1301
1499
  await this.addInitObligationForFarm(this.reserve, types_1.ReserveFarmKind.Debt, addAsSupportIx);
1302
1500
  if (this.outflowReserve) {
@@ -1327,7 +1525,7 @@ class KaminoAction {
1327
1525
  this.addRefreshObligationIx(addAsSupportIx);
1328
1526
  }
1329
1527
  if (requestElevationGroup) {
1330
- if (action === 'repay') {
1528
+ if (action === 'repay' || action === 'repayAndWithdrawV2') {
1331
1529
  const repayObligationLiquidity = this.obligation.borrows.get(this.reserve.address);
1332
1530
  if (!repayObligationLiquidity) {
1333
1531
  throw new Error(`Could not find debt reserve ${this.reserve.address} in obligation`);
@@ -1631,7 +1829,7 @@ class KaminoAction {
1631
1829
  farms.push([
1632
1830
  types_1.ReserveFarmKind.Collateral,
1633
1831
  kaminoReserve.state.farmCollateral,
1634
- (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), kaminoReserve.state.farmCollateral)[0],
1832
+ (0, utils_1.obligationFarmStatePda)(kaminoReserve.state.farmCollateral, this.getObligationPda()),
1635
1833
  kaminoReserve,
1636
1834
  ]);
1637
1835
  }
@@ -1639,7 +1837,7 @@ class KaminoAction {
1639
1837
  farms.push([
1640
1838
  types_1.ReserveFarmKind.Debt,
1641
1839
  kaminoReserve.state.farmDebt,
1642
- (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), kaminoReserve.state.farmDebt)[0],
1840
+ (0, utils_1.obligationFarmStatePda)(kaminoReserve.state.farmDebt, this.getObligationPda()),
1643
1841
  kaminoReserve,
1644
1842
  ]);
1645
1843
  }
@@ -1689,17 +1887,17 @@ class KaminoAction {
1689
1887
  async addInitObligationForFarm(reserve, mode, addAsSupportIx = 'setup') {
1690
1888
  const farms = [];
1691
1889
  if (mode === types_1.ReserveFarmKind.Collateral && (0, utils_1.isNotNullPubkey)(reserve.state.farmCollateral)) {
1692
- const userPda = (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), reserve.state.farmCollateral)[0];
1693
- const account = await this.kaminoMarket.getConnection().getAccountInfo(userPda);
1890
+ const pda = (0, utils_1.obligationFarmStatePda)(reserve.state.farmCollateral, this.getObligationPda());
1891
+ const account = await this.kaminoMarket.getConnection().getAccountInfo(pda);
1694
1892
  if (!account) {
1695
- farms.push([types_1.ReserveFarmKind.Collateral.discriminator, reserve.state.farmCollateral, userPda]);
1893
+ farms.push([types_1.ReserveFarmKind.Collateral.discriminator, reserve.state.farmCollateral, pda]);
1696
1894
  }
1697
1895
  }
1698
1896
  if (mode === types_1.ReserveFarmKind.Debt && (0, utils_1.isNotNullPubkey)(reserve.state.farmDebt)) {
1699
- const userPda = (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), reserve.state.farmDebt)[0];
1700
- const account = await this.kaminoMarket.getConnection().getAccountInfo(userPda);
1897
+ const pda = (0, utils_1.obligationFarmStatePda)(reserve.state.farmDebt, this.getObligationPda());
1898
+ const account = await this.kaminoMarket.getConnection().getAccountInfo(pda);
1701
1899
  if (!account) {
1702
- farms.push([types_1.ReserveFarmKind.Debt.discriminator, reserve.state.farmDebt, userPda]);
1900
+ farms.push([types_1.ReserveFarmKind.Debt.discriminator, reserve.state.farmDebt, pda]);
1703
1901
  }
1704
1902
  }
1705
1903
  farms.forEach((arg) => {
@@ -1728,7 +1926,7 @@ class KaminoAction {
1728
1926
  }
1729
1927
  });
1730
1928
  }
1731
- async addInitObligationIxs() {
1929
+ addInitObligationIxs() {
1732
1930
  if (!this.obligation) {
1733
1931
  const obligationPda = this.getObligationPda();
1734
1932
  const [userMetadataAddress, _bump] = (0, utils_1.userMetadataPda)(this.owner, this.kaminoMarket.programId);
@@ -1863,14 +2061,13 @@ class KaminoAction {
1863
2061
  return;
1864
2062
  }
1865
2063
  let safeRepay = new bn_js_1.default(this.amount);
1866
- if (this.obligation && action === 'repay' && this.amount.eq(new bn_js_1.default(utils_1.U64_MAX))) {
2064
+ if (this.obligation && (action === 'repay' || action === 'repayAndWithdrawV2') && this.amount.eq(new bn_js_1.default(utils_1.U64_MAX))) {
1867
2065
  const borrow = this.obligation.state.borrows.find((borrow) => borrow.borrowReserve.toString() === this.reserve.address.toString());
1868
2066
  if (!borrow) {
1869
2067
  throw Error(`Unable to find obligation borrow to repay for ${this.obligation.state.owner.toBase58()}`);
1870
2068
  }
1871
2069
  const cumulativeBorrowRateObligation = obligation_1.KaminoObligation.getCumulativeBorrowRate(borrow);
1872
2070
  const cumulativeBorrowRateReserve = this.reserve.getEstimatedCumulativeBorrowRate(this.currentSlot, this.kaminoMarket.state.referralFeeBps);
1873
- // TODO: shouldn't this calc be added to all other stuff as well?
1874
2071
  safeRepay = new bn_js_1.default(Math.floor(obligation_1.KaminoObligation.getBorrowAmount(borrow)
1875
2072
  .mul(cumulativeBorrowRateReserve)
1876
2073
  .div(cumulativeBorrowRateObligation)
@@ -1889,6 +2086,7 @@ class KaminoAction {
1889
2086
  // Add rent exemption lamports for WSOL accounts that need to be pre-funded for inflow/send transactions
1890
2087
  const sendAction = action === 'deposit' ||
1891
2088
  action === 'repay' ||
2089
+ action === 'repayAndWithdrawV2' ||
1892
2090
  action === 'mint' ||
1893
2091
  (action === 'liquidate' && this.secondaryMint?.equals(spl_token_1.NATIVE_MINT)); // only sync WSOL amount if liquidator repays SOL which is secondaryMint
1894
2092
  const transferLamportsIx = web3_js_1.SystemProgram.transfer({
@@ -1953,7 +2151,7 @@ class KaminoAction {
1953
2151
  primaryMint = inflowTokenMint;
1954
2152
  secondaryMint = outflowTokenMint;
1955
2153
  }
1956
- else if (action === 'repayAndWithdraw') {
2154
+ else if (action === 'repayAndWithdraw' || action === 'repayAndWithdrawV2' || action === 'depositAndWithdraw') {
1957
2155
  primaryMint = inflowTokenMint;
1958
2156
  secondaryMint = outflowTokenMint;
1959
2157
  userTokenAccountAddress = userInflowTokenAccountAddress;