@gearbox-protocol/sdk 14.11.3 → 14.12.0-next.2
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/abi/iZapper.js +62 -24
- 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 +50 -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 +75 -0
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +85 -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 +221 -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/errors.js +91 -0
- package/dist/cjs/{sdk/market/zapper/Zapper.js → preview/simulate/holders.js} +21 -23
- package/dist/cjs/preview/simulate/index.js +37 -0
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +30 -0
- package/dist/cjs/preview/simulate/simulateOperation.js +37 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +187 -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/MultichainSDK.js +1 -0
- package/dist/cjs/sdk/OnchainSDK.js +7 -3
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +154 -0
- package/dist/cjs/sdk/market/MarketRegister.js +10 -5
- package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
- package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +3 -38
- package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +3 -38
- package/dist/cjs/sdk/market/zapper/ZapperContract.js +109 -0
- package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
- package/dist/cjs/sdk/market/zapper/errors.js +37 -0
- package/dist/cjs/sdk/market/zapper/index.js +6 -2
- package/dist/cjs/sdk/market/zapper/types.js +16 -0
- package/dist/cjs/sdk/options.js +41 -17
- package/dist/esm/abi/iZapper.js +62 -24
- 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 +24 -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 +55 -0
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +61 -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 +197 -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/errors.js +69 -0
- package/dist/esm/preview/simulate/holders.js +21 -0
- package/dist/esm/preview/simulate/index.js +10 -0
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +6 -0
- package/dist/esm/preview/simulate/simulateOperation.js +13 -0
- package/dist/esm/preview/simulate/simulatePoolOperation.js +166 -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/MultichainSDK.js +1 -0
- package/dist/esm/sdk/OnchainSDK.js +7 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +154 -0
- package/dist/esm/sdk/market/MarketRegister.js +10 -5
- package/dist/esm/sdk/market/ZapperRegister.js +54 -0
- package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +3 -38
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +3 -38
- package/dist/esm/sdk/market/zapper/ZapperContract.js +85 -0
- package/dist/esm/sdk/market/zapper/createZapper.js +12 -4
- package/dist/esm/sdk/market/zapper/errors.js +13 -0
- package/dist/esm/sdk/market/zapper/index.js +3 -1
- package/dist/esm/sdk/market/zapper/types.js +0 -0
- package/dist/esm/sdk/options.js +39 -15
- package/dist/types/abi/iERC20Zapper.d.ts +91 -23
- package/dist/types/abi/iETHZapper.d.ts +91 -23
- package/dist/types/abi/iZapper.d.ts +91 -23
- 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 +18 -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 +115 -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/errors.d.ts +45 -0
- package/dist/types/preview/simulate/holders.d.ts +7 -0
- package/dist/types/preview/simulate/index.d.ts +8 -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/simulatePoolOperation.d.ts +26 -0
- package/dist/types/preview/simulate/types.d.ts +66 -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/MultichainSDK.d.ts +5 -0
- package/dist/types/sdk/OnchainSDK.d.ts +4 -0
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +21 -1
- package/dist/types/sdk/accounts/types.d.ts +82 -0
- package/dist/types/sdk/market/MarketRegister.d.ts +15 -6
- package/dist/types/sdk/market/ZapperRegister.d.ts +25 -4
- package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +93 -39
- package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +93 -39
- package/dist/types/sdk/market/zapper/ZapperContract.d.ts +35 -0
- package/dist/types/sdk/market/zapper/createZapper.d.ts +2 -4
- package/dist/types/sdk/market/zapper/errors.d.ts +10 -0
- package/dist/types/sdk/market/zapper/index.d.ts +3 -1
- package/dist/types/sdk/market/zapper/types.d.ts +64 -0
- package/dist/types/sdk/options.d.ts +10 -5
- package/dist/types/sdk/pools/types.d.ts +3 -3
- package/dist/types/sdk/types/state-human.d.ts +9 -0
- package/dist/types/sdk/types/state.d.ts +7 -0
- package/package.json +8 -3
- 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/esm/sdk/market/zapper/Zapper.js +0 -23
- 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/types/sdk/market/zapper/Zapper.d.ts +0 -13
- /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
|
@@ -9,16 +9,6 @@ export declare class TransferAlignmentError extends Error {
|
|
|
9
9
|
export declare class WithdrawCollateralAlignmentError extends Error {
|
|
10
10
|
constructor(expected: number, actual: number);
|
|
11
11
|
}
|
|
12
|
-
export declare class ProtocolCallNotFoundError extends Error {
|
|
13
|
-
readonly targetContract: Address;
|
|
14
|
-
readonly executeIndex: number;
|
|
15
|
-
constructor(targetContract: Address, executeIndex: number);
|
|
16
|
-
}
|
|
17
|
-
export declare class AdapterTraceAlignmentError extends Error {
|
|
18
|
-
readonly expected: number;
|
|
19
|
-
readonly actual: number;
|
|
20
|
-
constructor(expected: number, actual: number);
|
|
21
|
-
}
|
|
22
12
|
export declare class UnexpectedFacadeEventOrderError extends Error {
|
|
23
13
|
constructor(e: {
|
|
24
14
|
eventName: string;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CallTrace } from "../../common-utils/utils/trace.js";
|
|
2
|
+
/**
|
|
3
|
+
* Extracts the user multicall's adapter-level call traces from a single facade
|
|
4
|
+
* call trace.
|
|
5
|
+
*
|
|
6
|
+
* Returns the direct children of the facade trace that perform an external
|
|
7
|
+
* protocol call (their subtree resolves to a `CreditManager.execute(bytes)`
|
|
8
|
+
* that reaches a leaf CALL to a target contract), in trace order.
|
|
9
|
+
*
|
|
10
|
+
* Scoping to direct children of the facade trace (rather than flattening the
|
|
11
|
+
* whole subtree) avoids over-counting in nested credit-manager scenarios such
|
|
12
|
+
* as account migration, where a single migrate-adapter subtree nests another
|
|
13
|
+
* account's `execute(bytes)` calls.
|
|
14
|
+
*
|
|
15
|
+
* Facade-synthesized phantom-token withdrawals are excluded: while processing
|
|
16
|
+
* `withdrawCollateral` on a phantom token the facade issues its own
|
|
17
|
+
* `withdrawPhantomToken` adapter call, which also reaches an external target
|
|
18
|
+
* but does not correspond to a user multicall inner call. These are detected
|
|
19
|
+
* via the preceding `getPhantomTokenInfo()` probe (see
|
|
20
|
+
* {@link isSynthesizedPhantomWithdrawal}), so the returned traces line up 1:1,
|
|
21
|
+
* in order, with the multicall's adapter inner calls.
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractAdapterCallTraces(facadeTrace: CallTrace): CallTrace[];
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type Address, type Log } from "viem";
|
|
2
|
-
import { AddressMap } from "
|
|
3
|
-
import type {
|
|
4
|
-
import type { DirectTransferInfo } from "./types.js";
|
|
2
|
+
import { AddressMap } from "../../sdk/index.js";
|
|
3
|
+
import type { TokenTransfer } from "../parse/index.js";
|
|
5
4
|
type RawLog = Log<bigint | number, number, false>;
|
|
6
5
|
/**
|
|
7
6
|
* Effective `withdrawCollateral` outcome decoded from the facade's
|
|
@@ -26,8 +25,18 @@ export interface WithdrawCollateralEventInfo {
|
|
|
26
25
|
* @param creditAccount - the credit account address to track
|
|
27
26
|
*/
|
|
28
27
|
export interface ExtractTransfersResult {
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
/**
|
|
29
|
+
* ERC-20 transfers grouped per facade `Execute` event, one inner array per
|
|
30
|
+
* Execute event across the whole transaction, in emission order. Each inner
|
|
31
|
+
* array holds the transfers to/from the credit account that occurred between
|
|
32
|
+
* that Execute boundary and the previous one.
|
|
33
|
+
*/
|
|
34
|
+
executeTransfers: TokenTransfer[][];
|
|
35
|
+
/**
|
|
36
|
+
* ERC-20 transfers that are not part of a facade `Execute` event and are
|
|
37
|
+
* direct incoming transfers to the credit account.
|
|
38
|
+
*/
|
|
39
|
+
directTransfers: TokenTransfer[];
|
|
31
40
|
liquidationRemainingFunds?: bigint;
|
|
32
41
|
/** Maps phantom token address to its deposited (underlying) token address. */
|
|
33
42
|
phantomTokens: AddressMap<Address>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
2
|
+
import { type CallTrace } from "../../common-utils/utils/trace.js";
|
|
3
|
+
import type { ChainContractsRegister } from "../../sdk/index.js";
|
|
4
|
+
import type { FacadeParsedCall } from "./types.js";
|
|
4
5
|
/**
|
|
5
6
|
* Walks a `debug_traceTransaction` callTracer tree, finds all non-reverted
|
|
6
7
|
* calls to the credit facade, parses them via the register, and returns
|
|
@@ -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
|
+
}
|
|
@@ -55,6 +55,11 @@ export interface MultichainAttachOptions {
|
|
|
55
55
|
* Options for Pyth price-feed updates (shared cache across chains).
|
|
56
56
|
**/
|
|
57
57
|
pyth?: PythOptions;
|
|
58
|
+
/**
|
|
59
|
+
* When `true`, automatically load zappers after markets are loaded during
|
|
60
|
+
* attach on every chain.
|
|
61
|
+
**/
|
|
62
|
+
loadZappers?: boolean;
|
|
58
63
|
}
|
|
59
64
|
/**
|
|
60
65
|
* Options for {@link MultichainSDK.hydrate}.
|
|
@@ -117,6 +117,10 @@ export interface AttachOptions {
|
|
|
117
117
|
* Options for Pyth price-feed updates.
|
|
118
118
|
**/
|
|
119
119
|
pyth?: PythOptions;
|
|
120
|
+
/**
|
|
121
|
+
* When `true`, automatically call {@link MarketRegister.loadZappers} during attach.
|
|
122
|
+
**/
|
|
123
|
+
loadZappers?: boolean;
|
|
120
124
|
}
|
|
121
125
|
/**
|
|
122
126
|
* Options accepted by {@link OnchainSDK.hydrate}.
|
|
@@ -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.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import type { MarketData, MarketFilter } from "../base/index.js";
|
|
3
3
|
import type { OnchainSDK } from "../OnchainSDK.js";
|
|
4
|
-
import type { MarketStateHuman } from "../types/index.js";
|
|
4
|
+
import type { MarketStateHuman, ZapperStateHuman } from "../types/index.js";
|
|
5
5
|
import { AddressMap } from "../utils/index.js";
|
|
6
6
|
import { type DelegatedMulticall } from "../utils/viem/index.js";
|
|
7
7
|
import type { CreditSuite } from "./credit/index.js";
|
|
@@ -9,7 +9,18 @@ import { MarketConfiguratorContract } from "./MarketConfiguratorContract.js";
|
|
|
9
9
|
import { MarketSuite } from "./MarketSuite.js";
|
|
10
10
|
import type { IPriceOracleContract } from "./oracle/index.js";
|
|
11
11
|
import type { PoolSuite } from "./pool/index.js";
|
|
12
|
+
import type { ZapperData } from "./types.js";
|
|
12
13
|
import { ZapperRegister } from "./ZapperRegister.js";
|
|
14
|
+
/** @internal */
|
|
15
|
+
export interface MarketRegistryState {
|
|
16
|
+
markets: MarketData[];
|
|
17
|
+
zappers?: ZapperData[];
|
|
18
|
+
}
|
|
19
|
+
/** @internal */
|
|
20
|
+
export interface MarketRegistryStateHuman {
|
|
21
|
+
markets: MarketStateHuman[];
|
|
22
|
+
zappers?: ZapperStateHuman[];
|
|
23
|
+
}
|
|
13
24
|
/**
|
|
14
25
|
* Central registry of all Gearbox markets on the current chain.
|
|
15
26
|
*
|
|
@@ -29,7 +40,7 @@ export declare class MarketRegister extends ZapperRegister {
|
|
|
29
40
|
* bypassing on-chain reads.
|
|
30
41
|
* @param state - Array of market data snapshots.
|
|
31
42
|
**/
|
|
32
|
-
hydrate(
|
|
43
|
+
hydrate({ markets, zappers }: MarketRegistryState): void;
|
|
33
44
|
/**
|
|
34
45
|
* @internal
|
|
35
46
|
* Returns delegated multicalls for loading all markets from the on-chain
|
|
@@ -57,14 +68,12 @@ export declare class MarketRegister extends ZapperRegister {
|
|
|
57
68
|
/**
|
|
58
69
|
* Serializable snapshot of all loaded markets, suitable for hydration.
|
|
59
70
|
**/
|
|
60
|
-
get state():
|
|
71
|
+
get state(): MarketRegistryState;
|
|
61
72
|
/**
|
|
62
73
|
* Returns a human-readable snapshot of all markets.
|
|
63
74
|
* @param raw - When `true`, includes raw/unformatted values.
|
|
64
75
|
**/
|
|
65
|
-
stateHuman(raw?: boolean):
|
|
66
|
-
markets: MarketStateHuman[];
|
|
67
|
-
};
|
|
76
|
+
stateHuman(raw?: boolean): MarketRegistryStateHuman;
|
|
68
77
|
/**
|
|
69
78
|
* All pool suites across loaded markets.
|
|
70
79
|
**/
|
|
@@ -1,17 +1,38 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import { SDKConstruct } from "../base/index.js";
|
|
3
|
+
import type { ZapperStateHuman } from "../types/index.js";
|
|
3
4
|
import { AddressMap } from "../utils/index.js";
|
|
4
|
-
import {
|
|
5
|
+
import type { ZapperData } from "./types.js";
|
|
6
|
+
import { type IZapperContract } from "./zapper/index.js";
|
|
5
7
|
export declare class ZapperRegister extends SDKConstruct {
|
|
6
8
|
#private;
|
|
7
9
|
/**
|
|
8
10
|
* Load zappers for all pools using periphery compressor, adds hardcoded zappers
|
|
9
11
|
*/
|
|
10
12
|
loadZappers(force?: boolean): Promise<void>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Serializable snapshot of all loaded zappers, suitable for hydration.
|
|
15
|
+
* Returns `undefined` when zappers were never loaded (i.e. `loadZappers` was
|
|
16
|
+
* not called), so the not-loaded state round-trips cleanly.
|
|
17
|
+
**/
|
|
18
|
+
protected get zappersState(): ZapperData[] | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Restores zapper state from a previously serialized snapshot,
|
|
21
|
+
* bypassing on-chain reads.
|
|
22
|
+
* @param state - Array of zapper data snapshots, or `undefined` when zappers
|
|
23
|
+
* were not loaded in the snapshot (leaves the registry in the not-loaded state).
|
|
24
|
+
**/
|
|
25
|
+
protected hydrateZappers(state?: ZapperData[]): void;
|
|
26
|
+
/**
|
|
27
|
+
* Returns a human-readable snapshot of all loaded zappers.
|
|
28
|
+
* Returns `undefined` when zappers were never loaded.
|
|
29
|
+
* @param raw - When `true`, includes raw/unformatted values.
|
|
30
|
+
**/
|
|
31
|
+
protected zappersStateHuman(_?: boolean): ZapperStateHuman[] | undefined;
|
|
32
|
+
get zappers(): AddressMap<IZapperContract[]>;
|
|
33
|
+
poolZappers(pool: Address): IZapperContract[];
|
|
13
34
|
/**
|
|
14
35
|
* Can return multiple zappers if there are multiple zappers for the same tokenIn and tokenOut
|
|
15
36
|
*/
|
|
16
|
-
getZapper(pool: Address, tokenIn: Address, tokenOut: Address): Array<
|
|
37
|
+
getZapper(pool: Address, tokenIn: Address, tokenOut: Address): Array<IZapperContract> | undefined;
|
|
17
38
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Address, Hex } from "viem";
|
|
2
|
-
import { BaseContract } from "../../base/index.js";
|
|
3
2
|
import type { OnchainSDK } from "../../OnchainSDK.js";
|
|
4
3
|
import type { RawTx } from "../../types/index.js";
|
|
5
4
|
import type { ZapperData } from "../types.js";
|
|
5
|
+
import { ZapperContract } from "./ZapperContract.js";
|
|
6
6
|
declare const abi: readonly [{
|
|
7
7
|
readonly type: "function";
|
|
8
8
|
readonly inputs: readonly [{
|
|
@@ -197,132 +197,195 @@ declare const abi: readonly [{
|
|
|
197
197
|
readonly stateMutability: "nonpayable";
|
|
198
198
|
}, {
|
|
199
199
|
readonly type: "function";
|
|
200
|
+
readonly name: "contractType";
|
|
200
201
|
readonly inputs: readonly [];
|
|
202
|
+
readonly outputs: readonly [{
|
|
203
|
+
readonly name: "";
|
|
204
|
+
readonly type: "bytes32";
|
|
205
|
+
readonly internalType: "bytes32";
|
|
206
|
+
}];
|
|
207
|
+
readonly stateMutability: "view";
|
|
208
|
+
}, {
|
|
209
|
+
readonly type: "function";
|
|
201
210
|
readonly name: "pool";
|
|
211
|
+
readonly inputs: readonly [];
|
|
202
212
|
readonly outputs: readonly [{
|
|
203
213
|
readonly name: "";
|
|
204
|
-
readonly internalType: "address";
|
|
205
214
|
readonly type: "address";
|
|
215
|
+
readonly internalType: "address";
|
|
206
216
|
}];
|
|
207
217
|
readonly stateMutability: "view";
|
|
208
218
|
}, {
|
|
209
219
|
readonly type: "function";
|
|
220
|
+
readonly name: "previewDeposit";
|
|
210
221
|
readonly inputs: readonly [{
|
|
211
222
|
readonly name: "tokenInAmount";
|
|
212
|
-
readonly internalType: "uint256";
|
|
213
223
|
readonly type: "uint256";
|
|
224
|
+
readonly internalType: "uint256";
|
|
214
225
|
}];
|
|
215
|
-
readonly name: "previewDeposit";
|
|
216
226
|
readonly outputs: readonly [{
|
|
217
227
|
readonly name: "tokenOutAmount";
|
|
218
|
-
readonly internalType: "uint256";
|
|
219
228
|
readonly type: "uint256";
|
|
229
|
+
readonly internalType: "uint256";
|
|
220
230
|
}];
|
|
221
231
|
readonly stateMutability: "view";
|
|
222
232
|
}, {
|
|
223
233
|
readonly type: "function";
|
|
234
|
+
readonly name: "previewRedeem";
|
|
224
235
|
readonly inputs: readonly [{
|
|
225
236
|
readonly name: "tokenOutAmount";
|
|
226
|
-
readonly internalType: "uint256";
|
|
227
237
|
readonly type: "uint256";
|
|
238
|
+
readonly internalType: "uint256";
|
|
228
239
|
}];
|
|
229
|
-
readonly name: "previewRedeem";
|
|
230
240
|
readonly outputs: readonly [{
|
|
231
241
|
readonly name: "tokenInAmount";
|
|
232
|
-
readonly internalType: "uint256";
|
|
233
242
|
readonly type: "uint256";
|
|
243
|
+
readonly internalType: "uint256";
|
|
234
244
|
}];
|
|
235
245
|
readonly stateMutability: "view";
|
|
236
246
|
}, {
|
|
237
247
|
readonly type: "function";
|
|
248
|
+
readonly name: "redeem";
|
|
238
249
|
readonly inputs: readonly [{
|
|
239
250
|
readonly name: "tokenOutAmount";
|
|
240
|
-
readonly internalType: "uint256";
|
|
241
251
|
readonly type: "uint256";
|
|
252
|
+
readonly internalType: "uint256";
|
|
242
253
|
}, {
|
|
243
254
|
readonly name: "receiver";
|
|
244
|
-
readonly internalType: "address";
|
|
245
255
|
readonly type: "address";
|
|
256
|
+
readonly internalType: "address";
|
|
246
257
|
}];
|
|
247
|
-
readonly name: "redeem";
|
|
248
258
|
readonly outputs: readonly [{
|
|
249
259
|
readonly name: "tokenInAmount";
|
|
250
|
-
readonly internalType: "uint256";
|
|
251
260
|
readonly type: "uint256";
|
|
261
|
+
readonly internalType: "uint256";
|
|
252
262
|
}];
|
|
253
263
|
readonly stateMutability: "nonpayable";
|
|
254
264
|
}, {
|
|
255
265
|
readonly type: "function";
|
|
266
|
+
readonly name: "redeemWithPermit";
|
|
256
267
|
readonly inputs: readonly [{
|
|
257
268
|
readonly name: "tokenOutAmount";
|
|
258
|
-
readonly internalType: "uint256";
|
|
259
269
|
readonly type: "uint256";
|
|
270
|
+
readonly internalType: "uint256";
|
|
260
271
|
}, {
|
|
261
272
|
readonly name: "receiver";
|
|
262
|
-
readonly internalType: "address";
|
|
263
273
|
readonly type: "address";
|
|
274
|
+
readonly internalType: "address";
|
|
264
275
|
}, {
|
|
265
276
|
readonly name: "deadline";
|
|
266
|
-
readonly internalType: "uint256";
|
|
267
277
|
readonly type: "uint256";
|
|
278
|
+
readonly internalType: "uint256";
|
|
268
279
|
}, {
|
|
269
280
|
readonly name: "v";
|
|
270
|
-
readonly internalType: "uint8";
|
|
271
281
|
readonly type: "uint8";
|
|
282
|
+
readonly internalType: "uint8";
|
|
272
283
|
}, {
|
|
273
284
|
readonly name: "r";
|
|
274
|
-
readonly internalType: "bytes32";
|
|
275
285
|
readonly type: "bytes32";
|
|
286
|
+
readonly internalType: "bytes32";
|
|
276
287
|
}, {
|
|
277
288
|
readonly name: "s";
|
|
278
|
-
readonly internalType: "bytes32";
|
|
279
289
|
readonly type: "bytes32";
|
|
290
|
+
readonly internalType: "bytes32";
|
|
280
291
|
}];
|
|
281
|
-
readonly name: "redeemWithPermit";
|
|
282
292
|
readonly outputs: readonly [{
|
|
283
293
|
readonly name: "tokenInAmount";
|
|
294
|
+
readonly type: "uint256";
|
|
284
295
|
readonly internalType: "uint256";
|
|
296
|
+
}];
|
|
297
|
+
readonly stateMutability: "nonpayable";
|
|
298
|
+
}, {
|
|
299
|
+
readonly type: "function";
|
|
300
|
+
readonly name: "redeemWithPermitAllowed";
|
|
301
|
+
readonly inputs: readonly [{
|
|
302
|
+
readonly name: "tokenOutAmount";
|
|
285
303
|
readonly type: "uint256";
|
|
304
|
+
readonly internalType: "uint256";
|
|
305
|
+
}, {
|
|
306
|
+
readonly name: "receiver";
|
|
307
|
+
readonly type: "address";
|
|
308
|
+
readonly internalType: "address";
|
|
309
|
+
}, {
|
|
310
|
+
readonly name: "nonce";
|
|
311
|
+
readonly type: "uint256";
|
|
312
|
+
readonly internalType: "uint256";
|
|
313
|
+
}, {
|
|
314
|
+
readonly name: "expiry";
|
|
315
|
+
readonly type: "uint256";
|
|
316
|
+
readonly internalType: "uint256";
|
|
317
|
+
}, {
|
|
318
|
+
readonly name: "v";
|
|
319
|
+
readonly type: "uint8";
|
|
320
|
+
readonly internalType: "uint8";
|
|
321
|
+
}, {
|
|
322
|
+
readonly name: "r";
|
|
323
|
+
readonly type: "bytes32";
|
|
324
|
+
readonly internalType: "bytes32";
|
|
325
|
+
}, {
|
|
326
|
+
readonly name: "s";
|
|
327
|
+
readonly type: "bytes32";
|
|
328
|
+
readonly internalType: "bytes32";
|
|
329
|
+
}];
|
|
330
|
+
readonly outputs: readonly [{
|
|
331
|
+
readonly name: "tokenInAmount";
|
|
332
|
+
readonly type: "uint256";
|
|
333
|
+
readonly internalType: "uint256";
|
|
286
334
|
}];
|
|
287
335
|
readonly stateMutability: "nonpayable";
|
|
288
336
|
}, {
|
|
289
337
|
readonly type: "function";
|
|
338
|
+
readonly name: "serialize";
|
|
290
339
|
readonly inputs: readonly [];
|
|
340
|
+
readonly outputs: readonly [{
|
|
341
|
+
readonly name: "serializedData";
|
|
342
|
+
readonly type: "bytes";
|
|
343
|
+
readonly internalType: "bytes";
|
|
344
|
+
}];
|
|
345
|
+
readonly stateMutability: "view";
|
|
346
|
+
}, {
|
|
347
|
+
readonly type: "function";
|
|
291
348
|
readonly name: "tokenIn";
|
|
349
|
+
readonly inputs: readonly [];
|
|
292
350
|
readonly outputs: readonly [{
|
|
293
351
|
readonly name: "";
|
|
294
|
-
readonly internalType: "address";
|
|
295
352
|
readonly type: "address";
|
|
353
|
+
readonly internalType: "address";
|
|
296
354
|
}];
|
|
297
355
|
readonly stateMutability: "view";
|
|
298
356
|
}, {
|
|
299
357
|
readonly type: "function";
|
|
300
|
-
readonly inputs: readonly [];
|
|
301
358
|
readonly name: "tokenOut";
|
|
359
|
+
readonly inputs: readonly [];
|
|
302
360
|
readonly outputs: readonly [{
|
|
303
361
|
readonly name: "";
|
|
304
|
-
readonly internalType: "address";
|
|
305
362
|
readonly type: "address";
|
|
363
|
+
readonly internalType: "address";
|
|
306
364
|
}];
|
|
307
365
|
readonly stateMutability: "view";
|
|
308
366
|
}, {
|
|
309
367
|
readonly type: "function";
|
|
310
|
-
readonly inputs: readonly [];
|
|
311
368
|
readonly name: "underlying";
|
|
369
|
+
readonly inputs: readonly [];
|
|
312
370
|
readonly outputs: readonly [{
|
|
313
371
|
readonly name: "";
|
|
314
|
-
readonly internalType: "address";
|
|
315
372
|
readonly type: "address";
|
|
373
|
+
readonly internalType: "address";
|
|
374
|
+
}];
|
|
375
|
+
readonly stateMutability: "view";
|
|
376
|
+
}, {
|
|
377
|
+
readonly type: "function";
|
|
378
|
+
readonly name: "version";
|
|
379
|
+
readonly inputs: readonly [];
|
|
380
|
+
readonly outputs: readonly [{
|
|
381
|
+
readonly name: "";
|
|
382
|
+
readonly type: "uint256";
|
|
383
|
+
readonly internalType: "uint256";
|
|
316
384
|
}];
|
|
317
385
|
readonly stateMutability: "view";
|
|
318
386
|
}];
|
|
319
387
|
type abi = typeof abi;
|
|
320
|
-
export declare class IERC20ZapperContract extends
|
|
321
|
-
readonly pool: ZapperData["pool"];
|
|
322
|
-
readonly type: ZapperData["type"];
|
|
323
|
-
readonly baseParams: ZapperData["baseParams"];
|
|
324
|
-
readonly tokenIn: ZapperData["tokenIn"];
|
|
325
|
-
readonly tokenOut: ZapperData["tokenOut"];
|
|
388
|
+
export declare class IERC20ZapperContract extends ZapperContract<abi> {
|
|
326
389
|
constructor(sdk: OnchainSDK, data: ZapperData);
|
|
327
390
|
/**
|
|
328
391
|
* Deposits ERC20 tokens into the pool via this zapper.
|
|
@@ -337,14 +400,5 @@ export declare class IERC20ZapperContract extends BaseContract<abi> implements Z
|
|
|
337
400
|
* EIP-2612 permit signature, skipping a separate approve transaction.
|
|
338
401
|
*/
|
|
339
402
|
depositWithReferralAndPermit(tokenInAmount: bigint, receiver: Address, referralCode: bigint, deadline: bigint, v: number, r: Hex, s: Hex): RawTx;
|
|
340
|
-
/**
|
|
341
|
-
* Redeems pool shares (diesel tokens) for the underlying asset via this zapper.
|
|
342
|
-
*/
|
|
343
|
-
redeem(tokenInAmount: bigint, receiver: Address): RawTx;
|
|
344
|
-
/**
|
|
345
|
-
* Redeems pool shares via this zapper with an EIP-2612 permit signature,
|
|
346
|
-
* skipping a separate approve transaction.
|
|
347
|
-
*/
|
|
348
|
-
redeemWithPermit(tokenInAmount: bigint, receiver: Address, deadline: bigint, v: number, r: Hex, s: Hex): RawTx;
|
|
349
403
|
}
|
|
350
404
|
export {};
|