@gearbox-protocol/sdk 3.0.0-vfour.83 → 3.0.0-vfour.85

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.
@@ -22440,17 +22440,16 @@ var CreditAccountsService = class extends SDKConstruct {
22440
22440
  * @param slippage
22441
22441
  * @returns
22442
22442
  */
22443
- async closeCreditAccount(operation, ca, assetsToKeep, to, slippage = 50n, closeCall) {
22444
- const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
22445
- const { calls } = closeCall ? { calls: closeCall } : await this.#prepareCloseCreditAccount(
22446
- ca,
22447
- cm,
22448
- assetsToKeep,
22449
- to,
22450
- slippage
22443
+ async closeCreditAccount(props) {
22444
+ const cm = this.sdk.marketRegister.findCreditManager(
22445
+ props.ca.creditManager
22451
22446
  );
22452
- const tx = operation === "close" ? cm.creditFacade.closeCreditAccount(ca.creditAccount, calls) : cm.creditFacade.multicall(ca.creditAccount, calls);
22453
- return { tx };
22447
+ const { calls, routerCloseResult } = await this.#prepareCloseCreditAccount({
22448
+ ...props,
22449
+ cm
22450
+ });
22451
+ const tx = props.operation === "close" ? cm.creditFacade.closeCreditAccount(props.ca.creditAccount, calls) : cm.creditFacade.multicall(props.ca.creditAccount, calls);
22452
+ return { tx, calls, routerCloseResult };
22454
22453
  }
22455
22454
  /**
22456
22455
  * Internal wrapper for CreditAccountCompressor.getCreditAccounts + price updates wrapped into multicall
@@ -22540,15 +22539,16 @@ var CreditAccountsService = class extends SDKConstruct {
22540
22539
  const updates = await this.getOnDemandPriceUpdates(acc);
22541
22540
  return cm.creditFacade.encodeOnDemandPriceUpdates(updates);
22542
22541
  }
22543
- async #prepareCloseCreditAccount(ca, cm, assetsToKeep, to, slippage = 50n) {
22544
- const routerCloseResult = await this.sdk.router.findBestClosePath(
22545
- ca,
22546
- cm.creditManager,
22547
- slippage
22548
- );
22549
- const priceUpdates = await this.getPriceUpdatesForFacade(ca);
22542
+ async #prepareCloseCreditAccount({
22543
+ ca,
22544
+ cm,
22545
+ assetsToKeep,
22546
+ to,
22547
+ slippage = 50n,
22548
+ closePath
22549
+ }) {
22550
+ const routerCloseResult = closePath || await this.sdk.router.findBestClosePath(ca, cm.creditManager, slippage);
22550
22551
  const calls = [
22551
- ...priceUpdates,
22552
22552
  ...routerCloseResult.calls,
22553
22553
  ...this.#prepareDisableQuotas(ca),
22554
22554
  ...this.#prepareDecreaseDebt(ca),
@@ -22557,7 +22557,7 @@ var CreditAccountsService = class extends SDKConstruct {
22557
22557
  (t) => this.#prepareWithdrawToken(ca, t, MAX_UINT256, to)
22558
22558
  )
22559
22559
  ];
22560
- return { calls };
22560
+ return { calls, routerCloseResult };
22561
22561
  }
22562
22562
  #prepareDisableQuotas(ca) {
22563
22563
  const calls = [];
@@ -22576,7 +22576,7 @@ var CreditAccountsService = class extends SDKConstruct {
22576
22576
  return calls;
22577
22577
  }
22578
22578
  #prepareDecreaseDebt(ca) {
22579
- if (ca.totalDebtUSD > 0n) {
22579
+ if (ca.debt > 0n) {
22580
22580
  return [
22581
22581
  {
22582
22582
  target: ca.creditFacade,
@@ -24946,7 +24946,7 @@ interface CreditManagerSlice {
24946
24946
  address: Address;
24947
24947
  collateralTokens: Address[];
24948
24948
  }
24949
- type CreditAccountDataSlice = Pick<CreditAccountData, "tokens" | "enabledTokensMask" | "underlying" | "creditAccount" | "creditFacade" | "totalDebtUSD" | "creditManager">;
24949
+ type CreditAccountDataSlice = Pick<CreditAccountData, "tokens" | "enabledTokensMask" | "underlying" | "creditAccount" | "creditFacade" | "debt" | "creditManager">;
24950
24950
  declare class RouterV3Contract extends BaseContract<abi> implements IHooks<RouterHooks> {
24951
24951
  #private;
24952
24952
  constructor(sdk: GearboxSDK, address: Address);
@@ -25184,6 +25184,16 @@ interface FullyLiquidateAccountResult {
25184
25184
  }
25185
25185
  interface CloseCreditAccountResult {
25186
25186
  tx: RawTx;
25187
+ calls: Array<MultiCall>;
25188
+ routerCloseResult: RouterCloseResult;
25189
+ }
25190
+ interface CloseCreditAccountProps {
25191
+ operation: "close" | "zeroDebt";
25192
+ ca: CreditAccountDataSlice;
25193
+ assetsToKeep: Address[];
25194
+ to: Address;
25195
+ slippage?: bigint;
25196
+ closePath?: RouterCloseResult;
25187
25197
  }
25188
25198
  declare class CreditAccountsService extends SDKConstruct {
25189
25199
  #private;
@@ -25225,7 +25235,7 @@ declare class CreditAccountsService extends SDKConstruct {
25225
25235
  * @param slippage
25226
25236
  * @returns
25227
25237
  */
