@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.
- package/dist/cjs/sdk/index.cjs +20 -20
- package/dist/cjs/sdk/index.d.ts +12 -2
- package/dist/esm/sdk/index.d.mts +12 -2
- package/dist/esm/sdk/index.mjs +20 -20
- package/package.json +1 -1
package/dist/cjs/sdk/index.cjs
CHANGED
|
@@ -22440,17 +22440,16 @@ var CreditAccountsService = class extends SDKConstruct {
|
|
|
22440
22440
|
* @param slippage
|
|
22441
22441
|
* @returns
|
|
22442
22442
|
*/
|
|
22443
|
-
async closeCreditAccount(
|
|
22444
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
22445
|
-
|
|
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
|
|
22453
|
-
|
|
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(
|
|
22544
|
-
|
|
22545
|
-
|
|
22546
|
-
|
|
22547
|
-
|
|
22548
|
-
|
|
22549
|
-
|
|
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.
|
|
22579
|
+
if (ca.debt > 0n) {
|
|
22580
22580
|
return [
|
|
22581
22581
|
{
|
|
22582
22582
|
target: ca.creditFacade,
|
package/dist/cjs/sdk/index.d.ts
CHANGED
|
@@ -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" | "
|
|
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(
|
|
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
|
package/dist/esm/sdk/index.d.mts
CHANGED
|
@@ -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" | "
|
|
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(
|
|
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
|
package/dist/esm/sdk/index.mjs
CHANGED
|
@@ -22438,17 +22438,16 @@ var CreditAccountsService = class extends SDKConstruct {
|
|
|
22438
22438
|
* @param slippage
|
|
22439
22439
|
* @returns
|
|
22440
22440
|
*/
|
|
22441
|
-
async closeCreditAccount(
|
|
22442
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
22443
|
-
|
|
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
|
|
22451
|
-
|
|
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(
|
|
22542
|
-
|
|
22543
|
-
|
|
22544
|
-
|
|
22545
|
-
|
|
22546
|
-
|
|
22547
|
-
|
|
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.
|
|
22577
|
+
if (ca.debt > 0n) {
|
|
22578
22578
|
return [
|
|
22579
22579
|
{
|
|
22580
22580
|
target: ca.creditFacade,
|