@carrot-protocol/clend-vaults-rpc 0.0.25-optimize-get-vaults-dev-4d5a4c8 → 0.0.26-docs1-dev-e06532e

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/rpc.d.ts CHANGED
@@ -1,15 +1,16 @@
1
1
  import { AnchorProvider, BN, web3 } from "@coral-xyz/anchor";
2
2
  import { Connection } from "@solana/web3.js";
3
3
  import { ClendVaultsProgram } from "./program";
4
- import { ClendClient, ISwapper } from "@carrot-protocol/clend-rpc";
4
+ import { ClendClient, Bank } from "@carrot-protocol/clend-rpc";
5
5
  import { Vault, VaultEquity } from "./state";
6
+ import { ClendVaultsJupSwapper } from "./swapper";
6
7
  export type Wallet = AnchorProvider["wallet"];
7
8
  type AccountMeta = web3.AccountMeta;
8
9
  export declare class ClendVaultsClient {
9
10
  readonly connection: Connection;
10
11
  readonly program: ClendVaultsProgram;
11
12
  readonly clendClient: ClendClient;
12
- readonly swapper: ISwapper;
13
+ readonly swapper: ClendVaultsJupSwapper;
13
14
  readonly skipPreflight: boolean;
14
15
  private vaultCache;
15
16
  constructor(provider: AnchorProvider, skipPreflight?: boolean, jupApiKey?: string);
@@ -41,7 +42,55 @@ export declare class ClendVaultsClient {
41
42
  clendAccountRepay(vault: web3.PublicKey, clendAccount: web3.PublicKey, assetMint: web3.PublicKey, amount: BN | number): Promise<string>;
42
43
  clendAccountBorrow(vault: web3.PublicKey, clendAccount: web3.PublicKey, assetMint: web3.PublicKey, amount: BN): Promise<string>;
43
44
  clendAccountWithdrawEmissions(vault: web3.PublicKey, assetMint: web3.PublicKey): Promise<string>;
44
- clendAccountAdjustLeverage(clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
45
+ adjustLeverage(vault: web3.PublicKey, clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
46
+ /**
47
+ * Calculates the required changes in debt and collateral to reach a target leverage.
48
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
49
+ *
50
+ * @param clendGroup - The public key of the Clend group.
51
+ * @param clendAccount - The public key of the user's Clend account.
52
+ * @param collateralMint - The public key of the collateral token mint.
53
+ * @param debtMint - The public key of the debt token mint.
54
+ * @param targetLeverage - The desired final leverage ratio.
55
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
56
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
57
+ * @returns Promise<{
58
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
59
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
60
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
61
+ * collateralBankData: Bank;
62
+ * debtBankData: Bank;
63
+ * }>
64
+ */
65
+ getAdjustLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<{
66
+ finalCollateralDeltaUi: number;
67
+ finalDebtDeltaUi: number;
68
+ isIncrease: boolean;
69
+ collateralBankData: Bank;
70
+ debtBankData: Bank;
71
+ }>;
72
+ /**
73
+ * Builds the transaction instructions for adjusting leverage.
74
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
75
+ *
76
+ * @param clendGroup - The public key of the Clend group.
77
+ * @param clendAccount - The public key of the user's Clend account.
78
+ * @param user - The public key of the user initiating the transaction.
79
+ * @param debtBankData - The Bank data for the debt asset.
80
+ * @param collateralBankData - The Bank data for the collateral asset.
81
+ * @param isIncrease - Boolean indicating if leverage is increasing.
82
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
83
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
84
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
85
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
86
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
87
+ */
88
+ getAdjustLeverageIxns(clendAccount: web3.PublicKey, vault: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, finalDebtDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
89
+ finalCollateralDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
90
+ slippageBps: number, additionalIxnCount: number): Promise<{
91
+ ixns: web3.TransactionInstruction[];
92
+ luts: web3.PublicKey[];
93
+ }>;
45
94
  prepareRedeemFromClendAccountIxns(user: web3.PublicKey, vault: web3.PublicKey, clendAccount: web3.PublicKey, outputAssetMint: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, totalSharesToRedeem: BN, sharesToRedeemFromClendAccount: BN, slippageBps: number): Promise<{
46
95
  ixns: web3.TransactionInstruction[];
47
96
  luts: web3.PublicKey[];
@@ -58,7 +107,7 @@ export declare class ClendVaultsClient {
58
107
  distributeFees(vault: web3.PublicKey, sharesDestinationOwner: web3.PublicKey): Promise<string>;
59
108
  updateSbOraclePrice(vault: web3.PublicKey, queue: web3.PublicKey, feed: web3.PublicKey): Promise<string>;
60
109
  updateAssetOracle(vault: web3.PublicKey, assetMint: web3.PublicKey, oracleMaxAge: number | null, oracle: web3.PublicKey | null): Promise<string>;
61
- send(ixns: web3.TransactionInstruction[], additionalSigners?: web3.Signer[]): Promise<string>;
110
+ send(ixns: web3.TransactionInstruction[], additionalSigners?: web3.Signer[], luts?: web3.PublicKey[]): Promise<string>;
62
111
  confirmTx(txSig: string): Promise<void>;
63
112
  }
64
113
  export declare function buildEquityRemainingAccounts(vaultState: Vault, clendClient: ClendClient): Promise<AccountMeta[]>;
package/dist/rpc.js CHANGED
@@ -4,6 +4,7 @@ exports.ClendVaultsClient = void 0;
4
4
  exports.buildEquityRemainingAccounts = buildEquityRemainingAccounts;
5
5
  // rpc.ts
6
6
  const anchor_1 = require("@coral-xyz/anchor");
7
+ const web3_js_1 = require("@solana/web3.js");
7
8
  const spl_token_1 = require("@solana/spl-token");
8
9
  const decimal_js_1 = require("decimal.js");
9
10
  const program_1 = require("./program");
@@ -14,13 +15,14 @@ const swapper_1 = require("./swapper");
14
15
  const math_1 = require("./math");
15
16
  const utils_1 = require("./utils");
16
17
  const cache_1 = require("./cache");
18
+ const clend_rpc_2 = require("@carrot-protocol/clend-rpc");
17
19
  class ClendVaultsClient {
18
20
  constructor(provider, skipPreflight = false, jupApiKey) {
19
21
  this.connection = provider.connection;
20
22
  this.program = new program_1.ClendVaultsProgram(provider);
21
23
  this.skipPreflight = skipPreflight;
22
24
  this.clendClient = new clend_rpc_1.ClendClient(provider.connection, provider.wallet, skipPreflight, 0);
23
- this.swapper = new swapper_1.ClendVaultsJupSwapper(jupApiKey);
25
+ this.swapper = new swapper_1.ClendVaultsJupSwapper(this.program, jupApiKey);
24
26
  this.vaultCache = new cache_1.Cache();
25
27
  }
26
28
  address() {
@@ -46,7 +48,7 @@ class ClendVaultsClient {
46
48
  async getVaultFromAccountInfo(vault, vaultAccountInfo) {
47
49
  // get all account infos for vault
48
50
  const { vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos, clendAccountsAccountInfos, // TODO
49
- } = await (0, state_1.getVaultAccountInfos)(this.program, vaultAccountInfo, this.connection);
51
+ } = await (0, state_1.getVaultAccountInfos)(this.program, vaultAccountInfo);
50
52
  const vaultState = (0, state_1.parseVaultAccountFromAccountInfos)(this.program, { accountId: vault, accountInfo: vaultAccountInfo }, vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos);
51
53
  return vaultState;
52
54
  }
@@ -256,14 +258,286 @@ class ClendVaultsClient {
256
258
  const txSig = await this.send(ixns);
257
259
  return txSig;
258
260
  }
259
- // adjust the leverage of the clend account
260
- async clendAccountAdjustLeverage(clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
261
+ //// adjust the leverage of the clend account
262
+ //async clendAccountAdjustLeverage(
263
+ // clendAccount: web3.PublicKey,
264
+ // collateralMint: web3.PublicKey,
265
+ // debtMint: web3.PublicKey,
266
+ // targetLeverage: number,
267
+ // slippageBps: number,
268
+ //): Promise<string> {
269
+ // const clendAccountState =
270
+ // await this.clendClient.getClendAccount(clendAccount);
271
+ // if (!clendAccountState) {
272
+ // throw new Error(`Clend account not found: ${clendAccount.toString()}`);
273
+ // }
274
+ // const adjustLeverageTxSig = await this.clendClient.adjustLeverage(
275
+ // clendAccountState.group,
276
+ // clendAccount,
277
+ // collateralMint,
278
+ // debtMint,
279
+ // targetLeverage,
280
+ // slippageBps,
281
+ // this.swapper,
282
+ // );
283
+ // return adjustLeverageTxSig;
284
+ //}
285
+ async adjustLeverage(vault, clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
286
+ const params = await this.getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps);
287
+ console.log("adustLeverage params calculated", params);
288
+ const { ixns, luts } = await this.getAdjustLeverageIxns(clendAccount, vault, params.debtBankData, params.collateralBankData, params.isIncrease, params.finalDebtDeltaUi, params.finalCollateralDeltaUi, slippageBps, 0);
289
+ console.log("ixns created for adjust leverage", ixns.length);
290
+ // Send transaction
291
+ return this.send(ixns, [], luts);
292
+ }
293
+ /**
294
+ * Calculates the required changes in debt and collateral to reach a target leverage.
295
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
296
+ *
297
+ * @param clendGroup - The public key of the Clend group.
298
+ * @param clendAccount - The public key of the user's Clend account.
299
+ * @param collateralMint - The public key of the collateral token mint.
300
+ * @param debtMint - The public key of the debt token mint.
301
+ * @param targetLeverage - The desired final leverage ratio.
302
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
303
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
304
+ * @returns Promise<{
305
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
306
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
307
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
308
+ * collateralBankData: Bank;
309
+ * debtBankData: Bank;
310
+ * }>
311
+ */
312
+ async getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
313
+ // Get bank data
314
+ const collateralBank = (0, clend_rpc_1.getBankPda)(clendGroup, collateralMint);
315
+ const debtBank = (0, clend_rpc_1.getBankPda)(clendGroup, debtMint);
316
+ const [collateralBankData, debtBankData] = await this.clendClient.getBanks([
317
+ collateralBank,
318
+ debtBank,
319
+ ]);
320
+ const debtDecimals = debtBankData.mintDecimals;
321
+ const collateralDecimals = collateralBankData.mintDecimals;
322
+ // Get account data to determine current positions
261
323
  const clendAccountState = await this.clendClient.getClendAccount(clendAccount);
262
324
  if (!clendAccountState) {
263
325
  throw new Error(`Clend account not found: ${clendAccount.toString()}`);
264
326
  }
265
- const adjustLeverageTxSig = await this.clendClient.adjustLeverage(clendAccountState.group, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps, this.swapper);
266
- return adjustLeverageTxSig;
327
+ // Find the debt and collateral positions
328
+ let debtBalance;
329
+ let collateralBalance;
330
+ for (const balance of clendAccountState.lendingAccount.balances) {
331
+ if (balance.bankPk && balance.bankPk.equals(debtBank)) {
332
+ debtBalance = balance;
333
+ }
334
+ if (balance.bankPk && balance.bankPk.equals(collateralBank)) {
335
+ collateralBalance = balance;
336
+ }
337
+ }
338
+ if (!debtBalance) {
339
+ throw new Error("Could not find debt position in account");
340
+ }
341
+ if (!collateralBalance) {
342
+ throw new Error("Could not find collateral position in account");
343
+ }
344
+ // Ensure liabilityShares exists on the Balance object
345
+ if (debtBalance.liabilityShares === undefined ||
346
+ debtBalance.liabilityShares === null) {
347
+ throw new Error("Missing liabilityShares on debt Balance object, cannot estimate accrued interest accurately.");
348
+ }
349
+ // --- Calculate current state accurately ---
350
+ const collateralAmountUI = collateralBalance.assetBalanceUi;
351
+ const collateralPrice = collateralBalance.price;
352
+ const debtPrice = debtBalance.price;
353
+ // Estimate current debt including accrued interest
354
+ const estimatedCurrentDebt = clend_rpc_2.Common.calculateLiabilityInterest(
355
+ // Using user's function name
356
+ debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), Math.floor(Date.now() / 1000));
357
+ const estimatedCurrentDebtUi = (0, math_1.amountToUi)(estimatedCurrentDebt, debtDecimals);
358
+ // Calculate current leverage (using notional/unweighted for consistency with compute function)
359
+ // Use estimatedCurrentDebtUi for accuracy
360
+ const currentLeverage = clend_rpc_2.Common.calculateWeightedLeverage(collateralAmountUI, collateralPrice, 1, estimatedCurrentDebtUi, // Use estimated current debt
361
+ debtPrice, 1);
362
+ // Calculate the IDEAL deltas based on estimated current state
363
+ const { collateralDelta: idealCollateralDeltaUi, debtDelta: idealDebtDeltaUi, isIncrease, } = clend_rpc_2.Common.computeAdjustLeverageAmounts(collateralAmountUI, estimatedCurrentDebtUi, // Use estimated current debt
364
+ collateralPrice, debtPrice, currentLeverage, targetLeverage, 1, 1);
365
+ let finalDebtDeltaUi;
366
+ let finalCollateralDeltaUi;
367
+ // --- Apply Adjustments based on direction ---
368
+ if (isIncrease) {
369
+ finalCollateralDeltaUi = idealCollateralDeltaUi; // Collateral delta is the target gain from swap
370
+ if (idealDebtDeltaUi <= 0) {
371
+ finalDebtDeltaUi = 0;
372
+ }
373
+ else {
374
+ // 1. Convert ideal UI delta to BN
375
+ const idealAdditionalDebtAmount = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
376
+ // 2. Adjust for origination fee
377
+ const originationFeeRate = debtBankData.config.interestRateConfig.protocolOriginationFee;
378
+ const additionalDebtAfterFee = clend_rpc_2.Common.adjustBorrowForOriginationFee(idealAdditionalDebtAmount, originationFeeRate);
379
+ // 3. Adjust for slippage (borrow MORE)
380
+ const finalAdditionalDebt = clend_rpc_2.Common.adjustAmountForSlippage(
381
+ // Use renamed function
382
+ additionalDebtAfterFee, slippageBps);
383
+ // 4. Convert final adjusted BN back to UI units for return
384
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalAdditionalDebt, debtDecimals);
385
+ }
386
+ }
387
+ else {
388
+ // Decreasing Leverage
389
+ if (idealDebtDeltaUi <= 0) {
390
+ finalDebtDeltaUi = 0;
391
+ finalCollateralDeltaUi = 0;
392
+ }
393
+ else {
394
+ // 1. Convert ideal UI delta (amount to repay) to BN
395
+ const baseDebtToRepay = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
396
+ const timeBufferSec = 30;
397
+ // 2. Add future interest buffer using addInterestAccrualBuffer
398
+ const finalDebtToRepayTargetBN = clend_rpc_2.Common.addInterestAccrualBuffer(
399
+ // Using user's function name
400
+ baseDebtToRepay, debtBankData.borrowApy, timeBufferSec);
401
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalDebtToRepayTargetBN, debtDecimals); // This is the final debt change target
402
+ // 3. Recalculate Collateral Delta needed for the swap
403
+ const slippageFactor = new decimal_js_1.Decimal(slippageBps).div(10000);
404
+ if (slippageFactor.gte(1)) {
405
+ throw new Error("Slippage cannot be 100% or more.");
406
+ }
407
+ if (collateralPrice <= 0 || debtPrice <= 0) {
408
+ throw new Error("Cannot calculate swap amounts with zero or negative prices.");
409
+ }
410
+ // Ideal collateral needed for swap (UI): TargetDebtOutput * (DebtPrice / CollateralPrice)
411
+ const idealCollateralForSwapUi = new decimal_js_1.Decimal(finalDebtDeltaUi) // Use the final buffered debt delta
412
+ .mul(debtPrice)
413
+ .div(collateralPrice);
414
+ // Ideal collateral input for the swap (BN)
415
+ const idealCollateralForSwapBN = (0, math_1.uiToAmount)(idealCollateralForSwapUi.toNumber(), collateralDecimals);
416
+ // Max collateral needed for swap (BN), using the adjustment function
417
+ const collateralToSwapMax = clend_rpc_2.Common.adjustAmountForSlippage(
418
+ // Use renamed function
419
+ idealCollateralForSwapBN, slippageBps);
420
+ // This collateral amount is the change needed (it will be withdrawn)
421
+ finalCollateralDeltaUi = (0, math_1.amountToUi)(collateralToSwapMax, collateralDecimals);
422
+ }
423
+ }
424
+ // Ensure deltas are not negative (should be handled by logic, but safety)
425
+ finalCollateralDeltaUi = Math.max(0, finalCollateralDeltaUi);
426
+ finalDebtDeltaUi = Math.max(0, finalDebtDeltaUi);
427
+ return {
428
+ finalCollateralDeltaUi,
429
+ finalDebtDeltaUi,
430
+ isIncrease,
431
+ collateralBankData,
432
+ debtBankData,
433
+ };
434
+ }
435
+ /**
436
+ * Builds the transaction instructions for adjusting leverage.
437
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
438
+ *
439
+ * @param clendGroup - The public key of the Clend group.
440
+ * @param clendAccount - The public key of the user's Clend account.
441
+ * @param user - The public key of the user initiating the transaction.
442
+ * @param debtBankData - The Bank data for the debt asset.
443
+ * @param collateralBankData - The Bank data for the collateral asset.
444
+ * @param isIncrease - Boolean indicating if leverage is increasing.
445
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
446
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
447
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
448
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
449
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
450
+ */
451
+ async getAdjustLeverageIxns(clendAccount, vault, debtBankData, collateralBankData, isIncrease, finalDebtDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
452
+ finalCollateralDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
453
+ slippageBps, additionalIxnCount) {
454
+ const clendAccountState = await this.clendClient.getClendAccount(clendAccount);
455
+ if (!clendAccountState) {
456
+ throw new Error(`Clend account not found: ${clendAccount.toString()}`);
457
+ }
458
+ // check if vault is the authority of the clend account
459
+ if (!clendAccountState.authority.equals(vault)) {
460
+ throw new Error(`Cannot adjust leverage for clend account ${clendAccount.toString()} not owned by vault ${vault.toString()}`);
461
+ }
462
+ const vaultState = await this.getVault(vault);
463
+ if (!vaultState) {
464
+ throw new Error(`Vault not found: ${vault.toString()}`);
465
+ }
466
+ const vaultManager = vaultState.manager;
467
+ const debtTokenProgram = await (0, clend_rpc_1.getTokenProgramForMintFromRpc)(this.program.program.provider.connection, debtBankData.mint);
468
+ const collateralTokenProgram = await (0, clend_rpc_1.getTokenProgramForMintFromRpc)(this.program.program.provider.connection, collateralBankData.mint);
469
+ const userCollateralAta = (0, spl_token_1.getAssociatedTokenAddressSync)(collateralBankData.mint, vault, true, collateralTokenProgram);
470
+ // Get remaining accounts for flash loan
471
+ let activeBanks = (0, clend_rpc_1.getClendAccountActiveBanks)(clendAccountState);
472
+ // Add both banks to active banks if not already present
473
+ if (!activeBanks.some((bank) => bank.equals(debtBankData.key))) {
474
+ activeBanks.push(debtBankData.key);
475
+ }
476
+ if (!activeBanks.some((bank) => bank.equals(collateralBankData.key))) {
477
+ activeBanks.push(collateralBankData.key);
478
+ }
479
+ const activeBankData = await this.clendClient.getBanks(activeBanks);
480
+ const remainingAccounts = (0, clend_rpc_1.getClendAccountRemainingAccounts)(activeBankData);
481
+ // Prepare transaction instructions
482
+ const instructions = [];
483
+ let swapLookupTables = [];
484
+ if (isIncrease) {
485
+ // This logic is already ExactIn and correct. No changes needed.
486
+ const additionalDebtAmount = (0, math_1.uiToAmount)(finalDebtDeltaUi, debtBankData.mintDecimals);
487
+ const swapQuote = await this.swapper.getQuote(vault, {
488
+ payer: this.address(),
489
+ inputMint: debtBankData.mint,
490
+ inputMintDecimals: debtBankData.mintDecimals,
491
+ outputMint: collateralBankData.mint,
492
+ outputMintDecimals: collateralBankData.mintDecimals,
493
+ inputAmount: additionalDebtAmount,
494
+ slippageBps,
495
+ swapMode: "ExactIn",
496
+ });
497
+ const swapIxns = await this.swapper.getSwapIxns(swapQuote);
498
+ const debtTokenProgram = await (0, clend_rpc_1.getTokenProgramForMintFromRpc)(this.program.program.provider.connection, debtBankData.mint);
499
+ const borrowIxns = await this.program.clendAccountBorrow(vault, vaultManager, clendAccountState.group, clendAccount, debtBankData.mint, debtTokenProgram, additionalDebtAmount, remainingAccounts);
500
+ const additionalCollateralAmount = swapQuote.outAmount;
501
+ const depositIxns = await this.program.clendAccountDeposit(vault, vaultManager, clendAccountState.group, clendAccount, collateralBankData.mint, collateralTokenProgram, additionalCollateralAmount, userCollateralAta, remainingAccounts);
502
+ instructions.push(...borrowIxns, ...swapIxns.ixns, ...depositIxns);
503
+ swapLookupTables = swapIxns.luts;
504
+ }
505
+ else {
506
+ // 1. The collateral to withdraw/sell is our exact input for the swap.
507
+ const collateralToWithdrawBN = (0, math_1.uiToAmount)(finalCollateralDeltaUi, collateralBankData.mintDecimals);
508
+ // 2. Get a fresh 'ExactIn' quote for swapping that collateral amount.
509
+ const swapQuote = await this.swapper.getQuote(vault, {
510
+ payer: vaultManager,
511
+ inputMint: collateralBankData.mint,
512
+ inputMintDecimals: collateralBankData.mintDecimals,
513
+ outputMint: debtBankData.mint,
514
+ outputMintDecimals: debtBankData.mintDecimals,
515
+ inputAmount: collateralToWithdrawBN, // Use the collateral delta as the exact input
516
+ slippageBps,
517
+ swapMode: "ExactIn",
518
+ });
519
+ // 3. The final amount to repay is the optimistic amount from the quote,
520
+ // as we will use the `repay_up_to_amount` flag on-chain.
521
+ const finalDebtToRepay = swapQuote.outAmount;
522
+ const swapIxns = await this.swapper.getSwapIxns(swapQuote);
523
+ // Withdraw the calculated collateral needed for the swap
524
+ const withdrawIxns = await this.program.clendAccountWithdraw(vault, vaultManager, clendAccountState.group, clendAccount, collateralBankData.mint, collateralTokenProgram, collateralToWithdrawBN, remainingAccounts);
525
+ // Repay the debt with the swap output
526
+ const repayIxns = await this.program.clendAccountRepay(vault, vaultManager, clendAccountState.group, clendAccount, debtBankData.mint, debtTokenProgram, finalDebtToRepay, remainingAccounts);
527
+ instructions.push(...withdrawIxns, ...swapIxns.ixns, ...repayIxns);
528
+ swapLookupTables = swapIxns.luts;
529
+ }
530
+ // --- Flash Loan Wrapping ---
531
+ const cuIxns = 2;
532
+ const endIndex = new anchor_1.BN(cuIxns + instructions.length + 1 + additionalIxnCount);
533
+ const remainingAccountsForFlashLoan = (0, clend_rpc_1.getClendAccountRemainingAccounts)(activeBankData);
534
+ const { beginFlashLoanIx, endFlashLoanIx } = await this.clendClient.instructions.createFlashLoanInstructions(clendAccount, vaultManager, endIndex, remainingAccountsForFlashLoan);
535
+ const finalInstructions = [
536
+ beginFlashLoanIx,
537
+ ...instructions,
538
+ endFlashLoanIx,
539
+ ];
540
+ return { ixns: finalInstructions, luts: swapLookupTables };
267
541
  }
268
542
  // create instructions for redeeming shares
269
543
  // however this will pull from a clend account balance
@@ -356,8 +630,8 @@ class ClendVaultsClient {
356
630
  // overriden if withdrawAll is true
357
631
  let collateralToSwap = collateralToWithdraw.sub(desiredNetCollateralToReceive);
358
632
  // again for partial withdraws
359
- let swapQuote = await this.swapper.getQuote({
360
- payer: vault,
633
+ let swapQuote = await this.swapper.getQuote(vault, {
634
+ payer: vaultManager,
361
635
  inputMint: collateralMint,
362
636
  inputMintDecimals: collateralDecimals,
363
637
  outputMint: debtMint,
@@ -369,8 +643,8 @@ class ClendVaultsClient {
369
643
  if (withdrawAll) {
370
644
  // Step 1: Get the current price via a nominal 1-token quote.
371
645
  const oneToken = (0, math_1.uiToAmount)(1, collateralDecimals);
372
- const nominalQuote = await this.swapper.getQuote({
373
- payer: vault,
646
+ const nominalQuote = await this.swapper.getQuote(vault, {
647
+ payer: vaultManager,
374
648
  inputMint: collateralMint,
375
649
  inputMintDecimals: collateralDecimals,
376
650
  outputMint: debtMint,
@@ -390,8 +664,8 @@ class ClendVaultsClient {
390
664
  // slippageBps,
391
665
  //);
392
666
  // Step 4 (Final Quote): Get the real quote for the buffered amount.
393
- swapQuote = await this.swapper.getQuote({
394
- payer: user,
667
+ swapQuote = await this.swapper.getQuote(vault, {
668
+ payer: vaultManager,
395
669
  inputMint: collateralMint,
396
670
  inputMintDecimals: collateralDecimals,
397
671
  outputMint: debtMint,
@@ -496,8 +770,8 @@ class ClendVaultsClient {
496
770
  const activeBankData = await this.clendClient.getBanks(activeBanks);
497
771
  const remainingAccounts = (0, clend_rpc_1.getClendAccountRemainingAccounts)(activeBankData);
498
772
  // Get a fresh 'ExactIn' quote for swapping the total collateral to withdraw
499
- const swapQuote = await this.swapper.getQuote({
500
- payer: vault,
773
+ const swapQuote = await this.swapper.getQuote(vault, {
774
+ payer: vaultManager,
501
775
  inputMint: collateralMint,
502
776
  inputMintDecimals: collateralDecimals,
503
777
  outputMint: debtMint,
@@ -600,8 +874,8 @@ class ClendVaultsClient {
600
874
  const { state: outputMintState, tokenProgram: outputMintTokenProgram } = await (0, state_1.getMintState)(outputMint, this.connection);
601
875
  const vaultAssetInReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(inputMint, vault, true, inputMintTokenProgram);
602
876
  const vaultAssetOutReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(outputMint, vault, true, outputMintTokenProgram);
603
- const quote = await this.swapper.getQuote({
604
- payer: vault,
877
+ const quote = await this.swapper.getQuote(vault, {
878
+ payer: this.address(),
605
879
  inputMint: inputMint,
606
880
  inputMintDecimals: inputMintState.decimals,
607
881
  outputMint: outputMint,
@@ -650,13 +924,28 @@ class ClendVaultsClient {
650
924
  const txSig = await this.send([ix]);
651
925
  return txSig;
652
926
  }
653
- async send(ixns, additionalSigners = []) {
927
+ async send(ixns, additionalSigners = [], luts = []) {
928
+ // get all lut accounts
929
+ const lutAccounts = [];
930
+ for (const lut of luts) {
931
+ const lutState = await this.program.program.provider.connection.getAddressLookupTable(lut, { commitment: "confirmed" });
932
+ if (lutState.value === null) {
933
+ throw new Error(`LUT not found: ${lut.toString()}`);
934
+ }
935
+ lutAccounts.push(lutState.value);
936
+ }
937
+ // detect if CU budget ixns are needed
938
+ const firstIx = ixns[0];
939
+ if (!firstIx.programId.equals(web3_js_1.ComputeBudgetProgram.programId)) {
940
+ ixns.unshift(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 600000 }));
941
+ ixns.unshift(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: 1000 }));
942
+ }
654
943
  const { blockhash } = await this.connection.getLatestBlockhash("confirmed");
655
944
  const msg = new anchor_1.web3.TransactionMessage({
656
945
  payerKey: this.address(),
657
946
  recentBlockhash: blockhash,
658
947
  instructions: ixns,
659
- }).compileToV0Message();
948
+ }).compileToV0Message(lutAccounts);
660
949
  const tx = new anchor_1.web3.VersionedTransaction(msg);
661
950
  const signedTx = await this.program.program.provider.wallet.signTransaction(tx);
662
951
  signedTx.sign(additionalSigners);
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -83,7 +83,7 @@ export interface VaultEquity {
83
83
  equity: number;
84
84
  }[];
85
85
  }
86
- export declare function getVaultAccountInfos(program: ClendVaultsProgram, vaultAccountInfo: web3.AccountInfo<Buffer>, connection: web3.Connection): Promise<{
86
+ export declare function getVaultAccountInfos(program: ClendVaultsProgram, vaultAccountInfo: web3.AccountInfo<Buffer>): Promise<{
87
87
  vaultSharesMintAccountInfo: web3.KeyedAccountInfo;
88
88
  vaultMintsAccountInfos: web3.KeyedAccountInfo[];
89
89
  vaultReservesAccountInfos: web3.KeyedAccountInfo[];
package/dist/state.js CHANGED
@@ -28,7 +28,7 @@ exports.VaultClendAccountFlags = {
28
28
  IN_USE: new anchor_1.BN(1), // occupied / present
29
29
  ENABLED: new anchor_1.BN(3), // operational bit
30
30
  };
31
- async function getVaultAccountInfos(program, vaultAccountInfo, connection) {
31
+ async function getVaultAccountInfos(program, vaultAccountInfo) {
32
32
  const vaultDataRaw = program.program.coder.accounts.decode("vault", vaultAccountInfo.data);
33
33
  // collect public keys for all accounts to fetch
34
34
  const mintPks = [];
@@ -65,7 +65,7 @@ async function getVaultAccountInfos(program, vaultAccountInfo, connection) {
65
65
  throw new Error(`Invalid number of public keys: ${allPks.length}`);
66
66
  }
67
67
  // fetch all accounts in single rpc call
68
- const accountInfosToFetch = await (0, utils_1.getMultipleAccountsWithKeys)(connection, allPks);
68
+ const accountInfosToFetch = await (0, utils_1.getMultipleAccountsWithKeys)(program.program.provider.connection, allPks);
69
69
  // define clear boundaries for each section
70
70
  const sharesMintStart = 0;
71
71
  const sharesMintEnd = 1;
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":";;;AAmHA,oDAyFC;AAED,8EA0HC;AAmBD,oCAaC;AAxWD,8CAAqD;AAErD,iDAAoE;AACpE,mCAKiB;AACjB,iCAAoC;AACpC,4EAAuE;AACvE,2CAAgF;AA+DnE,QAAA,UAAU,GAAG;IACxB,QAAQ,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC;IACnB,UAAU,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC;IACtB,gBAAgB,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,iCAAiC;CACtD,CAAC;AAEE,QAAA,eAAe,GAAG;IAC7B,SAAS,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC;IACpB,MAAM,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,wEAAwE;IAC3F,UAAU,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,yBAAyB;IAChD,WAAW,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,0BAA0B;IAClD,gBAAgB,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,0CAA0C;CAC/D,CAAC;AAEE,QAAA,sBAAsB,GAAG;IACpC,SAAS,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB;IAC1C,MAAM,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB;IACxC,OAAO,EAAE,IAAI,WAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB;CAC9B,CAAC;AAsBJ,KAAK,UAAU,oBAAoB,CACxC,OAA2B,EAC3B,gBAA0C,EAC1C,UAA2B;IAQ3B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CACxD,OAAO,EACP,gBAAgB,CAAC,IAAI,CACtB,CAAC;IAEF,gDAAgD;IAChD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxC,0BAA0B;QAC1B,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,CAAC,MAAM,CAAC,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QACtD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,cAAc,CAAC,MAAM,CAAC,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,+CAA+C;IAC/C,MAAM,MAAM,GAAqB;QAC/B,IAAA,eAAO,EAAC,YAAY,CAAC,MAAM,CAAC;QAC5B,GAAG,OAAO;QACV,GAAG,UAAU;QACb,GAAG,SAAS;QACZ,GAAG,eAAe;KACnB,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,wCAAwC;IACxC,MAAM,mBAAmB,GAAG,MAAM,IAAA,mCAA2B,EAC3D,UAAU,EACV,MAAM,CACP,CAAC;IAEF,2CAA2C;IAC3C,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC;IACjC,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC;IACjC,MAAM,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;IACnD,MAAM,kBAAkB,GAAG,UAAU,CAAC;IACtC,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC;IAErE,OAAO;QACL,0BAA0B,EAAE,mBAAmB,CAAC,eAAe,CAAC;QAChE,sBAAsB,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;QACvE,yBAAyB,EAAE,mBAAmB,CAAC,KAAK,CAClD,aAAa,EACb,WAAW,CACZ;QACD,wBAAwB,EAAE,mBAAmB,CAAC,KAAK,CACjD,YAAY,EACZ,UAAU,CACX;QACD,yBAAyB,EAAE,mBAAmB,CAAC,KAAK,CAClD,kBAAkB,EAClB,gBAAgB,CACjB;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAC/C,OAA2B,EAC3B,gBAAuC,EACvC,0BAAiD,EACjD,sBAA+C,EAC/C,yBAAkD,EAClD,wBAAiD;IAEjD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CACxD,OAAO,EACP,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAClC,CAAC;IAEF,2BAA2B;IAC3B,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAErC,wBAAwB;QACxB,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,CAAC,MAAM,CAAC,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE5C,8BAA8B;QAC9B,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAChC,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CACnC,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,8BAA8B,cAAc,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAClC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,GACtC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAE5D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,YAAY,EAAE,YAAY;aAC3B;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAA,mBAAW,EAAC,KAAK,CAAC,YAAY,CAAC;gBACvC,OAAO,EAAE,WAAW;aACrB;YACD,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,IAAA,eAAO,EAAE,KAAK,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;YACvC,SAAS,EAAE;gBACT,WAAW,EAAE,IAAA,mBAAW,EAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;gBACrD,gBAAgB,EAAE,IAAA,mBAAW,EAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC;aAChE;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAwB,EAAE,CAAC;IAC9C,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QACtD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,cAAc,CAAC,MAAM,CAAC,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QAED,eAAe;QACf,aAAa,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,IAAA,eAAO,EAAE,YAAY,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;YAC9C,WAAW,EAAE,IAAA,eAAO,EAAC,YAAY,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,uBAAuB,EAAE,GACrE,2BAA2B,CAAC,0BAA0B,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAU;QACnB,OAAO,EAAE,gBAAgB,CAAC,SAAS;QACnC,OAAO,EAAE,IAAA,eAAO,EAAC,YAAY,CAAC,OAAO,CAAC;QACtC,UAAU,EAAE,0BAA0B,CAAC,SAAS;QAChD,cAAc,EAAE,eAAe,CAAC,QAAQ;QACxC,YAAY,EAAE,IAAA,eAAO,EAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxD,QAAQ,EAAE;YACR,mBAAmB,EAAE,IAAA,eAAO,EAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvE,wBAAwB,EAAE,IAAA,eAAO,EAC/B,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAC/C;YACD,wBAAwB,EAAE,IAAA,eAAO,EAC/B,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAC/C;YACD,uBAAuB,EAAE,IAAA,eAAO,EAC9B,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAC9C;SACF;QACD,SAAS,EAAE;YACT,gBAAgB,EAAE,IAAA,mBAAW,EAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC;SACvE;QACD,KAAK,EAAE,IAAA,eAAO,EAAE,YAAY,CAAC,KAAa,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM;QACN,aAAa;KACd,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,OAA8B,EAC9B,QAAgB;IAEhB,MAAM,YAAY,GAAG,IAAA,yBAAa,EAChC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CAAC,KAAK,CAC1B,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,MAAM;QACN,QAAQ,EAAE,IAAA,iBAAU,EAAC,MAAM,EAAE,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,IAAoB,EACpB,UAA2B;IAE3B,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,2BAA2B,CAAC;QAC1D,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA8B;IAIjE,MAAM,KAAK,GAAG,IAAA,sBAAU,EACtB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CAAC,KAAK,CAC1B,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;IAC/C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,+BAA+B,CACtC,WAAkC;IAElC,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAuB,CAAC,EAAE,CAAC;QAClE,OAAO,iCAAiC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAwB,CAAC,EAAE,CAAC;QAC1E,OAAO,mCAAmC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAS,EAAE,QAAgB;IACnD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,mCAAmC;QACnC,MAAM,GAAG,GAAG,IAAI,WAAE,CAAC,EAAE,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,WAAE,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,8DAA8D;QAC9D,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEjD,mDAAmD;QACnD,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IACxC,CAAC;AACH,CAAC;AAYD;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG;YAClB;gBACE,KAAK,EAAE,IAAA,eAAO,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,8BAA8B;aACxE;SACF,CAAC;QAEF,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CACnF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mCAAmC,CAC1C,WAAqC;IAErC,2EAA2E;IAC3E,MAAM,eAAe,GAAG,IAAI,aAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,eAAM,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,yCAAkB,CAAC;QACpC,UAAU,EAAE,eAAe;QAC3B,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CACzD,eAAe,EACf,WAAW,CAAC,IAAI,CACjB,CAAC;IAEJ,gBAAgB;IAChB,MAAM,QAAQ,GAAG,IAAA,eAAO,EAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAE3D,eAAe;IACf,OAAO,gBAAgB,CACrB,QAAQ,EACR,IAAA,mBAAW,EAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iCAAiC,CACxC,WAAqC;IAErC,qDAAqD;IACrD,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvE,IACE,CAAC,mBAAmB;QACpB,CAAC,mBAAmB,CAAC,WAAW;QAChC,mBAAmB,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC;IAErB,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/swapper.d.ts CHANGED
@@ -1,13 +1,14 @@
1
- import { ISwapper } from "@carrot-protocol/clend-rpc";
2
1
  import { BN, web3 } from "@coral-xyz/anchor";
3
- export declare class ClendVaultsJupSwapper implements ISwapper {
2
+ import { ClendVaultsProgram } from "./program";
3
+ export declare class ClendVaultsJupSwapper {
4
4
  private readonly jupiterApi;
5
- constructor(apiKey?: string);
5
+ private readonly clendVaultsProgram;
6
+ constructor(program: ClendVaultsProgram, apiKey?: string);
6
7
  /**
7
8
  * Implements the getQuote method from the ISwapper interface.
8
9
  * It takes a standardized QuoteRequest and returns a standardized SwapQuote.
9
10
  */
10
- getQuote(request: QuoteRequest): Promise<SwapQuote>;
11
+ getQuote(vault: web3.PublicKey, request: QuoteRequest): Promise<SwapQuote>;
11
12
  /**
12
13
  * Implements the getSwapIxns method from the ISwapper interface.
13
14
  * It takes a standardized SwapQuote and returns standardized SwapIxns.
package/dist/swapper.js CHANGED
@@ -4,19 +4,23 @@ exports.ClendVaultsJupSwapper = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const api_1 = require("@jup-ag/api");
6
6
  const utils_1 = require("./utils");
7
+ const addresses_1 = require("./addresses");
8
+ const spl_token_1 = require("@solana/spl-token");
9
+ const state_1 = require("./state");
7
10
  const QUOTE_URL = "https://api.jup.ag";
8
11
  class ClendVaultsJupSwapper {
9
- constructor(apiKey) {
12
+ constructor(program, apiKey) {
10
13
  this.jupiterApi = (0, api_1.createJupiterApiClient)({
11
14
  basePath: QUOTE_URL,
12
15
  apiKey,
13
16
  });
17
+ this.clendVaultsProgram = program;
14
18
  }
15
19
  /**
16
20
  * Implements the getQuote method from the ISwapper interface.
17
21
  * It takes a standardized QuoteRequest and returns a standardized SwapQuote.
18
22
  */
19
- async getQuote(request) {
23
+ async getQuote(vault, request) {
20
24
  const { inputMint, outputMint, inputAmount, swapMode, slippageBps, payer } = request;
21
25
  const quoteResponse = await this.jupiterApi.quoteGet({
22
26
  inputMint: inputMint.toBase58(),
@@ -36,7 +40,7 @@ class ClendVaultsJupSwapper {
36
40
  quoteResponse,
37
41
  inputMint,
38
42
  outputMint,
39
- vault: payer,
43
+ vault: vault,
40
44
  },
41
45
  };
42
46
  }
@@ -61,8 +65,25 @@ class ClendVaultsJupSwapper {
61
65
  },
62
66
  });
63
67
  const swapIx = transformResponseIx(swapInstruction);
68
+ const swapRemainingAccounts = swapIx.keys.map((key) => ({
69
+ pubkey: key.pubkey,
70
+ // If the account is the vault PDA, mark it as NOT a signer for the client transaction.
71
+ isSigner: key.pubkey.equals(vault) ? false : key.isSigner,
72
+ isWritable: key.isWritable,
73
+ }));
74
+ const swapData = swapIx.data;
75
+ const vaultAssetInReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(inputMint, vault, true, spl_token_1.TOKEN_PROGRAM_ID);
76
+ const vaultAssetOutReserve = (0, spl_token_1.getAssociatedTokenAddressSync)(outputMint, vault, true, spl_token_1.TOKEN_PROGRAM_ID);
77
+ const vaultAccountInfo = await this.clendVaultsProgram.program.provider.connection.getAccountInfo(vault);
78
+ if (!vaultAccountInfo) {
79
+ throw new Error(`Vault account not found: ${vault.toString()}`);
80
+ }
81
+ const { vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos, } = await (0, state_1.getVaultAccountInfos)(this.clendVaultsProgram, vaultAccountInfo);
82
+ const vaultState = (0, state_1.parseVaultAccountFromAccountInfos)(this.clendVaultsProgram, { accountId: vault, accountInfo: vaultAccountInfo }, vaultSharesMintAccountInfo, vaultMintsAccountInfos, vaultReservesAccountInfos, vaultOraclesAccountInfos);
83
+ const ixns = await this.clendVaultsProgram.swap(vault, vaultState.manager, inputMint, outputMint, vaultAssetInReserve, vaultAssetOutReserve, swapData, swapRemainingAccounts, addresses_1.JUPITER_SWAP_PROGRAM_ID);
84
+ const allIxns = [...ixns];
64
85
  return {
65
- ixns: [swapIx],
86
+ ixns: allIxns,
66
87
  luts: addressLookupTableAddresses.map((key) => (0, utils_1.parsePk)(key)),
67
88
  };
68
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swapper.js","sourceRoot":"","sources":["../src/swapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swapper.js","sourceRoot":"","sources":["../src/swapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carrot-protocol/clend-vaults-rpc",
3
- "version": "0.0.25-optimize-get-vaults-dev-4d5a4c8",
3
+ "version": "0.0.26-docs1-dev-e06532e",
4
4
  "description": "clend vaults rpc client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",