@carrot-protocol/clend-rpc 0.1.27-group-refactor1-dev-0a2c078 → 0.1.27-swapper1-dev-0d501ff

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,0DAAwC;AACxC,qCAOmB;AAFjB,6GAAA,kBAAkB,OAAA;AAClB,yGAAA,cAAc,OAAA;AAEhB,8CAA4B;AAC5B,iCAsBiB;AAff,qHAAA,4BAA4B,OAAA;AAC5B,6GAAA,oBAAoB,OAAA;AACpB,iGAAA,QAAQ,OAAA;AACR,6GAAA,oBAAoB,OAAA;AACpB,iGAAA,QAAQ,OAAA;AACR,+GAAA,sBAAsB,OAAA;AAEtB,uGAAA,cAAc,OAAA;AACd,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,iGAAA,QAAQ,OAAA;AACR,iHAAA,wBAAwB,OAAA;AAExB,oGAAA,WAAW,OAAA;AACX,kGAAA,SAAS,OAAA;AAEX,2CAAyB;AAEzB,yBAAyB;AACzB,wEAAwD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,0DAAwC;AACxC,qCAOmB;AAFjB,6GAAA,kBAAkB,OAAA;AAClB,yGAAA,cAAc,OAAA;AAEhB,8CAA4B;AAC5B,iCAmBiB;AAZf,qHAAA,4BAA4B,OAAA;AAC5B,6GAAA,oBAAoB,OAAA;AACpB,iGAAA,QAAQ,OAAA;AACR,6GAAA,oBAAoB,OAAA;AACpB,iGAAA,QAAQ,OAAA;AACR,+GAAA,sBAAsB,OAAA;AAEtB,uGAAA,cAAc,OAAA;AACd,uGAAA,cAAc,OAAA;AACd,kGAAA,SAAS,OAAA;AACT,iGAAA,QAAQ,OAAA;AACR,iHAAA,wBAAwB,OAAA;AAE1B,2CAAyB;AAEzB,yBAAyB;AACzB,wEAAwD"}
@@ -1,6 +1,6 @@
1
1
  import { AnchorProvider, Program, web3, BN } from "@coral-xyz/anchor";
2
2
  import { Clend } from "./idl/clend";
3
- import { BankConfigCompact, BankOperationalState, EmissionsMode, InterestRateConfigCompact, InterestRateConfigOpt, OracleSetup, OracleSetupArgs, RiskTier } from "./state";
3
+ import { BankConfigCompact, BankOperationalState, InterestRateConfigCompact, InterestRateConfigOpt, OracleSetup, RiskTier } from "./state";
4
4
  export type GroupConfig = {
5
5
  admin?: web3.PublicKey;
6
6
  };
