@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.
- package/dist/classes/action.d.ts +12 -2
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +245 -29
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/obligation.d.ts +1 -1
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +1 -1
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/vault.d.ts +1 -0
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +13 -10
- package/dist/classes/vault.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +3 -0
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +7 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +25 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.js +43 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +13 -0
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +25 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js +9 -5
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +5 -0
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +26 -1
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +2 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/lookupTable.d.ts +27 -0
- package/dist/utils/lookupTable.d.ts.map +1 -1
- package/dist/utils/lookupTable.js +58 -0
- package/dist/utils/lookupTable.js.map +1 -1
- package/dist/utils/seeds.d.ts +11 -1
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +13 -3
- package/dist/utils/seeds.js.map +1 -1
- package/dist/utils/userMetadata.js +6 -6
- package/dist/utils/userMetadata.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/action.ts +378 -49
- package/src/classes/obligation.ts +1 -1
- package/src/classes/vault.ts +10 -9
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +9 -1
- package/src/idl_codegen_kamino_vault/errors/custom.ts +42 -0
- package/src/idl_codegen_kamino_vault/instructions/initVault.ts +2 -0
- package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +2 -2
- package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +30 -0
- package/src/idl_codegen_kamino_vault/types/index.ts +2 -0
- package/src/idl_kamino_vault.json +30 -3
- package/src/lending_operations/repay_with_collateral_calcs.ts +14 -5
- package/src/lending_operations/repay_with_collateral_operations.ts +63 -20
- package/src/utils/constants.ts +1 -0
- package/src/utils/lookupTable.ts +62 -0
- package/src/utils/seeds.ts +14 -4
- package/src/utils/userMetadata.ts +14 -14
- package/dist/classes/lut_utils.d.ts +0 -29
- package/dist/classes/lut_utils.d.ts.map +0 -1
- package/dist/classes/lut_utils.js +0 -62
- package/dist/classes/lut_utils.js.map +0 -1
- package/src/classes/lut_utils.ts +0 -63
package/dist/classes/action.d.ts
CHANGED
|
@@ -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):
|
|
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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"}
|
package/dist/classes/action.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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' ||
|
|
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' ||
|
|
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
|
-
|
|
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)(
|
|
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)(
|
|
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
|
|
1759
|
-
const account = await this.kaminoMarket.getConnection().getAccountInfo(
|
|
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,
|
|
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
|
|
1766
|
-
const account = await this.kaminoMarket.getConnection().getAccountInfo(
|
|
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,
|
|
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
|
-
|
|
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;
|