@kamino-finance/klend-sdk 5.11.0 → 5.11.2-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 (78) 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 +245 -29
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/obligation.d.ts +1 -1
  6. package/dist/classes/obligation.d.ts.map +1 -1
  7. package/dist/classes/obligation.js +1 -1
  8. package/dist/classes/obligation.js.map +1 -1
  9. package/dist/classes/vault.d.ts +1 -0
  10. package/dist/classes/vault.d.ts.map +1 -1
  11. package/dist/classes/vault.js +13 -10
  12. package/dist/classes/vault.js.map +1 -1
  13. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +3 -0
  14. package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
  15. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +7 -1
  16. package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
  17. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +25 -1
  18. package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
  19. package/dist/idl_codegen_kamino_vault/errors/custom.js +43 -1
  20. package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
  21. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +1 -0
  22. package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
  23. package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
  24. package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
  25. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -1
  26. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
  27. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
  28. package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
  29. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +13 -0
  30. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
  31. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +25 -1
  32. package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
  33. package/dist/idl_codegen_kamino_vault/types/index.d.ts +2 -2
  34. package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
  35. package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
  36. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
  37. package/dist/lending_operations/repay_with_collateral_calcs.js +9 -5
  38. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  39. package/dist/lending_operations/repay_with_collateral_operations.d.ts +5 -0
  40. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  41. package/dist/lending_operations/repay_with_collateral_operations.js +26 -1
  42. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  43. package/dist/utils/constants.d.ts +1 -0
  44. package/dist/utils/constants.d.ts.map +1 -1
  45. package/dist/utils/constants.js +2 -1
  46. package/dist/utils/constants.js.map +1 -1
  47. package/dist/utils/lookupTable.d.ts +27 -0
  48. package/dist/utils/lookupTable.d.ts.map +1 -1
  49. package/dist/utils/lookupTable.js +58 -0
  50. package/dist/utils/lookupTable.js.map +1 -1
  51. package/dist/utils/seeds.d.ts +11 -1
  52. package/dist/utils/seeds.d.ts.map +1 -1
  53. package/dist/utils/seeds.js +13 -3
  54. package/dist/utils/seeds.js.map +1 -1
  55. package/dist/utils/userMetadata.js +6 -6
  56. package/dist/utils/userMetadata.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/classes/action.ts +378 -49
  59. package/src/classes/obligation.ts +1 -1
  60. package/src/classes/vault.ts +10 -9
  61. package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +9 -1
  62. package/src/idl_codegen_kamino_vault/errors/custom.ts +42 -0
  63. package/src/idl_codegen_kamino_vault/instructions/initVault.ts +2 -0
  64. package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +2 -2
  65. package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +30 -0
  66. package/src/idl_codegen_kamino_vault/types/index.ts +2 -0
  67. package/src/idl_kamino_vault.json +30 -3
  68. package/src/lending_operations/repay_with_collateral_calcs.ts +14 -5
  69. package/src/lending_operations/repay_with_collateral_operations.ts +63 -20
  70. package/src/utils/constants.ts +1 -0
  71. package/src/utils/lookupTable.ts +62 -0
  72. package/src/utils/seeds.ts +14 -4
  73. package/src/utils/userMetadata.ts +14 -14
  74. package/dist/classes/lut_utils.d.ts +0 -29
  75. package/dist/classes/lut_utils.d.ts.map +0 -1
  76. package/dist/classes/lut_utils.js +0 -62
  77. package/dist/classes/lut_utils.js.map +0 -1
  78. package/src/classes/lut_utils.ts +0 -63
@@ -4,7 +4,7 @@ import { ObligationType, ScopeRefresh } from '../utils';
4
4
  import { KaminoMarket } from './market';
5
5
  import { KaminoObligation } from './obligation';
6
6
  import { KaminoReserve } from './reserve';
7
- export type ActionType = 'deposit' | 'borrow' | 'withdraw' | 'repay' | 'mint' | 'redeem' | 'depositCollateral' | 'liquidate' | 'depositAndBorrow' | 'repayAndWithdraw' | 'refreshObligation' | 'requestElevationGroup' | 'withdrawReferrerFees';
7
+ export type ActionType = 'deposit' | 'borrow' | 'withdraw' | 'repay' | 'mint' | 'redeem' | 'depositCollateral' | 'liquidate' | 'depositAndBorrow' | 'repayAndWithdraw' | 'refreshObligation' | 'requestElevationGroup' | 'withdrawReferrerFees' | 'repayAndWithdrawV2' | 'depositAndWithdraw';
8
8
  export type AuxiliaryIx = 'setup' | 'inBetween' | 'cleanup';