25228
- closeCreditAccount(operation: "close" | "zeroDebt", ca: CreditAccountDataSlice, assetsToKeep: Address[], to: Address, slippage?: bigint, closeCall?: Array<MultiCall>): Promise<CloseCreditAccountResult>;
25238
+ closeCreditAccount(props: CloseCreditAccountProps): Promise<CloseCreditAccountResult>;
25229
25239
  /**
25230
25240
  * Returns raw txs that are needed to update all price feeds so that all credit accounts (possibly from different markets) compute
25231
25241
  * @param accounts
@@ -24946,7 +24946,7 @@ interface CreditManagerSlice {
24946
24946
  address: Address;
24947
24947
  collateralTokens: Address[];
24948
24948
  }
24949
- type CreditAccountDataSlice = Pick<CreditAccountData, "tokens" | "enabledTokensMask" | "underlying" | "creditAccount" | "creditFacade" | "totalDebtUSD" | "creditManager">;
24949
+ type CreditAccountDataSlice = Pick<CreditAccountData, "tokens" | "enabledTokensMask" | "underlying" | "creditAccount" | "creditFacade" | "debt" | "creditManager">;
24950
24950
  declare class RouterV3Contract extends BaseContract<abi> implements IHooks<RouterHooks> {
24951
24951
  #private;
24952
24952
  constructor(sdk: GearboxSDK, address: Address);
@@ -25184,6 +25184,16 @@ interface FullyLiquidateAccountResult {
25184
25184
  }
25185
25185
  interface CloseCreditAccountResult {
25186
25186
  tx: RawTx;
25187
+ calls: Array<MultiCall>;
25188
+ routerCloseResult: RouterCloseResult;
25189
+ }
25190
+ interface CloseCreditAccountProps {
25191
+ operation: "close" | "zeroDebt";
25192
+ ca: CreditAccountDataSlice;
25193
+ assetsToKeep: Address[];
25194
+ to: Address;
25195
+ slippage?: bigint;
25196
+ closePath?: RouterCloseResult;
25187
25197
  }
25188
25198
  declare class CreditAccountsService extends SDKConstruct {
25189
25199
  #private;
@@ -25225,7 +25235,7 @@ declare class CreditAccountsService extends SDKConstruct {
25225
25235
  * @param slippage
25226
25236
  * @returns
25227
25237
  */
