@gearbox-protocol/sdk 14.11.3 → 14.12.0-next.1
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/common-utils/utils/index.js +2 -0
- package/dist/cjs/{history/trace-utils.js → common-utils/utils/trace.js} +62 -5
- package/dist/cjs/dev/index.js +3 -1
- package/dist/cjs/dev/verifyTestnet.js +52 -0
- package/dist/cjs/history/assembleOperations.js +6 -6
- package/dist/cjs/history/classifyMulticallOperations.js +31 -25
- package/dist/cjs/history/index.js +0 -2
- package/dist/cjs/history/parseCreditAccountTransaction.js +5 -6
- package/dist/cjs/history/toLegacyOperation.js +5 -1
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +25 -37
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
- package/dist/cjs/{history/internal-types.js → plugins/adapters/transfers.js} +2 -2
- package/dist/cjs/preview/index.js +28 -0
- package/dist/cjs/preview/package.json +1 -0
- package/dist/cjs/preview/parse/classifyInnerOperations.js +92 -0
- package/dist/cjs/preview/parse/errors.js +47 -0
- package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +48 -0
- package/dist/cjs/preview/parse/index.js +34 -0
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +115 -0
- package/dist/cjs/preview/parse/parseOperationCalldata.js +46 -0
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +77 -0
- package/dist/cjs/{history/inner-operations.js → preview/parse/types-adapters.js} +2 -2
- package/dist/cjs/preview/parse/types-facades.js +16 -0
- package/dist/cjs/preview/parse/types-pools.js +16 -0
- package/dist/cjs/preview/parse/types.js +37 -0
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +78 -0
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +77 -0
- package/dist/cjs/preview/prerequisites/Prerequisite.js +85 -0
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +187 -0
- package/dist/cjs/preview/prerequisites/index.js +34 -0
- package/dist/cjs/preview/prerequisites/prepareAction.js +48 -0
- package/dist/cjs/preview/prerequisites/runPrerequisites.js +71 -0
- package/dist/cjs/preview/prerequisites/types.js +16 -0
- package/dist/cjs/preview/simulate/constants.js +28 -0
- package/dist/cjs/preview/simulate/errors.js +98 -0
- package/dist/cjs/preview/simulate/extractERC20Transfers.js +47 -0
- package/dist/cjs/preview/simulate/holders.js +45 -0
- package/dist/cjs/preview/simulate/index.js +40 -0
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +30 -0
- package/dist/cjs/preview/simulate/simulateOperation.js +37 -0
- package/dist/cjs/preview/simulate/simulatePoolOpMulticall.js +155 -0
- package/dist/cjs/preview/simulate/simulatePoolOpV1.js +106 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +62 -0
- package/dist/cjs/preview/simulate/types.js +16 -0
- package/dist/cjs/{history → preview/trace}/errors.js +0 -26
- package/dist/cjs/preview/trace/extractAdapterCallTraces.js +58 -0
- package/dist/cjs/{history → preview/trace}/extractTransfers.js +9 -12
- package/dist/cjs/{history → preview/trace}/findFacadeCalls.js +3 -3
- package/dist/cjs/preview/trace/index.js +30 -0
- package/dist/cjs/preview/trace/types.js +16 -0
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +154 -0
- package/dist/esm/common-utils/utils/index.js +1 -0
- package/dist/esm/common-utils/utils/trace.js +93 -0
- package/dist/esm/dev/index.js +1 -0
- package/dist/esm/dev/verifyTestnet.js +27 -0
- package/dist/esm/history/assembleOperations.js +8 -6
- package/dist/esm/history/classifyMulticallOperations.js +29 -23
- package/dist/esm/history/index.js +0 -1
- package/dist/esm/history/parseCreditAccountTransaction.js +3 -4
- package/dist/esm/history/toLegacyOperation.js +5 -1
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +28 -38
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
- package/dist/esm/preview/index.js +4 -0
- package/dist/esm/preview/package.json +1 -0
- package/dist/esm/preview/parse/classifyInnerOperations.js +68 -0
- package/dist/esm/preview/parse/errors.js +22 -0
- package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +24 -0
- package/dist/esm/preview/parse/index.js +7 -0
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +91 -0
- package/dist/esm/preview/parse/parseOperationCalldata.js +25 -0
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +53 -0
- package/dist/esm/preview/parse/types-facades.js +0 -0
- package/dist/esm/preview/parse/types-pools.js +0 -0
- package/dist/esm/preview/parse/types.js +9 -0
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +57 -0
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +56 -0
- package/dist/esm/preview/prerequisites/Prerequisite.js +63 -0
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +163 -0
- package/dist/esm/preview/prerequisites/index.js +7 -0
- package/dist/esm/preview/prerequisites/prepareAction.js +23 -0
- package/dist/esm/preview/prerequisites/runPrerequisites.js +47 -0
- package/dist/esm/preview/prerequisites/types.js +0 -0
- package/dist/esm/preview/simulate/constants.js +4 -0
- package/dist/esm/preview/simulate/errors.js +75 -0
- package/dist/esm/preview/simulate/extractERC20Transfers.js +23 -0
- package/dist/esm/preview/simulate/holders.js +21 -0
- package/dist/esm/preview/simulate/index.js +12 -0
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +6 -0
- package/dist/esm/preview/simulate/simulateOperation.js +13 -0
- package/dist/esm/preview/simulate/simulatePoolOpMulticall.js +130 -0
- package/dist/esm/preview/simulate/simulatePoolOpV1.js +82 -0
- package/dist/esm/preview/simulate/simulatePoolOperation.js +41 -0
- package/dist/esm/preview/simulate/types.js +0 -0
- package/dist/esm/{history → preview/trace}/errors.js +0 -24
- package/dist/esm/preview/trace/extractAdapterCallTraces.js +40 -0
- package/dist/esm/{history → preview/trace}/extractTransfers.js +9 -12
- package/dist/esm/{history → preview/trace}/findFacadeCalls.js +4 -2
- package/dist/esm/preview/trace/index.js +5 -0
- package/dist/esm/preview/trace/types.js +0 -0
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +154 -0
- package/dist/types/common-utils/utils/index.d.ts +1 -0
- package/dist/types/common-utils/utils/trace.d.ts +73 -0
- package/dist/types/dev/index.d.ts +1 -0
- package/dist/types/dev/verifyTestnet.d.ts +24 -0
- package/dist/types/history/assembleOperations.d.ts +11 -6
- package/dist/types/history/classifyMulticallOperations.d.ts +21 -9
- package/dist/types/history/index.d.ts +0 -1
- package/dist/types/history/mapOperations.d.ts +7 -9
- package/dist/types/history/types.d.ts +22 -71
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +16 -17
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +10 -1
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +1 -1
- package/dist/types/plugins/adapters/transferHelpers.d.ts +1 -1
- package/dist/types/plugins/adapters/transfers.d.ts +17 -0
- package/dist/types/plugins/adapters/types.d.ts +8 -46
- package/dist/types/preview/index.d.ts +4 -0
- package/dist/types/preview/parse/classifyInnerOperations.d.ts +21 -0
- package/dist/types/preview/parse/errors.d.ts +17 -0
- package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +22 -0
- package/dist/types/preview/parse/index.d.ts +7 -0
- package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +19 -0
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +23 -0
- package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +17 -0
- package/dist/types/preview/parse/types-adapters.d.ts +69 -0
- package/dist/types/preview/parse/types-facades.d.ts +158 -0
- package/dist/types/preview/parse/types-pools.d.ts +55 -0
- package/dist/types/preview/parse/types.d.ts +44 -0
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +24 -0
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +23 -0
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +60 -0
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +16 -0
- package/dist/types/preview/prerequisites/index.d.ts +7 -0
- package/dist/types/preview/prerequisites/prepareAction.d.ts +52 -0
- package/dist/types/preview/prerequisites/runPrerequisites.d.ts +12 -0
- package/dist/types/preview/prerequisites/types.d.ts +78 -0
- package/dist/types/preview/simulate/constants.d.ts +6 -0
- package/dist/types/preview/simulate/errors.d.ts +51 -0
- package/dist/types/preview/simulate/extractERC20Transfers.d.ts +11 -0
- package/dist/types/preview/simulate/holders.d.ts +7 -0
- package/dist/types/preview/simulate/index.d.ts +9 -0
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +25 -0
- package/dist/types/preview/simulate/simulateOperation.d.ts +20 -0
- package/dist/types/preview/simulate/simulatePoolOpMulticall.d.ts +28 -0
- package/dist/types/preview/simulate/simulatePoolOpV1.d.ts +14 -0
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +8 -0
- package/dist/types/preview/simulate/types.d.ts +79 -0
- package/dist/types/{history → preview/trace}/errors.d.ts +0 -10
- package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +23 -0
- package/dist/types/{history → preview/trace}/extractTransfers.d.ts +14 -5
- package/dist/types/{history → preview/trace}/findFacadeCalls.d.ts +3 -2
- package/dist/types/preview/trace/index.d.ts +5 -0
- package/dist/types/preview/trace/types.d.ts +21 -0
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +21 -1
- package/dist/types/sdk/accounts/types.d.ts +82 -0
- package/package.json +6 -1
- package/dist/cjs/history/extractProtocolCalls.js +0 -53
- package/dist/esm/history/extractProtocolCalls.js +0 -32
- package/dist/esm/history/trace-utils.js +0 -36
- package/dist/types/history/extractProtocolCalls.d.ts +0 -8
- package/dist/types/history/inner-operations.d.ts +0 -57
- package/dist/types/history/internal-types.d.ts +0 -47
- package/dist/types/history/trace-utils.d.ts +0 -12
- /package/dist/esm/{history/inner-operations.js → plugins/adapters/transfers.js} +0 -0
- /package/dist/esm/{history/internal-types.js → preview/parse/types-adapters.js} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { CallTrace } from "../../common-utils/utils/trace.js";
|
|
3
|
+
import type { ParsedCallV2 } from "../../sdk/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* The set of credit facade entry-point functions that produce history operations.
|
|
6
|
+
*/
|
|
7
|
+
export type FacadeCallType = "MultiCall" | "BotMulticall" | "OpenCreditAccount" | "CloseCreditAccount" | "LiquidateCreditAccount" | "PartiallyLiquidateCreditAccount";
|
|
8
|
+
/**
|
|
9
|
+
* A parsed credit facade call extracted from a call trace,
|
|
10
|
+
* with inner multicall calls already decoded.
|
|
11
|
+
*/
|
|
12
|
+
export interface FacadeParsedCall {
|
|
13
|
+
operation: FacadeCallType;
|
|
14
|
+
creditAccount: Address;
|
|
15
|
+
/** The full ParsedCallV2 from facade calldata parsing. */
|
|
16
|
+
parsed: ParsedCallV2;
|
|
17
|
+
/** Inner multicall entries from rawArgs.calls (empty for partiallyLiquidateCreditAccount). */
|
|
18
|
+
innerCalls: ParsedCallV2[];
|
|
19
|
+
/** The full call trace node for this facade call (used to extract protocol-level calldata). */
|
|
20
|
+
trace: CallTrace;
|
|
21
|
+
}
|
|
@@ -6,7 +6,7 @@ import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
|
|
|
6
6
|
import type { OnchainSDK } from "../OnchainSDK.js";
|
|
7
7
|
import { type RouterCASlice } from "../router/index.js";
|
|
8
8
|
import type { MultiCall, RawTx } from "../types/index.js";
|
|
9
|
-
import type { AccountToCheck, AddCollateralProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, PreviewDelayedWithdrawalResult, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
|
|
9
|
+
import type { AccountToCheck, AddCollateralProps, AssembleCaUpdateCallsProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, PreviewDelayedWithdrawalResult, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
|
|
10
10
|
/**
|
|
11
11
|
* Options for configuring the credit account service.
|
|
12
12
|
**/
|
|
@@ -204,6 +204,26 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
|
|
|
204
204
|
botMulticall(creditAccount: RouterCASlice, calls: MultiCall[], options?: {
|
|
205
205
|
ignoreReservePrices?: boolean;
|
|
206
206
|
}): Promise<RawTx>;
|
|
207
|
+
/**
|
|
208
|
+
* {@inheritDoc ICreditAccountsService.prependPriceUpdates}
|
|
209
|
+
*/
|
|
210
|
+
prependPriceUpdates(creditManager: Address, calls: MultiCall[], creditAccount?: RouterCASlice, options?: {
|
|
211
|
+
ignoreReservePrices?: boolean;
|
|
212
|
+
}): Promise<MultiCall[]>;
|
|
213
|
+
/**
|
|
214
|
+
* {@inheritDoc ICreditAccountsService.assembleCaUpdateCalls}
|
|
215
|
+
*/
|
|
216
|
+
assembleCaUpdateCalls({ operations, routerCallGroups, creditFacade, withdrawTo, creditAccount, underlyingToken, }: AssembleCaUpdateCallsProps): MultiCall[];
|
|
217
|
+
/**
|
|
218
|
+
* {@inheritDoc ICreditAccountsService.executeCaUpdate}
|
|
219
|
+
*/
|
|
220
|
+
executeCaUpdate(creditAccount: RouterCASlice, calls: MultiCall[], options?: {
|
|
221
|
+
ignoreReservePrices?: boolean;
|
|
222
|
+
ethAmount?: bigint;
|
|
223
|
+
}): Promise<{
|
|
224
|
+
tx: RawTx;
|
|
225
|
+
calls: MultiCall[];
|
|
226
|
+
}>;
|
|
207
227
|
/**
|
|
208
228
|
* Returns addresses of market configurators
|
|
209
229
|
*/
|
|
@@ -672,6 +672,53 @@ export type GetApprovalAddressProps = {
|
|
|
672
672
|
creditManager: Address;
|
|
673
673
|
creditAccount: Address;
|
|
674
674
|
};
|
|
675
|
+
/**
|
|
676
|
+
* A single step in a generic credit account update operation chain.
|
|
677
|
+
*
|
|
678
|
+
* Used by {@link ICreditAccountsService.assembleCaUpdateCalls} to build the
|
|
679
|
+
* underlying credit facade multicall calls.
|
|
680
|
+
*/
|
|
681
|
+
export type CreditAccountUpdateOperation = {
|
|
682
|
+
type: "increaseDebt";
|
|
683
|
+
amount: bigint;
|
|
684
|
+
} | {
|
|
685
|
+
type: "decreaseDebt";
|
|
686
|
+
amount: bigint;
|
|
687
|
+
} | {
|
|
688
|
+
type: "addCollateral";
|
|
689
|
+
token: Address;
|
|
690
|
+
amount: bigint;
|
|
691
|
+
} | {
|
|
692
|
+
type: "withdrawCollateral";
|
|
693
|
+
token: Address;
|
|
694
|
+
amount: bigint;
|
|
695
|
+
} | {
|
|
696
|
+
type: "swap";
|
|
697
|
+
} | {
|
|
698
|
+
type: "changeQuota";
|
|
699
|
+
quotaIncrease: Array<Asset>;
|
|
700
|
+
quotaDecrease: Array<Asset>;
|
|
701
|
+
} | {
|
|
702
|
+
type: "closeCreditAccount";
|
|
703
|
+
};
|
|
704
|
+
/**
|
|
705
|
+
* Input for {@link ICreditAccountsService.assembleCaUpdateCalls}.
|
|
706
|
+
*/
|
|
707
|
+
export type AssembleCaUpdateCallsProps = {
|
|
708
|
+
operations: Array<CreditAccountUpdateOperation>;
|
|
709
|
+
/** One group per swap leg (in order), or a single group for the close path. */
|
|
710
|
+
routerCallGroups: Array<Array<MultiCall>>;
|
|
711
|
+
creditFacade: Address;
|
|
712
|
+
withdrawTo: Address;
|
|
713
|
+
creditAccount: {
|
|
714
|
+
debt: bigint;
|
|
715
|
+
assets: Array<Asset>;
|
|
716
|
+
initialQuotas: Record<Address, {
|
|
717
|
+
quota: bigint;
|
|
718
|
+
}>;
|
|
719
|
+
};
|
|
720
|
+
underlyingToken: Address;
|
|
721
|
+
};
|
|
675
722
|
export interface ICreditAccountsService extends Construct {
|
|
676
723
|
sdk: OnchainSDK;
|
|
677
724
|
/**
|
|
@@ -883,6 +930,41 @@ export interface ICreditAccountsService extends Construct {
|
|
|
883
930
|
botMulticall(creditAccount: RouterCASlice, calls: Array<MultiCall>, options?: {
|
|
884
931
|
ignoreReservePrices?: boolean;
|
|
885
932
|
}): Promise<RawTx>;
|
|
933
|
+
/**
|
|
934
|
+
* Analyzes a multicall array and prepends necessary on-demand price feed updates.
|
|
935
|
+
*
|
|
936
|
+
* @param creditManager - Credit manager address
|
|
937
|
+
* @param calls - Original multicall payload
|
|
938
|
+
* @param creditAccount - Optional credit account slice (used to determine which tokens need prices)
|
|
939
|
+
* @param options - Optional settings for price update generation
|
|
940
|
+
* @returns Multicall payload with price updates prepended when needed
|
|
941
|
+
*/
|
|
942
|
+
prependPriceUpdates(creditManager: Address, calls: Array<MultiCall>, creditAccount?: RouterCASlice, options?: {
|
|
943
|
+
ignoreReservePrices?: boolean;
|
|
944
|
+
}): Promise<Array<MultiCall>>;
|
|
945
|
+
/**
|
|
946
|
+
* Builds the credit facade multicall calls for a chain of update operations.
|
|
947
|
+
*
|
|
948
|
+
* @param props - Operation chain, router call groups and account context
|
|
949
|
+
* @returns Array of facade multicall calls (without price feed updates)
|
|
950
|
+
*/
|
|
951
|
+
assembleCaUpdateCalls(props: AssembleCaUpdateCallsProps): Array<MultiCall>;
|
|
952
|
+
/**
|
|
953
|
+
* Executes a credit account update: prepends price feed updates and builds the raw
|
|
954
|
+
* multicall transaction. Uses the RWA factory when applicable.
|
|
955
|
+
*
|
|
956
|
+
* @param creditAccount - Credit account to update
|
|
957
|
+
* @param calls - Operation calls to execute
|
|
958
|
+
* @param options - Optional price update and ETH value settings
|
|
959
|
+
* @returns Raw transaction and the final multicall payload
|
|
960
|
+
*/
|
|
961
|
+
executeCaUpdate(creditAccount: RouterCASlice, calls: Array<MultiCall>, options?: {
|
|
962
|
+
ignoreReservePrices?: boolean;
|
|
963
|
+
ethAmount?: bigint;
|
|
964
|
+
}): Promise<{
|
|
965
|
+
tx: RawTx;
|
|
966
|
+
calls: Array<MultiCall>;
|
|
967
|
+
}>;
|
|
886
968
|
/**
|
|
887
969
|
* Returns multicall entries to redeem (unwrap) RWA ERC-4626 vault shares into underlying for the given credit manager.
|
|
888
970
|
* Used when withdrawing debt from a RWA market: redeems adapter vault shares so the underlying can be withdrawn.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gearbox-protocol/sdk",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.12.0-next.1",
|
|
4
4
|
"description": "Gearbox SDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -44,6 +44,11 @@
|
|
|
44
44
|
"import": "./dist/esm/permissionless/index.js",
|
|
45
45
|
"default": "./dist/cjs/permissionless/index.js"
|
|
46
46
|
},
|
|
47
|
+
"./preview": {
|
|
48
|
+
"types": "./dist/types/preview/index.d.ts",
|
|
49
|
+
"import": "./dist/esm/preview/index.js",
|
|
50
|
+
"default": "./dist/cjs/preview/index.js"
|
|
51
|
+
},
|
|
47
52
|
"./common-utils": {
|
|
48
53
|
"types": "./dist/types/common-utils/index.d.ts",
|
|
49
54
|
"import": "./dist/esm/common-utils/index.js",
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var extractProtocolCalls_exports = {};
|
|
20
|
-
__export(extractProtocolCalls_exports, {
|
|
21
|
-
extractProtocolCalls: () => extractProtocolCalls
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(extractProtocolCalls_exports);
|
|
24
|
-
var import_errors = require("./errors.js");
|
|
25
|
-
var import_trace_utils = require("./trace-utils.js");
|
|
26
|
-
function extractProtocolCalls(facadeTrace, executeResults) {
|
|
27
|
-
if (executeResults.length === 0) {
|
|
28
|
-
return [];
|
|
29
|
-
}
|
|
30
|
-
const subtraces = facadeTrace.calls ?? [];
|
|
31
|
-
const result = [];
|
|
32
|
-
let subtraceIdx = 0;
|
|
33
|
-
for (let i = 0; i < executeResults.length; i++) {
|
|
34
|
-
const { targetContract } = executeResults[i];
|
|
35
|
-
let found;
|
|
36
|
-
while (subtraceIdx < subtraces.length && !found) {
|
|
37
|
-
found = (0, import_trace_utils.findCallTo)(subtraces[subtraceIdx], targetContract);
|
|
38
|
-
subtraceIdx++;
|
|
39
|
-
}
|
|
40
|
-
if (!found) {
|
|
41
|
-
throw new import_errors.ProtocolCallNotFoundError(targetContract, i);
|
|
42
|
-
}
|
|
43
|
-
result.push(found.input);
|
|
44
|
-
}
|
|
45
|
-
if (result.length !== executeResults.length) {
|
|
46
|
-
throw new import_errors.AdapterTraceAlignmentError(executeResults.length, result.length);
|
|
47
|
-
}
|
|
48
|
-
return result;
|
|
49
|
-
}
|
|
50
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
-
0 && (module.exports = {
|
|
52
|
-
extractProtocolCalls
|
|
53
|
-
});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AdapterTraceAlignmentError,
|
|
3
|
-
ProtocolCallNotFoundError
|
|
4
|
-
} from "./errors.js";
|
|
5
|
-
import { findCallTo } from "./trace-utils.js";
|
|
6
|
-
function extractProtocolCalls(facadeTrace, executeResults) {
|
|
7
|
-
if (executeResults.length === 0) {
|
|
8
|
-
return [];
|
|
9
|
-
}
|
|
10
|
-
const subtraces = facadeTrace.calls ?? [];
|
|
11
|
-
const result = [];
|
|
12
|
-
let subtraceIdx = 0;
|
|
13
|
-
for (let i = 0; i < executeResults.length; i++) {
|
|
14
|
-
const { targetContract } = executeResults[i];
|
|
15
|
-
let found;
|
|
16
|
-
while (subtraceIdx < subtraces.length && !found) {
|
|
17
|
-
found = findCallTo(subtraces[subtraceIdx], targetContract);
|
|
18
|
-
subtraceIdx++;
|
|
19
|
-
}
|
|
20
|
-
if (!found) {
|
|
21
|
-
throw new ProtocolCallNotFoundError(targetContract, i);
|
|
22
|
-
}
|
|
23
|
-
result.push(found.input);
|
|
24
|
-
}
|
|
25
|
-
if (result.length !== executeResults.length) {
|
|
26
|
-
throw new AdapterTraceAlignmentError(executeResults.length, result.length);
|
|
27
|
-
}
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
extractProtocolCalls
|
|
32
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { isAddressEqual } from "viem";
|
|
2
|
-
function findCallTo(node, target) {
|
|
3
|
-
if (node.error) {
|
|
4
|
-
return void 0;
|
|
5
|
-
}
|
|
6
|
-
if (node.type === "CALL" && isAddressEqual(node.to, target)) {
|
|
7
|
-
return node;
|
|
8
|
-
}
|
|
9
|
-
if (node.calls) {
|
|
10
|
-
for (const child of node.calls) {
|
|
11
|
-
const found = findCallTo(child, target);
|
|
12
|
-
if (found) {
|
|
13
|
-
return found;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return void 0;
|
|
18
|
-
}
|
|
19
|
-
function collectTraces(node, target) {
|
|
20
|
-
const results = [];
|
|
21
|
-
if (node.error) {
|
|
22
|
-
return results;
|
|
23
|
-
}
|
|
24
|
-
if (node.type === "CALL" && isAddressEqual(node.to, target)) {
|
|
25
|
-
results.push(node);
|
|
26
|
-
} else if (node.calls) {
|
|
27
|
-
for (const child of node.calls) {
|
|
28
|
-
results.push(...collectTraces(child, target));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return results;
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
collectTraces,
|
|
35
|
-
findCallTo
|
|
36
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Hex } from "viem";
|
|
2
|
-
import type { CallTrace, ExecuteResult } from "./internal-types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Extracts calldata sent to target contract for each Execute event.
|
|
5
|
-
*
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export declare function extractProtocolCalls(facadeTrace: CallTrace, executeResults: ExecuteResult[]): Hex[];
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { Address } from "viem";
|
|
2
|
-
import type { AdapterOperation } from "../plugins/adapters/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Increase debt (borrow more).
|
|
5
|
-
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L149-L154
|
|
6
|
-
*/
|
|
7
|
-
export interface IncreaseDebtOp {
|
|
8
|
-
operation: "IncreaseBorrowedAmount";
|
|
9
|
-
token: Address;
|
|
10
|
-
amount: bigint;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Decrease debt (repay).
|
|
14
|
-
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L155-L161
|
|
15
|
-
*/
|
|
16
|
-
export interface DecreaseDebtOp {
|
|
17
|
-
operation: "DecreaseBorrowedAmount";
|
|
18
|
-
token: Address;
|
|
19
|
-
amount: bigint;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Add collateral to credit account.
|
|
23
|
-
*/
|
|
24
|
-
export interface AddCollateralOp {
|
|
25
|
-
operation: "AddCollateral";
|
|
26
|
-
token: Address;
|
|
27
|
-
amount: bigint;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Withdraw collateral from credit account.
|
|
31
|
-
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L162-L171
|
|
32
|
-
*/
|
|
33
|
-
export interface WithdrawCollateralOp {
|
|
34
|
-
operation: "WithdrawCollateral";
|
|
35
|
-
token: Address;
|
|
36
|
-
amount: bigint;
|
|
37
|
-
to: Address;
|
|
38
|
-
phantomToken?: Address;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Update token quota on credit account.
|
|
42
|
-
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L172-L178
|
|
43
|
-
*/
|
|
44
|
-
export interface UpdateQuotaOp {
|
|
45
|
-
operation: "UpdateQuota";
|
|
46
|
-
token: Address;
|
|
47
|
-
change: bigint;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Union of facade inner-call operation types (non-adapter credit account operations).
|
|
51
|
-
* Discriminated on the `operation` field.
|
|
52
|
-
*/
|
|
53
|
-
export type InnerFacadeOperation = IncreaseDebtOp | DecreaseDebtOp | AddCollateralOp | WithdrawCollateralOp | UpdateQuotaOp;
|
|
54
|
-
/**
|
|
55
|
-
* All operations that can happen within a CreditFacade's multicall and that we're interested in.
|
|
56
|
-
*/
|
|
57
|
-
export type InnerOperation = AdapterOperation | InnerFacadeOperation;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { Address, Hex } from "viem";
|
|
2
|
-
import type { TokenTransfer } from "../plugins/adapters/index.js";
|
|
3
|
-
import type { ParsedCallV2 } from "../sdk/index.js";
|
|
4
|
-
/**
|
|
5
|
-
* A single frame from Ethereum's `debug_traceTransaction` callTracer output.
|
|
6
|
-
* Recursive: each frame may contain nested sub-calls.
|
|
7
|
-
*/
|
|
8
|
-
export interface CallTrace {
|
|
9
|
-
from: Address;
|
|
10
|
-
to: Address;
|
|
11
|
-
input: Hex;
|
|
12
|
-
output: Hex;
|
|
13
|
-
value: Hex;
|
|
14
|
-
/** "CALL", "DELEGATECALL", "STATICCALL", "CREATE", etc. */
|
|
15
|
-
type: string;
|
|
16
|
-
/** Present when the call reverted (e.g. "execution reverted"). */
|
|
17
|
-
error?: string;
|
|
18
|
-
/** ABI-encoded revert data, if available. */
|
|
19
|
-
revertReason?: Hex;
|
|
20
|
-
calls?: CallTrace[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* The set of credit facade entry-point functions that produce history operations.
|
|
24
|
-
*/
|
|
25
|
-
export type FacadeCallType = "MultiCall" | "BotMulticall" | "OpenCreditAccount" | "CloseCreditAccount" | "LiquidateCreditAccount" | "PartiallyLiquidateCreditAccount";
|
|
26
|
-
/**
|
|
27
|
-
* A parsed credit facade call extracted from a call trace,
|
|
28
|
-
* with inner multicall calls already decoded.
|
|
29
|
-
*/
|
|
30
|
-
export interface FacadeParsedCall {
|
|
31
|
-
operation: FacadeCallType;
|
|
32
|
-
creditAccount: Address;
|
|
33
|
-
/** The full ParsedCallV2 from facade calldata parsing. */
|
|
34
|
-
parsed: ParsedCallV2;
|
|
35
|
-
/** Inner multicall entries from rawArgs.calls (empty for partiallyLiquidateCreditAccount). */
|
|
36
|
-
innerCalls: ParsedCallV2[];
|
|
37
|
-
/** The full call trace node for this facade call (used to extract protocol-level calldata). */
|
|
38
|
-
trace: CallTrace;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Data extracted from a single Execute event: the ERC-20 transfers that
|
|
42
|
-
* occurred between Execute boundaries and the target contract address.
|
|
43
|
-
*/
|
|
44
|
-
export interface ExecuteResult {
|
|
45
|
-
transfers: TokenTransfer[];
|
|
46
|
-
targetContract: Address;
|
|
47
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import type { CallTrace } from "./internal-types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Finds the first non-reverted CALL to `target` anywhere in a trace subtree.
|
|
5
|
-
*/
|
|
6
|
-
export declare function findCallTo(node: CallTrace, target: Address): CallTrace | undefined;
|
|
7
|
-
/**
|
|
8
|
-
* DFS walk of the call trace tree, collecting non-reverted CALL entries
|
|
9
|
-
* to the given address.
|
|
10
|
-
* Does not recurse into children of matched nodes
|
|
11
|
-
*/
|
|
12
|
-
export declare function collectTraces(node: CallTrace, target: Address): CallTrace[];
|
|
File without changes
|
|
File without changes
|