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