9
9
  export declare class KaminoAction {
10
10
  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, scopeRefresh?: ScopeRefresh): Promise<KaminoAction>;
82
+ static buildDepositAndWithdrawV2Txns(kaminoMarket: KaminoMarket, depositAmount: string | BN, depositMint: PublicKey, withdrawAmount: string | BN, withdrawMint: PublicKey, payer: PublicKey, currentSlot: number, obligation: KaminoObligation | ObligationType, 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
+ referrer?: PublicKey, scopeRefresh?: ScopeRefresh): Promise<KaminoAction>;
86
+ static buildRepayAndWithdrawV2Txns(kaminoMarket: KaminoMarket, repayAmount: string | BN, repayMint: PublicKey, withdrawAmount: string | BN, withdrawMint: PublicKey, payer: PublicKey, currentSlot: number, obligation: KaminoObligation | ObligationType, 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, scopeRefresh?: ScopeRefresh): 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, 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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"}
@@ -371,6 +371,56 @@ class KaminoAction {
371
371
  axn.addRefreshFarmsCleanupTxnIxsToCleanupIxs();
372
372
  return axn;
373
373
  }
374
+ static async buildDepositAndWithdrawV2Txns(kaminoMarket, depositAmount, depositMint, withdrawAmount, withdrawMint, payer, currentSlot, obligation, extraComputeBudget = 1_000_000, // if > 0 then adds the ixn
375
+ includeAtaIxns = true, // if true it includes create and close wsol and token atas,
376
+ requestElevationGroup = false, includeUserMetadata = true, // if true it includes user metadata,
377
+ referrer = web3_js_1.PublicKey.default, scopeRefresh = { includeScopeRefresh: false, scopeFeed: 'hubble' }) {
378
+ const axn = await KaminoAction.initializeMultiTokenAction(kaminoMarket, 'depositAndWithdraw', depositAmount, depositMint, withdrawMint, payer, payer, obligation, withdrawAmount, referrer, currentSlot);
379
+ const addInitObligationForFarm = true;
380
+ const twoTokenAction = true;
381
+ if (extraComputeBudget > 0) {
382
+ axn.addComputeBudgetIxn(extraComputeBudget);
383
+ }
384
+ const allReserves = new utils_1.PublicKeySet([
385
+ ...axn.depositReserves,
386
+ ...axn.borrowReserves,
387
+ axn.reserve.address,
388
+ axn.outflowReserve.address,
389
+ ]).toArray();
390
+ const tokenIds = axn.getTokenIdsForScopeRefresh(kaminoMarket, allReserves);
391
+ if (tokenIds.length > 0 && scopeRefresh.includeScopeRefresh) {
392
+ await axn.addScopeRefreshIxs(tokenIds, scopeRefresh.scopeFeed);
393
+ }
394
+ await axn.addSupportIxs('depositAndWithdraw', includeAtaIxns, requestElevationGroup, includeUserMetadata, addInitObligationForFarm, true, twoTokenAction);
395
+ const withdrawCollateralAmount = axn.getWithdrawCollateralAmount(axn.outflowReserve, axn.outflowAmount);
396
+ axn.addDepositAndWithdrawV2Ixs(withdrawCollateralAmount);
397
+ return axn;
398
+ }
399
+ static async buildRepayAndWithdrawV2Txns(kaminoMarket, repayAmount, repayMint, withdrawAmount, withdrawMint, payer, currentSlot, obligation, extraComputeBudget = 1_000_000, // if > 0 then adds the ixn
400
+ includeAtaIxns = true, // if true it includes create and close wsol and token atas,
401
+ requestElevationGroup = false, includeUserMetadata = true, // if true it includes user metadata,
402
+ createLookupTable = true, referrer = web3_js_1.PublicKey.default, scopeRefresh = { includeScopeRefresh: false, scopeFeed: 'hubble' }) {
403
+ const axn = await KaminoAction.initializeMultiTokenAction(kaminoMarket, 'repayAndWithdrawV2', repayAmount, repayMint, withdrawMint, payer, payer, obligation, withdrawAmount, referrer, currentSlot);
404
+ const addInitObligationForFarm = true;
405
+ const twoTokenAction = true;
406
+ if (extraComputeBudget > 0) {
407
+ axn.addComputeBudgetIxn(extraComputeBudget);
408
+ }
409
+ const allReserves = new utils_1.PublicKeySet([
410
+ ...axn.depositReserves,
411
+ ...axn.borrowReserves,
412
+ axn.reserve.address,
413
+ axn.outflowReserve.address,
414
+ ]).toArray();
415
+ const tokenIds = axn.getTokenIdsForScopeRefresh(kaminoMarket, allReserves);
416
+ if (tokenIds.length > 0 && scopeRefresh.includeScopeRefresh) {
417
+ await axn.addScopeRefreshIxs(tokenIds, scopeRefresh.scopeFeed);
418
+ }
419
+ await axn.addSupportIxs('repayAndWithdrawV2', includeAtaIxns, requestElevationGroup, includeUserMetadata, addInitObligationForFarm, true, createLookupTable, twoTokenAction);
420
+ const withdrawCollateralAmount = axn.getWithdrawCollateralAmount(axn.outflowReserve, axn.outflowAmount);
421
+ axn.addRepayAndWithdrawV2Ixs(withdrawCollateralAmount);
422
+ return axn;
423
+ }
374
424
  static async buildRepayAndWithdrawTxns(kaminoMarket, repayAmount, repayMint, withdrawAmount, withdrawMint, payer, currentSlot, obligation, useV2Ixs, extraComputeBudget = 1_000_000, // if > 0 then adds the ixn
375
425
  includeAtaIxns = true, // if true it includes create and close wsol and token atas,
376
426
  requestElevationGroup = false, includeUserMetadata = true, // if true it includes user metadata,
@@ -639,7 +689,7 @@ class KaminoAction {
639
689
  reserveFarmState: lib_1.PROGRAM_ID,
640
690
  }
641
691
  : {
642
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
692
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
643
693
  reserveFarmState: this.reserve.state.farmCollateral,
644
694
  };
645
695
  this.lendingIxsLabels.push(`depositReserveLiquidityAndObligationCollateralV2`);
@@ -689,7 +739,7 @@ class KaminoAction {
689
739
  reserveFarmState: lib_1.PROGRAM_ID,
690
740
  }
691
741
  : {
692
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
742
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
693
743
  reserveFarmState: this.reserve.state.farmCollateral,
694
744
  };
695
745
  this.lendingIxsLabels.push(`depositObligationCollateralV2`);
@@ -752,7 +802,7 @@ class KaminoAction {
752
802
  reserveFarmState: lib_1.PROGRAM_ID,
753
803
  }
754
804
  : {
755
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
805
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
756
806
  reserveFarmState: this.reserve.state.farmDebt,
757
807
  };
758
808
  const borrowIx = (0, instructions_1.borrowObligationLiquidityV2)({
@@ -810,7 +860,7 @@ class KaminoAction {
810
860
  reserveFarmState: lib_1.PROGRAM_ID,
811
861
  }
812
862
  : {
813
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
863
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
814
864
  reserveFarmState: this.reserve.state.farmCollateral,
815
865
  };
816
866
  this.lendingIxsLabels.push(`withdrawObligationCollateralAndRedeemReserveCollateralV2`);
@@ -870,7 +920,7 @@ class KaminoAction {
870
920
  reserveFarmState: lib_1.PROGRAM_ID,
871
921
  }
872
922
  : {
873
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
923
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
874
924
  reserveFarmState: this.reserve.state.farmDebt,
875
925
  };
876
926
  const depositReserveAccountMetas = depositReservesList.map((reserve) => {
@@ -898,6 +948,165 @@ class KaminoAction {
898
948
  this.obligation.state.elevationGroup > 0 ? repayIx.keys.concat([...depositReserveAccountMetas]) : repayIx.keys;
899
949
  this.lendingIxs.push(repayIx);
900
950
  }
951
+ addRepayAndWithdrawV2Ixs(withdrawCollateralAmount) {
952
+ this.lendingIxsLabels.push(`repayAndWithdrawAndRedeem(repayReserve=${this.reserve.address})(withdrawReserve=${this.outflowReserve.address})(obligation=${this.getObligationPda()})`);
953
+ const depositReservesList = this.getAdditionalDepositReservesList();
954
+ const depositReserveAccountMetas = depositReservesList.map((reserve) => {
955
+ return { pubkey: reserve, isSigner: false, isWritable: true };
956
+ });
957
+ const borrowReserveAccountMetas = this.borrowReserves.map((reserve) => {
958
+ return { pubkey: reserve, isSigner: false, isWritable: true };
959
+ });
960
+ if (!this.outflowAmount) {
961
+ throw new Error(`outflowAmount not set`);
962
+ }
963
+ if (!this.outflowReserve) {
964
+ throw new Error(`outflowReserve not set`);
965
+ }
966
+ if (!this.additionalTokenAccountAddress) {
967
+ throw new Error(`additionalTokenAccountAddress not set`);
968
+ }
969
+ const collateralFarmsAccounts = this.outflowReserve.state.farmCollateral.equals(web3_js_1.PublicKey.default)
970
+ ? {
971
+ obligationFarmUserState: this.kaminoMarket.programId,
972
+ reserveFarmState: this.kaminoMarket.programId,
973
+ }
974
+ : {
975
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
976
+ reserveFarmState: this.outflowReserve.state.farmCollateral,
977
+ };
978
+ const debtFarmsAccounts = this.reserve.state.farmDebt.equals(web3_js_1.PublicKey.default)
979
+ ? {
980
+ obligationFarmUserState: this.kaminoMarket.programId,
981
+ reserveFarmState: this.kaminoMarket.programId,
982
+ }
983
+ : {
984
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
985
+ reserveFarmState: this.reserve.state.farmDebt,
986
+ };
987
+ const repayAndWithdrawIx = (0, instructions_1.repayAndWithdrawAndRedeem)({
988
+ repayAmount: this.amount,
989
+ withdrawCollateralAmount,
990
+ }, {
991
+ repayAccounts: {
992
+ owner: this.owner,
993
+ obligation: this.getObligationPda(),
994
+ lendingMarket: this.kaminoMarket.getAddress(),
995
+ repayReserve: this.reserve.address,
996
+ reserveLiquidityMint: this.reserve.getLiquidityMint(),
997
+ userSourceLiquidity: this.userTokenAccountAddress,
998
+ reserveDestinationLiquidity: this.reserve.state.liquidity.supplyVault,
999
+ tokenProgram: this.reserve.getLiquidityTokenProgram(),
1000
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
1001
+ },
1002
+ withdrawAccounts: {
1003
+ owner: this.owner,
1004
+ obligation: this.getObligationPda(),
1005
+ lendingMarket: this.kaminoMarket.getAddress(),
1006
+ lendingMarketAuthority: this.kaminoMarket.getLendingMarketAuthority(),
1007
+ withdrawReserve: this.outflowReserve.address,
1008
+ reserveLiquidityMint: this.outflowReserve.getLiquidityMint(),
1009
+ reserveCollateralMint: this.outflowReserve.getCTokenMint(),
1010
+ reserveLiquiditySupply: this.outflowReserve.state.liquidity.supplyVault,
1011
+ reserveSourceCollateral: this.outflowReserve.state.collateral.supplyVault,
1012
+ userDestinationLiquidity: this.additionalTokenAccountAddress,
1013
+ placeholderUserDestinationCollateral: this.kaminoMarket.programId,
1014
+ collateralTokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
1015
+ liquidityTokenProgram: this.outflowReserve.getLiquidityTokenProgram(),
1016
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
1017
+ },
1018
+ collateralFarmsAccounts,
1019
+ debtFarmsAccounts,
1020
+ farmsProgram: farms_sdk_1.farmsId,
1021
+ }, this.kaminoMarket.programId);
1022
+ repayAndWithdrawIx.keys = repayAndWithdrawIx.keys.concat([
1023
+ ...depositReserveAccountMetas,
1024
+ ...borrowReserveAccountMetas,
1025
+ ]);
1026
+ this.lendingIxs.push(repayAndWithdrawIx);
1027
+ }
1028
+ addDepositAndWithdrawV2Ixs(withdrawCollateralAmount) {
1029
+ this.lendingIxsLabels.push(`depositAndWithdrawV2(depositReserve=${this.reserve.address})(withdrawReserve=${this.outflowReserve.address})(obligation=${this.getObligationPda()})`);
1030
+ const depositReservesList = this.getAdditionalDepositReservesList();
1031
+ const depositReserveAccountMetas = depositReservesList.map((reserve) => {
1032
+ return { pubkey: reserve, isSigner: false, isWritable: true };
1033
+ });
1034
+ const borrowReserveAccountMetas = this.borrowReserves.map((reserve) => {
1035
+ return { pubkey: reserve, isSigner: false, isWritable: true };
1036
+ });
1037
+ if (!this.outflowAmount) {
1038
+ throw new Error(`outflowAmount not set`);
1039
+ }
1040
+ if (!this.outflowReserve) {
1041
+ throw new Error(`outflowReserve not set`);
1042
+ }
1043
+ if (!this.additionalTokenAccountAddress) {
1044
+ throw new Error(`additionalTokenAccountAddress not set`);
1045
+ }
1046
+ const depositFarmsAccounts = this.reserve.state.farmCollateral.equals(web3_js_1.PublicKey.default)
1047
+ ? {
1048
+ obligationFarmUserState: this.kaminoMarket.programId,
1049
+ reserveFarmState: this.kaminoMarket.programId,
1050
+ }
1051
+ : {
1052
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
1053
+ reserveFarmState: this.reserve.state.farmCollateral,
1054
+ };
1055
+ const withdrawFarmsAccounts = this.outflowReserve.state.farmCollateral.equals(web3_js_1.PublicKey.default)
1056
+ ? {
1057
+ obligationFarmUserState: this.kaminoMarket.programId,
1058
+ reserveFarmState: this.kaminoMarket.programId,
1059
+ }
1060
+ : {
1061
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
1062
+ reserveFarmState: this.outflowReserve.state.farmCollateral,
1063
+ };
1064
+ const depositAndWithdrawIx = (0, instructions_1.depositAndWithdraw)({
1065
+ liquidityAmount: this.amount,
1066
+ withdrawCollateralAmount,
1067
+ }, {
1068
+ depositAccounts: {
1069
+ owner: this.owner,
1070
+ obligation: this.getObligationPda(),
1071
+ lendingMarket: this.kaminoMarket.getAddress(),
1072
+ lendingMarketAuthority: this.kaminoMarket.getLendingMarketAuthority(),
1073
+ reserve: this.reserve.address,
1074
+ reserveLiquidityMint: this.reserve.getLiquidityMint(),
1075
+ reserveLiquiditySupply: this.reserve.state.liquidity.supplyVault,
1076
+ reserveCollateralMint: this.reserve.getCTokenMint(),
1077
+ reserveDestinationDepositCollateral: this.reserve.state.collateral.supplyVault, // destinationCollateral
1078
+ userSourceLiquidity: this.userTokenAccountAddress,
1079
+ placeholderUserDestinationCollateral: this.kaminoMarket.programId,
1080
+ collateralTokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
1081
+ liquidityTokenProgram: this.reserve.getLiquidityTokenProgram(),
1082
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
1083
+ },
1084
+ withdrawAccounts: {
1085
+ owner: this.owner,
1086
+ obligation: this.getObligationPda(),
1087
+ lendingMarket: this.kaminoMarket.getAddress(),
1088
+ lendingMarketAuthority: this.kaminoMarket.getLendingMarketAuthority(),
1089
+ withdrawReserve: this.outflowReserve.address,
1090
+ reserveLiquidityMint: this.outflowReserve.getLiquidityMint(),
1091
+ reserveCollateralMint: this.outflowReserve.getCTokenMint(),
1092
+ reserveLiquiditySupply: this.outflowReserve.state.liquidity.supplyVault,
1093
+ reserveSourceCollateral: this.outflowReserve.state.collateral.supplyVault,
1094
+ userDestinationLiquidity: this.additionalTokenAccountAddress,
1095
+ placeholderUserDestinationCollateral: this.kaminoMarket.programId,
1096
+ collateralTokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
1097
+ liquidityTokenProgram: this.outflowReserve.getLiquidityTokenProgram(),
1098
+ instructionSysvarAccount: web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY,
1099
+ },
1100
+ depositFarmsAccounts,
1101
+ withdrawFarmsAccounts,
1102
+ farmsProgram: farms_sdk_1.farmsId,
1103
+ }, this.kaminoMarket.programId);
1104
+ depositAndWithdrawIx.keys = depositAndWithdrawIx.keys.concat([
1105
+ ...depositReserveAccountMetas,
1106
+ ...borrowReserveAccountMetas,
1107
+ ]);
1108
+ this.lendingIxs.push(depositAndWithdrawIx);
1109
+ }
901
1110
  async addDepositAndBorrowIx() {
902
1111
  this.lendingIxsLabels.push(`depositReserveLiquidityAndObligationCollateral`);
903
1112
  this.lendingIxsLabels.push(`borrowObligationLiquidity`);
@@ -961,7 +1170,7 @@ class KaminoAction {
961
1170
  reserveFarmState: lib_1.PROGRAM_ID,
962
1171
  }
963
1172
  : {
964
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmCollateral)[0],
1173
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmCollateral, this.getObligationPda()),
965
1174
  reserveFarmState: this.reserve.state.farmCollateral,
966
1175
  };
967
1176
  this.lendingIxsLabels.push(`depositReserveLiquidityAndObligationCollateralV2`);
@@ -1010,7 +1219,7 @@ class KaminoAction {
1010
1219
  reserveFarmState: lib_1.PROGRAM_ID,
1011
1220
  }
1012
1221
  : {
1013
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.outflowReserve.state.farmDebt)[0],
1222
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmDebt, this.getObligationPda()),
1014
1223
  reserveFarmState: this.outflowReserve.state.farmDebt,
1015
1224
  };
1016
1225
  const borrowIx = (0, instructions_1.borrowObligationLiquidityV2)({
@@ -1099,7 +1308,7 @@ class KaminoAction {
1099
1308
  reserveFarmState: lib_1.PROGRAM_ID,
1100
1309
  }
1101
1310
  : {
1102
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
1311
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
1103
1312
  reserveFarmState: this.reserve.state.farmDebt,
1104
1313
  };
1105
1314
  const repayIx = (0, instructions_1.repayObligationLiquidityV2)({
@@ -1137,7 +1346,7 @@ class KaminoAction {
1137
1346
  reserveFarmState: lib_1.PROGRAM_ID,
1138
1347
  }
1139
1348
  : {
1140
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.outflowReserve.state.farmCollateral)[0],
1349
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
1141
1350
  reserveFarmState: this.outflowReserve.state.farmCollateral,
1142
1351
  };
1143
1352
  this.lendingIxs.push((0, instructions_1.withdrawObligationCollateralAndRedeemReserveCollateralV2)({
@@ -1163,7 +1372,7 @@ class KaminoAction {
1163
1372
  farmsProgram: farms_sdk_1.farmsId,
1164
1373
  }, this.kaminoMarket.programId));
1165
1374
  }
1166
- async addLiquidateIx(maxAllowedLtvOverridePercent = 0) {
1375
+ addLiquidateIx(maxAllowedLtvOverridePercent = 0) {
1167
1376
  this.lendingIxsLabels.push(`liquidateObligationAndRedeemReserveCollateral`);
1168
1377
  if (!this.outflowReserve) {
1169
1378
  throw Error(`Withdraw reserve during liquidation is not defined`);
@@ -1226,7 +1435,7 @@ class KaminoAction {
1226
1435
  reserveFarmState: lib_1.PROGRAM_ID,
1227
1436
  }
1228
1437
  : {
1229
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.outflowReserve.state.farmCollateral)[0],
1438
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.outflowReserve.state.farmCollateral, this.getObligationPda()),
1230
1439
  reserveFarmState: this.outflowReserve.state.farmCollateral,
1231
1440
  };
1232
1441
  const debtFarmsAccounts = this.reserve.state.farmDebt.equals(web3_js_1.PublicKey.default)
@@ -1235,7 +1444,7 @@ class KaminoAction {
1235
1444
  reserveFarmState: lib_1.PROGRAM_ID,
1236
1445
  }
1237
1446
  : {
1238
- obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), this.reserve.state.farmDebt)[0],
1447
+ obligationFarmUserState: (0, utils_1.obligationFarmStatePda)(this.reserve.state.farmDebt, this.getObligationPda()),
1239
1448
  reserveFarmState: this.reserve.state.farmDebt,
1240
1449
  };
1241
1450
  const liquidateIx = (0, instructions_1.liquidateObligationAndRedeemReserveCollateralV2)({
@@ -1303,6 +1512,7 @@ class KaminoAction {
1303
1512
  'repay',
1304
1513
  'depositAndBorrow',
1305
1514
  'repayAndWithdraw',
1515
+ 'repayAndWithdrawV2',
1306
1516
  'refreshObligation',
1307
1517
  ].includes(action)) {
1308
1518
  // The support ixns in order are:
@@ -1318,11 +1528,14 @@ class KaminoAction {
1318
1528
  // 7. Ixn to refresh the `debt` farm of the obligation
1319
1529
  // 8. Ixn to refresh the `collateral` farm of the obligation
1320
1530
  let currentReserves = [];
1321
- if (action === 'liquidate' || action === 'depositAndBorrow' || action === 'repayAndWithdraw') {
1531
+ if (action === 'liquidate' ||
1532
+ action === 'depositAndBorrow' ||
1533
+ action === 'repayAndWithdraw' ||
1534
+ action === 'repayAndWithdrawV2') {
1322
1535
  if (!this.outflowReserve) {
1323
1536
  throw new Error('outflowReserve is undefined');
1324
1537
  }
1325
- if (action === 'depositAndBorrow' || action === 'repayAndWithdraw') {
1538
+ if (action === 'depositAndBorrow' || action === 'repayAndWithdraw' || action === 'repayAndWithdrawV2') {
1326
1539
  currentReserves = [this.reserve, this.outflowReserve];
1327
1540
  if (action === 'depositAndBorrow') {
1328
1541
  if (this.obligation) {
@@ -1366,7 +1579,10 @@ class KaminoAction {
1366
1579
  await this.addInitObligationForFarm(this.outflowReserve, types_1.ReserveFarmKind.Debt, addAsSupportIx);
1367
1580
  }
1368
1581
  }
1369
- else if (action === 'repayAndWithdraw' || action === 'borrow' || action === 'repay') {
1582
+ else if (action === 'repayAndWithdraw' ||
1583
+ action === 'borrow' ||
1584
+ action === 'repay' ||
1585
+ action === 'repayAndWithdrawV2') {
1370
1586
  // todo - probably don't need to add both debt and collateral for everything here
1371
1587
  await this.addInitObligationForFarm(this.reserve, types_1.ReserveFarmKind.Debt, addAsSupportIx);
1372
1588
  if (this.outflowReserve) {
@@ -1397,7 +1613,7 @@ class KaminoAction {
1397
1613
  this.addRefreshObligationIx(addAsSupportIx);
1398
1614
  }
1399
1615
  if (requestElevationGroup) {
1400
- if (action === 'repay') {
1616
+ if (action === 'repay' || action === 'repayAndWithdrawV2') {
1401
1617
  const repayObligationLiquidity = this.obligation.borrows.get(this.reserve.address);
1402
1618
  if (!repayObligationLiquidity) {
1403
1619
  throw new Error(`Could not find debt reserve ${this.reserve.address} in obligation`);
@@ -1541,7 +1757,7 @@ class KaminoAction {
1541
1757
  if (action === 'deposit' && this.outflowReserve) {
1542
1758
  await this.addInitReferrerTokenStateIx(this.outflowReserve);
1543
1759
  }
1544
- await this.addInitObligationIxs();
1760
+ this.addInitObligationIxs();
1545
1761
  }
1546
1762
  await this.addSupportIxsWithoutInitObligation(action, includeAtaIxns, useV2Ixs, 'setup', requestElevationGroup, addInitObligationForFarm, twoTokenAction, overrideElevationGroupRequest);
1547
1763
  }
@@ -1697,7 +1913,7 @@ class KaminoAction {
1697
1913
  farms.push([
1698
1914
  types_1.ReserveFarmKind.Collateral,
1699
1915
  kaminoReserve.state.farmCollateral,
1700
- (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), kaminoReserve.state.farmCollateral)[0],
1916
+ (0, utils_1.obligationFarmStatePda)(kaminoReserve.state.farmCollateral, this.getObligationPda()),
1701
1917
  kaminoReserve,
1702
1918
  ]);
1703
1919
  }
@@ -1705,7 +1921,7 @@ class KaminoAction {
1705
1921
  farms.push([
1706
1922
  types_1.ReserveFarmKind.Debt,
1707
1923
  kaminoReserve.state.farmDebt,
1708
- (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), kaminoReserve.state.farmDebt)[0],
1924
+ (0, utils_1.obligationFarmStatePda)(kaminoReserve.state.farmDebt, this.getObligationPda()),
1709
1925
  kaminoReserve,
1710
1926
  ]);
1711
1927
  }
@@ -1755,17 +1971,17 @@ class KaminoAction {
1755
1971
  async addInitObligationForFarm(reserve, mode, addAsSupportIx = 'setup') {
1756
1972
  const farms = [];
1757
1973
  if (mode === types_1.ReserveFarmKind.Collateral && (0, utils_1.isNotNullPubkey)(reserve.state.farmCollateral)) {
1758
- const userPda = (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), reserve.state.farmCollateral)[0];
1759
- const account = await this.kaminoMarket.getConnection().getAccountInfo(userPda);
1974
+ const pda = (0, utils_1.obligationFarmStatePda)(reserve.state.farmCollateral, this.getObligationPda());
1975
+ const account = await this.kaminoMarket.getConnection().getAccountInfo(pda);
1760
1976
  if (!account) {
1761
- farms.push([types_1.ReserveFarmKind.Collateral.discriminator, reserve.state.farmCollateral, userPda]);
1977
+ farms.push([types_1.ReserveFarmKind.Collateral.discriminator, reserve.state.farmCollateral, pda]);
1762
1978
  }
1763
1979
  }
1764
1980
  if (mode === types_1.ReserveFarmKind.Debt && (0, utils_1.isNotNullPubkey)(reserve.state.farmDebt)) {
1765
- const userPda = (0, utils_1.obligationFarmStatePda)(this.getObligationPda(), reserve.state.farmDebt)[0];
1766
- const account = await this.kaminoMarket.getConnection().getAccountInfo(userPda);
1981
+ const pda = (0, utils_1.obligationFarmStatePda)(reserve.state.farmDebt, this.getObligationPda());
1982
+ const account = await this.kaminoMarket.getConnection().getAccountInfo(pda);
1767
1983
  if (!account) {
1768
- farms.push([types_1.ReserveFarmKind.Debt.discriminator, reserve.state.farmDebt, userPda]);
1984
+ farms.push([types_1.ReserveFarmKind.Debt.discriminator, reserve.state.farmDebt, pda]);
1769
1985
  }
1770
1986
  }
1771
1987
  farms.forEach((arg) => {
@@ -1794,7 +2010,7 @@ class KaminoAction {
1794
2010
  }
1795
2011
  });
1796
2012
  }
1797
- async addInitObligationIxs() {
2013
+ addInitObligationIxs() {
1798
2014
  if (!this.obligation) {
1799
2015
  const obligationPda = this.getObligationPda();
1800
2016
  const [userMetadataAddress, _bump] = (0, utils_1.userMetadataPda)(this.owner, this.kaminoMarket.programId);
@@ -1936,14 +2152,13 @@ class KaminoAction {
1936
2152
  return;
1937
2153
  }
1938
2154
  let safeRepay = new bn_js_1.default(this.amount);
1939
- if (this.obligation && action === 'repay' && this.amount.eq(new bn_js_1.default(utils_1.U64_MAX))) {
2155
+ if (this.obligation && (action === 'repay' || action === 'repayAndWithdrawV2') && this.amount.eq(new bn_js_1.default(utils_1.U64_MAX))) {
1940
2156
  const borrow = this.obligation.state.borrows.find((borrow) => borrow.borrowReserve.toString() === this.reserve.address.toString());
1941
2157
  if (!borrow) {
1942
2158
  throw Error(`Unable to find obligation borrow to repay for ${this.obligation.state.owner.toBase58()}`);
1943
2159
  }
1944
2160
  const cumulativeBorrowRateObligation = obligation_1.KaminoObligation.getCumulativeBorrowRate(borrow);
1945
2161
  const cumulativeBorrowRateReserve = this.reserve.getEstimatedCumulativeBorrowRate(this.currentSlot, this.kaminoMarket.state.referralFeeBps);
1946
- // TODO: shouldn't this calc be added to all other stuff as well?
1947
2162
  safeRepay = new bn_js_1.default(Math.floor(obligation_1.KaminoObligation.getBorrowAmount(borrow)
1948
2163
  .mul(cumulativeBorrowRateReserve)
1949
2164
  .div(cumulativeBorrowRateObligation)
@@ -1962,6 +2177,7 @@ class KaminoAction {
1962
2177
  // Add rent exemption lamports for WSOL accounts that need to be pre-funded for inflow/send transactions
1963
2178
  const sendAction = action === 'deposit' ||
1964
2179
  action === 'repay' ||
2180
+ action === 'repayAndWithdrawV2' ||
1965
2181
  action === 'mint' ||
1966
2182
  (action === 'liquidate' && this.secondaryMint?.equals(spl_token_1.NATIVE_MINT)); // only sync WSOL amount if liquidator repays SOL which is secondaryMint
1967
2183
  const transferLamportsIx = web3_js_1.SystemProgram.transfer({
@@ -2026,7 +2242,7 @@ class KaminoAction {
2026
2242
  primaryMint = inflowTokenMint;
2027
2243
  secondaryMint = outflowTokenMint;
2028
2244
  }
2029
- else if (action === 'repayAndWithdraw') {
2245
+ else if (action === 'repayAndWithdraw' || action === 'repayAndWithdrawV2') {
2030
2246
  primaryMint = inflowTokenMint;
2031
2247
  secondaryMint = outflowTokenMint;
2032
2248
  userTokenAccountAddress = userInflowTokenAccountAddress;