25228
- closeCreditAccount(operation: "close" | "zeroDebt", ca: CreditAccountDataSlice, assetsToKeep: Address[], to: Address, slippage?: bigint, closeCall?: Array<MultiCall>): Promise<CloseCreditAccountResult>;
25238
+ closeCreditAccount(props: CloseCreditAccountProps): Promise<CloseCreditAccountResult>;
25229
25239
  /**
25230
25240
  * Returns raw txs that are needed to update all price feeds so that all credit accounts (possibly from different markets) compute
25231
25241
  * @param accounts
@@ -22438,17 +22438,16 @@ var CreditAccountsService = class extends SDKConstruct {
22438
22438
  * @param slippage
22439
22439
  * @returns
22440
22440
  */
22441
- async closeCreditAccount(operation, ca, assetsToKeep, to, slippage = 50n, closeCall) {
22442
- const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
22443
- const { calls } = closeCall ? { calls: closeCall } : await this.#prepareCloseCreditAccount(
22444
- ca,
22445
- cm,
22446
- assetsToKeep,
22447
- to,
22448
- slippage
22441
+ async closeCreditAccount(props) {
22442
+ const cm = this.sdk.marketRegister.findCreditManager(
22443
+ props.ca.creditManager
22449
22444
  );
22450
- const tx = operation === "close" ? cm.creditFacade.closeCreditAccount(ca.creditAccount, calls) : cm.creditFacade.multicall(ca.creditAccount, calls);
22451
- return { tx };
22445
+ const { calls, routerCloseResult } = await this.#prepareCloseCreditAccount({
22446
+ ...props,
22447
+ cm
22448
+ });
22449
+ const tx = props.operation === "close" ? cm.creditFacade.closeCreditAccount(props.ca.creditAccount, calls) : cm.creditFacade.multicall(props.ca.creditAccount, calls);
22450
+ return { tx, calls, routerCloseResult };
22452
22451
  }
22453
22452
  /**
22454
22453
  * Internal wrapper for CreditAccountCompressor.getCreditAccounts + price updates wrapped into multicall
@@ -22538,15 +22537,16 @@ var CreditAccountsService = class extends SDKConstruct {
22538
22537
  const updates = await this.getOnDemandPriceUpdates(acc);
22539
22538
  return cm.creditFacade.encodeOnDemandPriceUpdates(updates);
22540
22539
  }
22541
- async #prepareCloseCreditAccount(ca, cm, assetsToKeep, to, slippage = 50n) {
22542
- const routerCloseResult = await this.sdk.router.findBestClosePath(
22543
- ca,
22544
- cm.creditManager,
22545
- slippage
22546
- );
22547
- const priceUpdates = await this.getPriceUpdatesForFacade(ca);
22540
+ async #prepareCloseCreditAccount({
22541
+ ca,
22542
+ cm,
22543
+ assetsToKeep,
22544
+ to,
22545
+ slippage = 50n,
22546
+ closePath
22547
+ }) {
22548
+ const routerCloseResult = closePath || await this.sdk.router.findBestClosePath(ca, cm.creditManager, slippage);
22548
22549
  const calls = [
22549
- ...priceUpdates,
22550
22550
  ...routerCloseResult.calls,
22551
22551
  ...this.#prepareDisableQuotas(ca),
22552
22552
  ...this.#prepareDecreaseDebt(ca),
@@ -22555,7 +22555,7 @@ var CreditAccountsService = class extends SDKConstruct {
22555
22555
  (t) => this.#prepareWithdrawToken(ca, t, MAX_UINT256, to)
22556
22556
  )
22557
22557
  ];
22558
- return { calls };
22558
+ return { calls, routerCloseResult };
22559
22559
  }
22560
22560
  #prepareDisableQuotas(ca) {
22561
22561
  const calls = [];
@@ -22574,7 +22574,7 @@ var CreditAccountsService = class extends SDKConstruct {
22574
22574
  return calls;
22575
22575
  }
22576
22576
  #prepareDecreaseDebt(ca) {
22577
- if (ca.totalDebtUSD > 0n) {
22577
+ if (ca.debt > 0n) {
22578
22578
  return [
22579
22579
  {
22580
22580
  target: ca.creditFacade,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "3.0.0-vfour.83",
3
+ "version": "3.0.0-vfour.85",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.cjs",