@kamino-finance/klend-sdk 5.14.1 → 5.14.3
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/market.d.ts.map +1 -1
- package/dist/classes/market.js +1 -1
- package/dist/classes/market.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +3 -2
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +2 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +13 -9
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.d.ts +1 -1
- package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.js +34 -30
- package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
- package/dist/leverage/operations.d.ts +4 -4
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +91 -55
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/types.d.ts +8 -6
- package/dist/leverage/types.d.ts.map +1 -1
- package/dist/leverage/utils.d.ts.map +1 -1
- package/dist/leverage/utils.js +40 -19
- package/dist/leverage/utils.js.map +1 -1
- package/dist/utils/instruction.d.ts +3 -1
- package/dist/utils/instruction.d.ts.map +1 -1
- package/dist/utils/instruction.js +17 -1
- package/dist/utils/instruction.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js +9 -3
- package/dist/utils/managerTypes.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/market.ts +6 -1
- package/src/client_kamino_manager.ts +6 -2
- package/src/lending_operations/repay_with_collateral_operations.ts +34 -26
- package/src/lending_operations/swap_collateral_operations.ts +43 -36
- package/src/leverage/operations.ts +175 -147
- package/src/leverage/types.ts +8 -6
- package/src/leverage/utils.ts +41 -20
- package/src/utils/instruction.ts +28 -0
- package/src/utils/managerTypes.ts +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/utils/managerTypes.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/utils/managerTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/classes/market.ts
CHANGED
|
@@ -524,8 +524,13 @@ export class KaminoMarket {
|
|
|
524
524
|
getRewardPrice
|
|
525
525
|
);
|
|
526
526
|
}
|
|
527
|
+
|
|
527
528
|
if (isNotNullPubkey(debtFarmAddress)) {
|
|
528
|
-
result.
|
|
529
|
+
result.borrowingRewards = await this.getRewardInfoForFarm(
|
|
530
|
+
debtFarmAddress,
|
|
531
|
+
totalBorrowAmount,
|
|
532
|
+
getRewardPrice
|
|
533
|
+
);
|
|
529
534
|
}
|
|
530
535
|
|
|
531
536
|
return result;
|
|
@@ -321,7 +321,11 @@ async function main() {
|
|
|
321
321
|
.requiredOption('--vault <string>', 'Vault address')
|
|
322
322
|
.requiredOption('--symbol <string>', 'The symbol of the kVault token')
|
|
323
323
|
.requiredOption('--extraName <string>', 'The name of the kVault token, appended to the symbol')
|
|
324
|
-
.
|
|
324
|
+
.requiredOption(
|
|
325
|
+
`--mode <string>`,
|
|
326
|
+
'simulate - to print txn simulation, inspect - to get txn simulation in explorer, execute - execute txn, multisig - to get bs58 txn for multisig usage'
|
|
327
|
+
)
|
|
328
|
+
.action(async ({ vault, symbol, extraName, mode }) => {
|
|
325
329
|
const env = initializeClient(false, false);
|
|
326
330
|
const kVault = new KaminoVault(new PublicKey(vault));
|
|
327
331
|
|
|
@@ -333,7 +337,7 @@ async function main() {
|
|
|
333
337
|
);
|
|
334
338
|
const ix = await kaminoManager.getSetSharesMetadataIx(kVault, symbol, extraName);
|
|
335
339
|
|
|
336
|
-
await processTxn(env.client, env.payer, [ix],
|
|
340
|
+
await processTxn(env.client, env.payer, [ix], mode, 2500, []);
|
|
337
341
|
});
|
|
338
342
|
|
|
339
343
|
commands
|
|
@@ -28,6 +28,7 @@ export type RepayWithCollIxsResponse<QuoteResponse> = {
|
|
|
28
28
|
flashLoanInfo: FlashLoanInfo;
|
|
29
29
|
swapInputs: SwapInputs;
|
|
30
30
|
initialInputs: RepayWithCollInitialInputs<QuoteResponse>;
|
|
31
|
+
quote?: QuoteResponse;
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
export type RepayWithCollInitialInputs<QuoteResponse> = {
|
|
@@ -129,6 +130,7 @@ export async function getRepayWithCollSwapInputs<QuoteResponse>({
|
|
|
129
130
|
preActionIxs: [],
|
|
130
131
|
swapIxs: [],
|
|
131
132
|
lookupTables: [],
|
|
133
|
+
quote: {} as SwapQuote<QuoteResponse>,
|
|
132
134
|
},
|
|
133
135
|
isClosingPosition,
|
|
134
136
|
repayAmountLamports,
|
|
@@ -193,7 +195,7 @@ export async function getRepayWithCollIxs<QuoteResponse>({
|
|
|
193
195
|
scopeRefreshConfig,
|
|
194
196
|
useV2Ixs,
|
|
195
197
|
logger = console.log,
|
|
196
|
-
}: RepayWithCollIxsProps<QuoteResponse>): Promise<RepayWithCollIxsResponse<QuoteResponse
|
|
198
|
+
}: RepayWithCollIxsProps<QuoteResponse>): Promise<Array<RepayWithCollIxsResponse<QuoteResponse>>> {
|
|
197
199
|
const { swapInputs, initialInputs } = await getRepayWithCollSwapInputs({
|
|
198
200
|
collTokenMint,
|
|
199
201
|
currentSlot,
|
|
@@ -234,33 +236,39 @@ export async function getRepayWithCollIxs<QuoteResponse>({
|
|
|
234
236
|
.div(actualSwapInLamports.div(collReserve.getMintFactor()))} ${debtReserve.symbol}/${collReserve.symbol}`
|
|
235
237
|
);
|
|
236
238
|
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
239
|
+
const swapResponses = await swapper(swapInputs, initialInputs.klendAccounts, swapQuote);
|
|
240
|
+
|
|
241
|
+
return Promise.all(
|
|
242
|
+
swapResponses.map(async (swapResponse) => {
|
|
243
|
+
const ixs: LeverageIxsOutput = await buildRepayWithCollateralIxs(
|
|
244
|
+
kaminoMarket,
|
|
245
|
+
debtReserve,
|
|
246
|
+
collReserve,
|
|
247
|
+
obligation,
|
|
248
|
+
referrer,
|
|
249
|
+
currentSlot,
|
|
250
|
+
budgetAndPriorityFeeIxs,
|
|
251
|
+
scopeRefreshConfig,
|
|
252
|
+
swapResponse,
|
|
253
|
+
isClosingPosition,
|
|
254
|
+
debtRepayAmountLamports,
|
|
255
|
+
swapInputs.inputAmountLamports,
|
|
256
|
+
useV2Ixs
|
|
257
|
+
);
|
|
258
|
+
|
|
259
|
+
return {
|
|
260
|
+
ixs: ixs.instructions,
|
|
261
|
+
lookupTables: swapResponse.lookupTables,
|
|
262
|
+
swapInputs,
|
|
263
|
+
flashLoanInfo: ixs.flashLoanInfo,
|
|
264
|
+
initialInputs,
|
|
265
|
+
quote: swapResponse.quote.quoteResponse,
|
|
266
|
+
};
|
|
267
|
+
})
|
|
252
268
|
);
|
|
253
|
-
|
|
254
|
-
return {
|
|
255
|
-
ixs: ixs.instructions,
|
|
256
|
-
lookupTables: swapResponse.lookupTables,
|
|
257
|
-
swapInputs,
|
|
258
|
-
flashLoanInfo: ixs.flashLoanInfo,
|
|
259
|
-
initialInputs,
|
|
260
|
-
};
|
|
261
269
|
}
|
|
262
270
|
|
|
263
|
-
async function buildRepayWithCollateralIxs(
|
|
271
|
+
async function buildRepayWithCollateralIxs<QuoteResponse>(
|
|
264
272
|
market: KaminoMarket,
|
|
265
273
|
debtReserve: KaminoReserve,
|
|
266
274
|
collReserve: KaminoReserve,
|
|
@@ -269,7 +277,7 @@ async function buildRepayWithCollateralIxs(
|
|
|
269
277
|
currentSlot: number,
|
|
270
278
|
budgetAndPriorityFeeIxs: TransactionInstruction[] | undefined,
|
|
271
279
|
scopeRefreshConfig: ScopePriceRefreshConfig | undefined,
|
|
272
|
-
swapQuoteIxs: SwapIxs
|
|
280
|
+
swapQuoteIxs: SwapIxs<QuoteResponse>,
|
|
273
281
|
isClosingPosition: boolean,
|
|
274
282
|
debtRepayAmountLamports: Decimal,
|
|
275
283
|
collWithdrawLamports: Decimal,
|
|
@@ -145,7 +145,7 @@ export interface SwapCollIxsOutputs<QuoteResponse> {
|
|
|
145
145
|
*/
|
|
146
146
|
export async function getSwapCollIxs<QuoteResponse>(
|
|
147
147
|
inputs: SwapCollIxsInputs<QuoteResponse>
|
|
148
|
-
): Promise<SwapCollIxsOutputs<QuoteResponse
|
|
148
|
+
): Promise<Array<SwapCollIxsOutputs<QuoteResponse>>> {
|
|
149
149
|
const [args, context] = extractArgsAndContext(inputs);
|
|
150
150
|
|
|
151
151
|
// Conceptually, we need to construct the following ixs:
|
|
@@ -165,33 +165,37 @@ export async function getSwapCollIxs<QuoteResponse>(
|
|
|
165
165
|
const klendAccounts = uniqueAccountsWithProgramIds(listIxs(fakeKlendIxs));
|
|
166
166
|
|
|
167
167
|
// Construct the external swap ixs (and learn the actual swap-out amount):
|
|
168
|
-
const
|
|
168
|
+
const externalSwapIxsArray = await getExternalSwapIxs(args, klendAccounts, context);
|
|
169
169
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
170
|
+
return Promise.all(
|
|
171
|
+
externalSwapIxsArray.map(async (externalSwapIxs) => {
|
|
172
|
+
// We now have the full information needed to simulate the end-state, so let's check that the operation is legal:
|
|
173
|
+
context.logger(
|
|
174
|
+
`Expected to swap ${args.sourceCollSwapAmount} ${context.sourceCollReserve.symbol} collateral into ${externalSwapIxs.swapOutAmount} ${context.targetCollReserve.symbol} collateral`
|
|
175
|
+
);
|
|
176
|
+
checkResultingObligationValid(args, externalSwapIxs.swapOutAmount, context);
|
|
177
|
+
|
|
178
|
+
// Construct the Klend's own ixs with an actual swap-out amount:
|
|
179
|
+
const klendIxs = await getKlendIxs(args, externalSwapIxs.swapOutAmount, context);
|
|
180
|
+
|
|
181
|
+
return {
|
|
182
|
+
ixs: listIxs(klendIxs, externalSwapIxs.ixs),
|
|
183
|
+
lookupTables: externalSwapIxs.luts,
|
|
184
|
+
useV2Ixs: context.useV2Ixs,
|
|
185
|
+
simulationDetails: {
|
|
186
|
+
flashLoan: {
|
|
187
|
+
targetCollFlashBorrowedAmount: klendIxs.simulationDetails.targetCollFlashBorrowedAmount,
|
|
188
|
+
targetCollFlashRepaidAmount: externalSwapIxs.swapOutAmount,
|
|
189
|
+
},
|
|
190
|
+
externalSwap: {
|
|
191
|
+
sourceCollSwapInAmount: args.sourceCollSwapAmount, // repeated `/inputs.sourceCollSwapAmount`, only for clarity
|
|
192
|
+
targetCollSwapOutAmount: externalSwapIxs.swapOutAmount, // repeated `../flashLoan.targetCollFlashRepaidAmount`, only for clarity
|
|
193
|
+
quoteResponse: externalSwapIxs.simulationDetails.quoteResponse,
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
})
|
|
173
198
|
);
|
|
174
|
-
checkResultingObligationValid(args, externalSwapIxs.swapOutAmount, context);
|
|
175
|
-
|
|
176
|
-
// Construct the Klend's own ixs with an actual swap-out amount:
|
|
177
|
-
const klendIxs = await getKlendIxs(args, externalSwapIxs.swapOutAmount, context);
|
|
178
|
-
|
|
179
|
-
return {
|
|
180
|
-
ixs: listIxs(klendIxs, externalSwapIxs.ixs),
|
|
181
|
-
lookupTables: externalSwapIxs.luts,
|
|
182
|
-
useV2Ixs: context.useV2Ixs,
|
|
183
|
-
simulationDetails: {
|
|
184
|
-
flashLoan: {
|
|
185
|
-
targetCollFlashBorrowedAmount: klendIxs.simulationDetails.targetCollFlashBorrowedAmount,
|
|
186
|
-
targetCollFlashRepaidAmount: externalSwapIxs.swapOutAmount,
|
|
187
|
-
},
|
|
188
|
-
externalSwap: {
|
|
189
|
-
sourceCollSwapInAmount: args.sourceCollSwapAmount, // repeated `/inputs.sourceCollSwapAmount`, only for clarity
|
|
190
|
-
targetCollSwapOutAmount: externalSwapIxs.swapOutAmount, // repeated `../flashLoan.targetCollFlashRepaidAmount`, only for clarity
|
|
191
|
-
quoteResponse: externalSwapIxs.simulationDetails.quoteResponse,
|
|
192
|
-
},
|
|
193
|
-
},
|
|
194
|
-
};
|
|
195
199
|
}
|
|
196
200
|
|
|
197
201
|
type SwapCollArgs = {
|
|
@@ -508,7 +512,7 @@ async function getExternalSwapIxs<QuoteResponse>(
|
|
|
508
512
|
args: SwapCollArgs,
|
|
509
513
|
klendAccounts: PublicKey[],
|
|
510
514
|
context: SwapCollContext<QuoteResponse>
|
|
511
|
-
): Promise<ExternalSwapIxs<QuoteResponse
|
|
515
|
+
): Promise<Array<ExternalSwapIxs<QuoteResponse>>> {
|
|
512
516
|
const externalSwapInputs = {
|
|
513
517
|
inputAmountLamports: args.sourceCollSwapAmount.mul(context.sourceCollReserve.getMintFactor()),
|
|
514
518
|
inputMint: context.sourceCollReserve.getLiquidityMint(),
|
|
@@ -516,17 +520,20 @@ async function getExternalSwapIxs<QuoteResponse>(
|
|
|
516
520
|
amountDebtAtaBalance: undefined, // only used for kTokens
|
|
517
521
|
};
|
|
518
522
|
const externalSwapQuote = await context.quoter(externalSwapInputs, klendAccounts);
|
|
519
|
-
const swapOutAmount = externalSwapQuote.priceAInB.mul(args.sourceCollSwapAmount);
|
|
520
523
|
const externalSwapIxsAndLuts = await context.swapper(externalSwapInputs, klendAccounts, externalSwapQuote);
|
|
524
|
+
|
|
521
525
|
// Note: we can ignore the returned `preActionIxs` field - we do not request any of them from the swapper.
|
|
522
|
-
return {
|
|
523
|
-
swapOutAmount
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
526
|
+
return externalSwapIxsAndLuts.map((externalSwapIxsAndLuts) => {
|
|
527
|
+
const swapOutAmount = externalSwapIxsAndLuts.quote.priceAInB.mul(args.sourceCollSwapAmount);
|
|
528
|
+
return {
|
|
529
|
+
swapOutAmount,
|
|
530
|
+
ixs: externalSwapIxsAndLuts.swapIxs,
|
|
531
|
+
luts: externalSwapIxsAndLuts.lookupTables,
|
|
532
|
+
simulationDetails: {
|
|
533
|
+
quoteResponse: externalSwapIxsAndLuts.quote.quoteResponse,
|
|
534
|
+
},
|
|
535
|
+
};
|
|
536
|
+
});
|
|
530
537
|
}
|
|
531
538
|
|
|
532
539
|
function checkResultingObligationValid(
|