@@ -17,12 +17,11 @@ export declare class Instructions {
17
17
  initializeGroup(clendGroup: web3.Keypair, admin: web3.PublicKey, feeState: web3.PublicKey): Promise<web3.TransactionInstruction>;
18
18
  configureGroup(clendGroup: web3.PublicKey, admin: web3.PublicKey, config: GroupConfig): Promise<web3.TransactionInstruction>;
19
19
  initGlobalFeeState(admin: web3.PublicKey, feeWallet: web3.PublicKey, bankInitFlatSolFee: number, programFeeFixed: BN, programFeeRate: BN): Promise<web3.TransactionInstruction>;
20
- addBank(clendGroup: web3.PublicKey, admin: web3.PublicKey, globalFeeWallet: web3.PublicKey, bankMint: web3.PublicKey, tokenProgram: web3.PublicKey, oracleSetupArgs: OracleSetupArgs, bankConfig: BankConfigCompact, interestRateConfig: InterestRateConfigCompact): Promise<{
20
+ addBank(clendGroup: web3.PublicKey, admin: web3.PublicKey, globalFeeWallet: web3.PublicKey, bankMint: web3.PublicKey, tokenProgram: web3.PublicKey, pythOracle: web3.PublicKey, pythOracleFeedId: web3.PublicKey, bankConfig: BankConfigCompact, interestRateConfig: InterestRateConfigCompact): Promise<{
21
21
  bank: web3.PublicKey;
22
22
  ixns: web3.TransactionInstruction[];
23
23
  }>;
24
- configureBankPythOracle(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, pythOracle: web3.PublicKey, pythOracleFeedId: web3.PublicKey): Promise<web3.TransactionInstruction>;
25
- configureBankSwitchboardOracle(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, switchboardOracle: web3.PublicKey): Promise<web3.TransactionInstruction>;
24
+ configureBankOracle(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, pythOracle: web3.PublicKey, pythOracleFeedId: web3.PublicKey): Promise<web3.TransactionInstruction>;
26
25
  configureBankInterestRate(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, interestRateConfig: InterestRateConfigOpt): Promise<web3.TransactionInstruction>;
27
26
  configureBankAuthorizedLender(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, authorizedLender: web3.PublicKey | null): Promise<web3.TransactionInstruction>;
28
27
  configureBankOracleMaxAge(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, maxAge: number): Promise<web3.TransactionInstruction>;
@@ -31,13 +30,11 @@ export declare class Instructions {
31
30
  setBankOperationalState(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, operationalState: BankOperationalState): Promise<web3.TransactionInstruction>;
32
31
  collectBankFees(clendGroup: web3.PublicKey, bank: web3.PublicKey, feeAta: web3.PublicKey): Promise<web3.TransactionInstruction>;
33
32
  resetBankFees(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey): Promise<web3.TransactionInstruction>;
34
- setupBankEmissions(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, emissionsMint: web3.PublicKey, emissionsMintTokenProgram: web3.PublicKey, emissionsMode: EmissionsMode, emissionsRate: BN, totalEmissions: BN): Promise<web3.TransactionInstruction[]>;
35
- updateBankEmissions(clendGroup: web3.PublicKey, admin: web3.PublicKey, bank: web3.PublicKey, emissionsMint: web3.PublicKey, emissionsMintTokenProgram: web3.PublicKey, emissionsMode: EmissionsMode | null, emissionsRate: BN | null, additionalEmissions: BN | null): Promise<web3.TransactionInstruction>;
36
33
  initializeClendAccount(clendGroup: web3.PublicKey, authority: web3.PublicKey, clendAccount: web3.Keypair): Promise<web3.TransactionInstruction>;
37
34
  deposit(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, bank: web3.PublicKey, userTokenAccount: web3.PublicKey, tokenProgram: web3.PublicKey, amount: BN, depositUpToAmount: boolean, remainingAccounts: web3.AccountMeta[]): Promise<web3.TransactionInstruction>;
38
35
  withdraw(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, bank: web3.PublicKey, destinationTokenAccount: web3.PublicKey, tokenProgram: web3.PublicKey, amount: BN, withdrawAll: boolean | null | undefined, remainingAccounts: web3.AccountMeta[]): Promise<web3.TransactionInstruction>;
39
36
  borrow(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, bank: web3.PublicKey, destinationTokenAccount: web3.PublicKey, tokenProgram: web3.PublicKey, amount: BN, remainingAccounts: web3.AccountMeta[]): Promise<web3.TransactionInstruction>;
40
- repay(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, bank: web3.PublicKey, userTokenAccount: web3.PublicKey, tokenProgram: web3.PublicKey, amount: BN, repayAll: boolean | null, repayUpToAmount: boolean, remainingAccounts: web3.AccountMeta[]): Promise<web3.TransactionInstruction>;
37
+ repay(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, bank: web3.PublicKey, userTokenAccount: web3.PublicKey, tokenProgram: web3.PublicKey, amount: BN, repayAll: boolean | null | undefined, remainingAccounts: web3.AccountMeta[]): Promise<web3.TransactionInstruction>;
41
38
  createFlashLoanInstructions(clendAccount: web3.PublicKey, user: web3.PublicKey, endIndex: BN, remainingAccounts: web3.AccountMeta[]): Promise<{
42
39
  beginFlashLoanIx: web3.TransactionInstruction;
43
40
  endFlashLoanIx: web3.TransactionInstruction;
@@ -45,7 +42,6 @@ export declare class Instructions {
45
42
  editGlobalFeeState(admin: web3.PublicKey, newGlobalFeeWallet: web3.PublicKey, bankInitFlatSolFee: number, programFeeFixed: number, programFeeRate: number): Promise<web3.TransactionInstruction>;
46
43
  propagateFeeState(clendGroup: web3.PublicKey): Promise<web3.TransactionInstruction>;
47
44
  liquidateClendAccount(clendGroup: web3.PublicKey, liquidator: web3.PublicKey, assetBank: web3.PublicKey, liabBank: web3.PublicKey, liquidatorClendAccount: web3.PublicKey, liquidateeClendAccount: web3.PublicKey, tokenProgram: web3.PublicKey, remainingAccounts: web3.AccountMeta[], assetAmount: BN): Promise<web3.TransactionInstruction>;
48
- withdrawEmissions(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, bank: web3.PublicKey, emissionsMint: web3.PublicKey, emissionsMintTokenProgram: web3.PublicKey): Promise<web3.TransactionInstruction[]>;
49
45
  closeClendAccount(clendAccount: web3.PublicKey, authority: web3.PublicKey): Promise<web3.TransactionInstruction>;
50
46
  }
51
47
  export declare function formatBankOperationalState(state: number): any;
@@ -11,7 +11,6 @@ const clend_1 = require("./idl/clend");
11
11
  const addresses_1 = require("./addresses");
12
12
  const utils_1 = require("./utils");
13
13
  const state_1 = require("./state");
14
- const spl_token_1 = require("@solana/spl-token");
15
14
  class Instructions {
16
15
  constructor(provider) {
17
16
  this.program = new anchor_1.Program(clend_1.IDL, addresses_1.CLEND_PROGRAM_ID, provider);
@@ -54,7 +53,7 @@ class Instructions {
54
53
  .instruction();
55
54
  }
56
55
  // Bank Instructions
57
- async addBank(clendGroup, admin, globalFeeWallet, bankMint, tokenProgram, oracleSetupArgs, bankConfig, interestRateConfig) {
56
+ async addBank(clendGroup, admin, globalFeeWallet, bankMint, tokenProgram, pythOracle, pythOracleFeedId, bankConfig, interestRateConfig) {
58
57
  const bank = (0, addresses_1.getBankPda)(clendGroup, bankMint);
59
58
  const liquidityVault = (0, addresses_1.getBankLiquidityVaultPda)(bank);
60
59
  const insuranceVault = (0, addresses_1.getBankInsuranceVaultPda)(bank);
@@ -87,23 +86,14 @@ class Instructions {
87
86
  systemProgram: anchor_1.web3.SystemProgram.programId,
88
87
  })
89
88
  .instruction();
90
- let configBankOracleIx;
91
- switch (oracleSetupArgs.oracleSetup) {
92
- case state_1.OracleSetup.PythPushOracle:
93
- configBankOracleIx = await this.configureBankPythOracle(clendGroup, admin, bank, oracleSetupArgs.pythOracle, oracleSetupArgs.pythOracleFeedId);
94
- break;
95
- case state_1.OracleSetup.SwitchboardPull:
96
- configBankOracleIx = await this.configureBankSwitchboardOracle(clendGroup, admin, bank, oracleSetupArgs.switchboardOracle);
97
- break;
98
- default:
99
- throw new Error(`Unsupported oracle setup: ${oracleSetupArgs}`);
100
- }
89
+ const configBankOracleIx = await this.configureBankOracle(clendGroup, admin, bank, pythOracle, pythOracleFeedId);
101
90
  return {
102
91
  bank,
103
92
  ixns: [addBankIx, configBankOracleIx],
104
93
  };
105
94
  }
106
- async configureBankPythOracle(clendGroup, admin, bank, pythOracle, pythOracleFeedId) {
95
+ async configureBankOracle(clendGroup, admin, bank, pythOracle, pythOracleFeedId) {
96
+ // hardcode this type for now
107
97
  const oracleSetup = state_1.OracleSetup.PythPushOracle;
108
98
  const oracleRA = {
109
99
  isSigner: false,
@@ -121,24 +111,6 @@ class Instructions {
121
111
  .instruction();
122
112
  return ix;
123
113
  }
124
- async configureBankSwitchboardOracle(clendGroup, admin, bank, switchboardOracle) {
125
- const oracleSetup = state_1.OracleSetup.SwitchboardPull;
126
- const oracleRA = {
127
- isSigner: false,
128
- isWritable: false,
129
- pubkey: switchboardOracle,
130
- };
131
- const ix = await this.program.methods
132
- .lendingPoolConfigureBankOracle(oracleSetup, switchboardOracle)
133
- .accounts({
134
- group: clendGroup,
135
- admin,
136
- bank,
137
- })
138
- .remainingAccounts([oracleRA])
139
- .instruction();
140
- return ix;
141
- }
142
114
  async configureBankInterestRate(clendGroup, admin, bank, interestRateConfig) {
143
115
  return this.program.methods
144
116
  .lendingPoolConfigureBankIr(interestRateConfig)
@@ -247,51 +219,6 @@ class Instructions {
247
219
  })
248
220
  .instruction();
249
221
  }
250
- async setupBankEmissions(clendGroup, admin, bank, emissionsMint, emissionsMintTokenProgram, emissionsMode, emissionsRate, totalEmissions) {
251
- const emissionsAuth = (0, addresses_1.getEmissionsAuthPda)(bank, emissionsMint);
252
- const emissionsTokenAccount = (0, addresses_1.getEmissionsTokenAccountPda)(bank, emissionsMint);
253
- // the ata of the admin is the funding account
254
- const adminEmissionsAta = (0, spl_token_1.getAssociatedTokenAddressSync)(emissionsMint, admin, true);
255
- const createEmissionsFundingAccountIx = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(admin, adminEmissionsAta, admin, emissionsMint, emissionsMintTokenProgram);
256
- const emissionsFlags = (0, state_1.getBankFlagForEmissionsMode)(emissionsMode);
257
- const ix = await this.program.methods
258
- .lendingPoolSetupEmissions(emissionsFlags, emissionsRate, totalEmissions)
259
- .accountsStrict({
260
- clendGroup,
261
- admin,
262
- bank,
263
- emissionsMint,
264
- emissionsAuth,
265
- emissionsTokenAccount,
266
- emissionsFundingAccount: adminEmissionsAta,
267
- tokenProgram: emissionsMintTokenProgram,
268
- systemProgram: anchor_1.web3.SystemProgram.programId,
269
- })
270
- .instruction();
271
- return [createEmissionsFundingAccountIx, ix];
272
- }
273
- async updateBankEmissions(clendGroup, admin, bank, emissionsMint, emissionsMintTokenProgram, emissionsMode, emissionsRate, additionalEmissions) {
274
- // if null, we don't update the emissions flags
275
- let emissionsFlags = null;
276
- if (emissionsMode !== null) {
277
- emissionsFlags = (0, state_1.getBankFlagForEmissionsMode)(emissionsMode);
278
- }
279
- const emissionsTokenAccount = (0, addresses_1.getEmissionsTokenAccountPda)(bank, emissionsMint);
280
- const adminEmissionsAta = (0, spl_token_1.getAssociatedTokenAddressSync)(emissionsMint, admin, true);
281
- const ix = await this.program.methods
282
- .lendingPoolUpdateEmissionsParameters(emissionsFlags, emissionsRate, additionalEmissions)
283
- .accountsStrict({
284
- clendGroup,
285
- admin,
286
- bank,
287
- emissionsMint,
288
- emissionsTokenAccount,
289
- emissionsFundingAccount: adminEmissionsAta,
290
- tokenProgram: emissionsMintTokenProgram,
291
- })
292
- .instruction();
293
- return ix;
294
- }
295
222
  // Account Instructions
296
223
  async initializeClendAccount(clendGroup, authority, clendAccount) {
297
224
  return this.program.methods
@@ -359,10 +286,10 @@ class Instructions {
359
286
  .remainingAccounts(remainingAccounts)
360
287
  .instruction();
361
288
  }
362
- async repay(clendGroup, clendAccount, user, bank, userTokenAccount, tokenProgram, amount, repayAll, repayUpToAmount, remainingAccounts) {
289
+ async repay(clendGroup, clendAccount, user, bank, userTokenAccount, tokenProgram, amount, repayAll = null, remainingAccounts) {
363
290
  const bankLiquidityVault = (0, addresses_1.getBankLiquidityVaultPda)(bank);
364
291
  return this.program.methods
365
- .lendingAccountRepay(amount, repayAll, repayUpToAmount)
292
+ .lendingAccountRepay(amount, repayAll)
366
293
  .accounts({
367
294
  clendGroup,
368
295
  clendAccount,
@@ -443,28 +370,6 @@ class Instructions {
443
370
  .instruction();
444
371
  return ix;
445
372
  }
446
- // withdraw accrued emissions from bank to user ata
447
- async withdrawEmissions(clendGroup, clendAccount, user, bank, emissionsMint, emissionsMintTokenProgram) {
448
- const emissionsAuth = (0, addresses_1.getEmissionsAuthPda)(bank, emissionsMint);
449
- const emissionsVault = (0, addresses_1.getEmissionsTokenAccountPda)(bank, emissionsMint);
450
- const destinationAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(emissionsMint, user, true);
451
- const createDestinationAccountIx = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(user, destinationAccount, user, emissionsMint, emissionsMintTokenProgram);
452
- const withdrawEmissionsIx = await this.program.methods
453
- .lendingAccountWithdrawEmissions()
454
- .accountsStrict({
455
- clendGroup,
456
- clendAccount,
457
- signer: user,
458
- bank,
459
- emissionsMint,
460
- emissionsAuth,
461
- emissionsVault,
462
- destinationAccount,
463
- tokenProgram: emissionsMintTokenProgram,
464
- })
465
- .instruction();
466
- return [createDestinationAccountIx, withdrawEmissionsIx];
467
- }
468
373
  async closeClendAccount(clendAccount, authority) {
469
374
  return this.program.methods
470
375
  .clendAccountClose()
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"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"}
package/dist/rpc.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AnchorProvider, Wallet, web3, BN } from "@coral-xyz/anchor";
2
2
  import { Instructions, GroupConfig } from "./instructions";
3
- import { BankConfigCompact, ClendGroup, Bank, ClendAccount, FeeState, InterestRateConfigCompact, InterestRateConfigOpt, BankOperationalState, OracleSetupArgs, EmissionsMode } from "./state";
3
+ import { BankConfigCompact, ClendGroup, Bank, ClendAccount, FeeState, InterestRateConfigCompact, InterestRateConfigOpt, BankOperationalState } from "./state";
4
4
  import { ClendEvents } from "./events";
5
5
  import { ISwapper } from "./swapper";
6
6
  export declare class ClendClient {
@@ -14,12 +14,10 @@ export declare class ClendClient {
14
14
  private mintOracleMapping;
15
15
  constructor(connection: web3.Connection, wallet: Wallet, skipPreflight: boolean, cuFeeInMicroLamports: number, defaultSwapper?: ISwapper, dryRun?: boolean, mintOracleMapping?: Map<string, string>);
16
16
  address(): web3.PublicKey;
17
- getOraclePrice(mint: web3.PublicKey): Promise<number>;
18
17
  /**
19
18
  * Get pyth oracle price for a token
20
19
  */
21
- getPythOraclePrice(mint: web3.PublicKey): Promise<number>;
22
- getSBOraclePrice(mint: web3.PublicKey): Promise<number>;
20
+ getOraclePrice(mint: web3.PublicKey): Promise<number>;
23
21
  getOracle(mint: web3.PublicKey): web3.PublicKey;
24
22
  send(ixns: web3.TransactionInstruction[], additionalSigners?: web3.Signer[], additionalLuts?: web3.PublicKey[]): Promise<string>;
25
23
  confirmTx(txSig: string): Promise<void>;
@@ -29,13 +27,10 @@ export declare class ClendClient {
29
27
  }>;
30
28
  configureGroup(clendGroup: web3.PublicKey, config: GroupConfig): Promise<string>;
31
29
  initGlobalFeeState(feeWallet: web3.PublicKey, bankInitFlatSolFee: number, programFeeFixed: BN, programFeeRate: BN): Promise<string>;
32
- addBank(clendGroup: web3.PublicKey, bankMint: web3.PublicKey, oracleSetupArgs: OracleSetupArgs, bankConfig: BankConfigCompact, interestRateConfig: InterestRateConfigCompact): Promise<{
30
+ addBank(clendGroup: web3.PublicKey, bankMint: web3.PublicKey, pythOracle: web3.PublicKey, pythOracleFeedId: web3.PublicKey, bankConfig: BankConfigCompact, interestRateConfig: InterestRateConfigCompact): Promise<{
33
31
  bank: web3.PublicKey;
34
32
  txSig: string;
35
33
  }>;
36
- setupBankEmissions(bank: web3.PublicKey, emissionsMint: web3.PublicKey, emissionsMode: EmissionsMode, emissionsRate: BN, totalEmissions: BN): Promise<string>;
37
- updateBankEmissions(bank: web3.PublicKey, emissionsMode: EmissionsMode | null, emissionsRate: BN | null, additionalEmissions: BN | null): Promise<string>;
38
- withdrawEmissions(clendAccount: web3.PublicKey, bank: web3.PublicKey): Promise<string>;
39
34
  getClendGroup(clendGroup: web3.PublicKey): Promise<ClendGroup>;
40
35
  getBank(bank: web3.PublicKey): Promise<Bank>;
41
36
  getClendAccount(clendAccount: web3.PublicKey): Promise<ClendAccount | undefined>;
@@ -50,7 +45,7 @@ export declare class ClendClient {
50
45
  deposit(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, mint: web3.PublicKey, amount: BN): Promise<string>;
51
46
  withdraw(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, mint: web3.PublicKey, amount: BN, withdrawAll?: boolean | null): Promise<string>;
52
47
  borrow(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, mint: web3.PublicKey, amount: BN): Promise<string>;
53
- repay(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, mint: web3.PublicKey, amount: BN, repayAll: boolean | null, repayUpToAmount: boolean): Promise<string>;
48
+ repay(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, mint: web3.PublicKey, amount: BN, repayAll?: boolean | null): Promise<string>;
54
49
  editGlobalFeeState(clendGroup: web3.PublicKey, newGlobalFeeWallet: web3.PublicKey | null, newBankInitFlatSolFee: number | null, newProgramFeeFixed: number | null, newProgramFeeRate: number | null): Promise<string>;
55
50
  collectBankFees(clendGroup: web3.PublicKey, mint: web3.PublicKey): Promise<string>;
56
51
  resetBankFees(bank: web3.PublicKey): Promise<string>;
@@ -86,8 +81,7 @@ export declare class ClendClient {
86
81
  configureBankDepositLimit(bank: web3.PublicKey, depositLimit: BN): Promise<string>;
87
82
  configureBankBorrowLimit(bank: web3.PublicKey, borrowLimit: BN): Promise<string>;
88
83
  configureBankOracleMaxAge(clendGroup: web3.PublicKey, bank: web3.PublicKey, maxAge: number): Promise<string>;
89
- configureBankPythOracle(bank: web3.PublicKey, pythOracle: web3.PublicKey, pythOracleFeed: web3.PublicKey): Promise<string>;
90
- configureBankSBOracle(bank: web3.PublicKey, pullFeedAccount: web3.PublicKey): Promise<string>;
84
+ configureBankOracle(bank: web3.PublicKey, pythOracle: web3.PublicKey, pythOracleFeed: web3.PublicKey): Promise<string>;
91
85
  setBankOperationalState(clendGroup: web3.PublicKey, bank: web3.PublicKey, operationalState: BankOperationalState): Promise<string>;
92
86
  depositLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey | null, selectedMint: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, depositAmount: BN, targetLeverage: number, slippageBps: number, swapperOverride?: ISwapper): Promise<string>;
93
87
  getDepositLeverageFromDebtIxns(clendGroup: web3.PublicKey, user: web3.PublicKey, clendAccount: web3.PublicKey | null, collateralMint: web3.PublicKey, // e.g., JLP
@@ -106,7 +100,7 @@ export declare class ClendClient {
106
100
  luts: web3.PublicKey[];
107
101
  additionalSigners: web3.Keypair[];
108
102
  }>;
109
- getDepositLeverageFromCollateralParams(clendGroup: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, depositAmount: BN, targetLeverage: number, slippageBps: number): Promise<{
103
+ getDepositLeverageFromCollateralParams(clendGroup: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, depositAmount: BN, targetLeverage: number, slippageBps: number, swapperOverride?: ISwapper): Promise<{
110
104
  borrowAmount: BN;
111
105
  totalDepositAmount: BN;
112
106
  debtBankData: Bank;
@@ -141,21 +135,21 @@ export declare class ClendClient {
141
135
  collateralBankData: Bank;
142
136
  }>;
143
137
  withdrawLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, selectedMint: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, withdrawAmount: BN, withdrawAll: boolean, slippageBps: number, swapperOverride?: ISwapper): Promise<string>;
144
- getWithdrawLeverageDebtIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, collateralDecimals: number, debtDecimals: number, withdrawAll: boolean, debtToRepay: BN, collateralToWithdraw: BN, slippageBps: number, additionalIxnCount: number, swapperOverride?: ISwapper): Promise<{
138
+ getWithdrawLeverageCollateralIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, collateralDecimals: number, debtDecimals: number, withdrawAll: boolean, debtToRepay: BN, collateralToWithdraw: BN, slippageBps: number, additionalIxnCount: number, swapperOverride?: ISwapper): Promise<{
139
+ ixns: web3.TransactionInstruction[];
140
+ luts: web3.PublicKey[];
141
+ }>;
142
+ getWithdrawLeverageDebtIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, collateralDecimals: number, debtDecimals: number, withdrawAll: boolean, debtToRepay: BN, collateralToWithdraw: BN, desiredNetDebtToReceive: BN, slippageBps: number, additionalIxnCount: number, swapperOverride?: ISwapper): Promise<{
145
143
  ixns: web3.TransactionInstruction[];
146
144
  luts: web3.PublicKey[];
147
145
  }>;
148
- getNetWithdrawLeverageCollateralParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean): Promise<{
146
+ getNetWithdrawLeverageCollateralParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean, slippageBps: number, swapperOverride?: ISwapper): Promise<{
149
147
  debtToRepay: BN;
150
148
  collateralToWithdraw: BN;
151
149
  collateralBankData: Bank;
152
150
  debtBankData: Bank;
153
151
  }>;
154
- getWithdrawLeverageCollateralIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, collateralDecimals: number, debtDecimals: number, withdrawAll: boolean, collateralToWithdraw: BN, desiredNetCollateralToReceive: BN, slippageBps: number, additionalIxnCount: number, swapperOverride?: ISwapper): Promise<{
155
- ixns: web3.TransactionInstruction[];
156
- luts: web3.PublicKey[];
157
- }>;
158
- getNetWithdrawLeverageDebtParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean, swapperOverride?: ISwapper): Promise<{
152
+ getNetWithdrawLeverageDebtParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean, slippageBps: number, swapperOverride?: ISwapper): Promise<{
159
153
  debtToRepay: BN;
160
154
  collateralToWithdraw: BN;
161
155
  collateralBankData: Bank;