@gearbox-protocol/sdk 14.11.3 → 14.12.0-next.10
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/AccountOpener.js +7 -13
- 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 +33 -25
- package/dist/cjs/history/index.js +0 -2
- package/dist/cjs/history/mapOperations.js +7 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +5 -6
- package/dist/cjs/history/toLegacyOperation.js +5 -1
- package/dist/cjs/plugins/adapters/abi/iConvexV1BoosterAdapter.js +143 -0
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +61 -37
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +19 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +20 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +18 -0
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +21 -0
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -0
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +58 -0
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +11 -0
- package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +22 -1
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +17 -0
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +15 -0
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +14 -0
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +10 -0
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +15 -0
- package/dist/cjs/{history/internal-types.js → plugins/adapters/transfers.js} +2 -2
- package/dist/cjs/preview/index.js +26 -0
- package/dist/cjs/preview/package.json +1 -0
- package/dist/cjs/preview/parse/classifyInnerOperations.js +105 -0
- package/dist/cjs/preview/parse/errors.js +50 -0
- package/dist/cjs/preview/parse/index.js +34 -0
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +108 -0
- package/dist/cjs/preview/parse/parseOperationCalldata.js +85 -0
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +89 -0
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -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-rwa.js +16 -0
- package/dist/cjs/preview/parse/types.js +44 -0
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +78 -0
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +95 -0
- package/dist/cjs/preview/prerequisites/Prerequisite.js +85 -0
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +297 -0
- package/dist/cjs/preview/prerequisites/index.js +36 -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/preview/applyInnerOperations.js +132 -0
- package/dist/cjs/preview/preview/errors.js +52 -0
- package/dist/cjs/preview/preview/index.js +30 -0
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +95 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +69 -0
- package/dist/cjs/preview/preview/previewOperation.js +45 -0
- package/dist/cjs/preview/preview/previewPoolOperation.js +75 -0
- package/dist/cjs/preview/preview/types.js +16 -0
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
- package/dist/cjs/preview/simulate/errors.js +91 -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 +41 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +91 -0
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -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 +157 -4
- package/dist/cjs/sdk/base/BaseContract.js +4 -2
- package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/cjs/sdk/market/MarketRegister.js +10 -5
- package/dist/cjs/sdk/market/ZapperRegister.js +54 -0
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +30 -0
- package/dist/cjs/sdk/market/rwa/types.js +5 -2
- 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 +106 -0
- package/dist/cjs/sdk/market/zapper/createZapper.js +12 -4
- package/dist/cjs/sdk/market/zapper/{Zapper.js → errors.js} +13 -23
- 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/cjs/sdk/router/AbstractRouterContract.js +21 -27
- package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
- package/dist/cjs/sdk/router/helpers.js +0 -5
- package/dist/cjs/sdk/utils/AddressMap.js +6 -0
- package/dist/cjs/sdk/utils/AssetsMap.js +62 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- 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/AccountOpener.js +8 -13
- 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 +31 -23
- package/dist/esm/history/index.js +0 -1
- package/dist/esm/history/mapOperations.js +7 -0
- package/dist/esm/history/parseCreditAccountTransaction.js +3 -4
- package/dist/esm/history/toLegacyOperation.js +5 -1
- package/dist/esm/plugins/adapters/abi/iConvexV1BoosterAdapter.js +119 -0
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +64 -38
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +9 -0
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +22 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -1
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +22 -1
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +2 -2
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +2 -7
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +19 -1
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +24 -1
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -1
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +61 -1
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +14 -1
- package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +25 -2
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +20 -1
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +10 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -0
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -1
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -1
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +13 -1
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +18 -1
- package/dist/esm/preview/index.js +3 -0
- package/dist/esm/preview/package.json +1 -0
- package/dist/esm/preview/parse/classifyInnerOperations.js +81 -0
- package/dist/esm/preview/parse/errors.js +24 -0
- package/dist/esm/preview/parse/index.js +7 -0
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +84 -0
- package/dist/esm/preview/parse/parseOperationCalldata.js +66 -0
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +65 -0
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -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-rwa.js +0 -0
- package/dist/esm/preview/parse/types.js +14 -0
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +57 -0
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +74 -0
- package/dist/esm/preview/prerequisites/Prerequisite.js +63 -0
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +279 -0
- package/dist/esm/preview/prerequisites/index.js +8 -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/preview/applyInnerOperations.js +110 -0
- package/dist/esm/preview/preview/errors.js +27 -0
- package/dist/esm/preview/preview/index.js +5 -0
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +79 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +51 -0
- package/dist/esm/preview/preview/previewOperation.js +21 -0
- package/dist/esm/preview/preview/previewPoolOperation.js +53 -0
- package/dist/esm/preview/preview/types.js +0 -0
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
- package/dist/esm/preview/simulate/errors.js +69 -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 +20 -0
- package/dist/esm/preview/simulate/simulatePoolOperation.js +67 -0
- package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -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 +158 -5
- package/dist/esm/sdk/base/BaseContract.js +4 -2
- package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/esm/sdk/market/MarketRegister.js +10 -5
- package/dist/esm/sdk/market/ZapperRegister.js +54 -0
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +33 -1
- package/dist/esm/sdk/market/rwa/types.js +5 -2
- 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 +82 -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/esm/sdk/router/AbstractRouterContract.js +25 -29
- package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
- package/dist/esm/sdk/router/helpers.js +0 -4
- package/dist/esm/sdk/utils/AddressMap.js +6 -0
- package/dist/esm/sdk/utils/AssetsMap.js +38 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- 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/strategies/assets/assets.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
- package/dist/types/common-utils/utils/trace.d.ts +73 -0
- package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
- 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/abi/iConvexV1BoosterAdapter.d.ts +204 -0
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +33 -16
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +10 -1
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +15 -3
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +5 -3
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +5 -3
- 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 +18 -46
- package/dist/types/preview/index.d.ts +3 -0
- package/dist/types/preview/parse/classifyInnerOperations.d.ts +19 -0
- package/dist/types/preview/parse/errors.d.ts +18 -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/parseRWAFactoryOperationCalldata.d.ts +22 -0
- package/dist/types/preview/parse/types-adapters.d.ts +73 -0
- package/dist/types/preview/parse/types-facades.d.ts +147 -0
- package/dist/types/preview/parse/types-pools.d.ts +143 -0
- package/dist/types/preview/parse/types-rwa.d.ts +48 -0
- package/dist/types/preview/parse/types.d.ts +49 -0
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +22 -0
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +26 -0
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +60 -0
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +25 -0
- package/dist/types/preview/prerequisites/index.d.ts +8 -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 +80 -0
- package/dist/types/preview/preview/applyInnerOperations.d.ts +77 -0
- package/dist/types/preview/preview/errors.d.ts +21 -0
- package/dist/types/preview/preview/index.d.ts +5 -0
- package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +11 -0
- package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +4 -0
- package/dist/types/preview/preview/previewOperation.d.ts +7 -0
- package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
- package/dist/types/preview/preview/types.d.ts +177 -0
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
- package/dist/types/preview/simulate/errors.d.ts +45 -0
- package/dist/types/preview/simulate/index.d.ts +10 -0
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +23 -0
- package/dist/types/preview/simulate/simulateOperation.d.ts +18 -0
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +14 -0
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
- package/dist/types/preview/simulate/types.d.ts +52 -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 +22 -2
- package/dist/types/sdk/accounts/types.d.ts +84 -2
- package/dist/types/sdk/base/BaseContract.d.ts +1 -1
- package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
- package/dist/types/sdk/base/types.d.ts +18 -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/rwa/securitize/SecuritizeRWAFactory.d.ts +6 -1
- package/dist/types/sdk/market/rwa/types.d.ts +13 -5
- 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 +4 -4
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
- package/dist/types/sdk/router/helpers.d.ts +1 -2
- package/dist/types/sdk/router/types.d.ts +1 -15
- package/dist/types/sdk/types/state-human.d.ts +9 -0
- package/dist/types/sdk/types/state.d.ts +7 -0
- package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
- package/dist/types/sdk/utils/AssetsMap.d.ts +27 -0
- package/dist/types/sdk/utils/index.d.ts +1 -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
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import { type ConstructOptions } from "../../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
+
import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
|
|
3
|
+
import type { DiffLeftover } from "../types.js";
|
|
3
4
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
6
|
declare const abi: readonly [{
|
|
@@ -280,5 +281,6 @@ export declare class StakingRewardsAdapterContract extends AbstractAdapterContra
|
|
|
280
281
|
version: number;
|
|
281
282
|
contractType?: string;
|
|
282
283
|
};
|
|
284
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
283
285
|
}
|
|
284
286
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
+
import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
|
|
3
|
+
import type { DiffLeftover } from "../types.js";
|
|
3
4
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
6
|
export declare enum TraderJoePoolVersion {
|
|
@@ -483,5 +484,6 @@ export declare class TraderJoeRouterAdapterContract extends AbstractAdapterContr
|
|
|
483
484
|
version: number;
|
|
484
485
|
contractType?: string;
|
|
485
486
|
};
|
|
487
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
486
488
|
}
|
|
487
489
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
-
import type { ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
|
|
2
|
+
import type { AddressMap, ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
|
|
3
3
|
import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
|
|
4
|
+
import type { DiffLeftover } from "../types.js";
|
|
4
5
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
5
6
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
6
7
|
declare const abi: readonly [{
|
|
@@ -964,6 +965,7 @@ export declare class UniswapV2AdapterContract extends AbstractAdapterContract<ab
|
|
|
964
965
|
};
|
|
965
966
|
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
966
967
|
/** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L81-L91 */
|
|
967
|
-
|
|
968
|
+
classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
|
|
969
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
968
970
|
}
|
|
969
971
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
-
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
2
|
+
import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
|
|
3
|
+
import type { DiffLeftover } from "../types.js";
|
|
3
4
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
6
|
declare const abi: readonly [{
|
|
@@ -556,6 +557,7 @@ export declare class UniswapV3AdapterContract extends AbstractAdapterContract<ab
|
|
|
556
557
|
version: number;
|
|
557
558
|
contractType?: string;
|
|
558
559
|
};
|
|
560
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
559
561
|
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
560
562
|
private trackInputPath;
|
|
561
563
|
private trackOutputPath;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import type { ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
+
import type { AddressMap, ConstructOptions, ParsedCallV2 } from "../../../sdk/index.js";
|
|
3
3
|
import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
|
|
4
|
+
import type { DiffLeftover } from "../types.js";
|
|
4
5
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
5
6
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
6
7
|
declare const abi: readonly [{
|
|
@@ -420,6 +421,7 @@ export declare class UniswapV4AdapterContract extends AbstractAdapterContract<ab
|
|
|
420
421
|
contractType?: string;
|
|
421
422
|
};
|
|
422
423
|
/** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L81-L91 */
|
|
423
|
-
|
|
424
|
+
classifyLegacyOperation(_parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
|
|
425
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
424
426
|
}
|
|
425
427
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import { type ConstructOptions } from "../../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
+
import { type AddressMap, type ConstructOptions } from "../../../sdk/index.js";
|
|
3
|
+
import type { DiffLeftover } from "../types.js";
|
|
3
4
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
6
|
declare const abi: readonly [{
|
|
@@ -356,5 +357,6 @@ export declare class UpshiftVaultAdapterContract extends AbstractAdapterContract
|
|
|
356
357
|
version: number;
|
|
357
358
|
contractType?: string;
|
|
358
359
|
};
|
|
360
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
359
361
|
}
|
|
360
362
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import type { ConstructOptions } from "../../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
+
import type { AddressMap, ConstructOptions } from "../../../sdk/index.js";
|
|
3
|
+
import type { DiffLeftover } from "../types.js";
|
|
3
4
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
4
5
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
5
6
|
declare const abi: readonly [{
|
|
@@ -361,5 +362,6 @@ export declare class VelodromeV2RouterAdapterContract extends AbstractAdapterCon
|
|
|
361
362
|
version: number;
|
|
362
363
|
contractType?: string;
|
|
363
364
|
};
|
|
365
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
364
366
|
}
|
|
365
367
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
2
|
-
import { type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
|
+
import { type AddressMap, type ConstructOptions, type ParsedCallV2 } from "../../../sdk/index.js";
|
|
3
3
|
import type { LegacyAdapterOperation, Transfers } from "../legacyAdapterOperations.js";
|
|
4
|
+
import type { DiffLeftover } from "../types.js";
|
|
4
5
|
import type { ConcreteAdapterContractOptions } from "./AbstractAdapter.js";
|
|
5
6
|
import { AbstractAdapterContract } from "./AbstractAdapter.js";
|
|
6
7
|
declare const abi: readonly [{
|
|
@@ -392,6 +393,7 @@ export declare class WstETHV1AdapterContract extends AbstractAdapterContract<abi
|
|
|
392
393
|
contractType?: string;
|
|
393
394
|
};
|
|
394
395
|
/** @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type.go#L264-L275 */
|
|
395
|
-
|
|
396
|
+
classifyLegacyOperation(parsed: ParsedCallV2, transfers: Transfers): LegacyAdapterOperation;
|
|
397
|
+
protected decodeDiffLeftovers(decoded: DecodeFunctionDataReturnType<abi>, balances: AddressMap<bigint>): DiffLeftover[];
|
|
396
398
|
}
|
|
397
399
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Address } from "viem";
|
|
2
2
|
import type { BasicSwapCall, CurveAddLiquidity, CurveRemoveLiquidity, LegacyAdapterOperation, TokenAmount, Transfers } from "./legacyAdapterOperations.js";
|
|
3
|
-
import type { TokenTransfer } from "./
|
|
3
|
+
import type { TokenTransfer } from "./transfers.js";
|
|
4
4
|
/**
|
|
5
5
|
* Converts an ordered array of {@link TokenTransfer} into net signed balance
|
|
6
6
|
* changes ({@link Transfers}) for the given credit account.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* A single ERC-20 Transfer event captured between Execute boundaries.
|
|
4
|
+
*
|
|
5
|
+
* Internal to `plugins/adapters` (kept here so {@link toNetTransfers} stays
|
|
6
|
+
* typed) and intentionally **not** re-exported from the package barrel: the
|
|
7
|
+
* canonical, public `TokenTransfer` lives in the `preview` module. The two are
|
|
8
|
+
* structurally identical, so values flow between the modules without casts.
|
|
9
|
+
*
|
|
10
|
+
* @deprecated Will be deprecated when we get rid of classifyLegacyOperation
|
|
11
|
+
*/
|
|
12
|
+
export interface TokenTransfer {
|
|
13
|
+
token: Address;
|
|
14
|
+
amount: bigint;
|
|
15
|
+
from: Address;
|
|
16
|
+
to: Address;
|
|
17
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { AbiParameter, Address } from "viem";
|
|
2
2
|
import type { BaseContractStateHuman } from "../../sdk/types/state-human.js";
|
|
3
|
-
import type { LegacyAdapterOperation } from "./legacyAdapterOperations.js";
|
|
4
3
|
export type VersionedAbi = Record<number, readonly AbiParameter[]>;
|
|
5
4
|
export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::SECURITIZE_ONRAMP" | "ADAPTER::SECURITIZE_REDEMPTION" | "ADAPTER::SECURITIZE_SWAP" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADER_JOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
|
|
6
5
|
export declare enum AdapterType {
|
|
@@ -52,64 +51,37 @@ export declare enum AdapterType {
|
|
|
52
51
|
VELODROME_V2_ROUTER = "VELODROME_V2_ROUTER",
|
|
53
52
|
YEARN_V2 = "YEARN_V2"
|
|
54
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Diff-call semantics of a diff-style adapter call: the call spends the
|
|
56
|
+
* consumed token down to the exact `leftoverAmount` encoded in its calldata,
|
|
57
|
+
* so the post-call balance of `tokenIn` is `leftoverAmount` regardless of the
|
|
58
|
+
* actual amount spent.
|
|
59
|
+
*/
|
|
60
|
+
export interface DiffLeftover {
|
|
61
|
+
tokenIn: Address;
|
|
62
|
+
leftoverAmount: bigint;
|
|
63
|
+
}
|
|
55
64
|
export interface AdapterContractStateHuman extends BaseContractStateHuman {
|
|
56
65
|
creditManager?: string;
|
|
57
66
|
targetContract?: string;
|
|
58
67
|
}
|
|
59
68
|
/**
|
|
60
|
-
*
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
amount: bigint;
|
|
65
|
-
from: Address;
|
|
66
|
-
to: Address;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Parsed adapter operation to display in credit account transactions history
|
|
69
|
+
* Protocol-level call performed by an adapter: the target (protocol) contract
|
|
70
|
+
* together with the decoded function name and arguments of the actual CALL the
|
|
71
|
+
* adapter made to it. Recovered from an execution trace, so it is only present
|
|
72
|
+
* when a trace is available (history, facade simulation).
|
|
70
73
|
*/
|
|
71
|
-
export interface
|
|
72
|
-
operation: "Execute";
|
|
73
|
-
/**
|
|
74
|
-
* Address of Gearbox Adapter contract
|
|
75
|
-
*/
|
|
76
|
-
adapter: Address;
|
|
74
|
+
export interface AdapterProtocolOperation {
|
|
77
75
|
/**
|
|
78
76
|
* Address of protocol contract (targetContract of adapter contract)
|
|
79
77
|
*/
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Namespaced adapter type
|
|
83
|
-
* E.g. "ADAPTER::FLUID_DEX"
|
|
84
|
-
*/
|
|
85
|
-
adapterType: string;
|
|
86
|
-
/**
|
|
87
|
-
* Adapter contract version
|
|
88
|
-
*/
|
|
89
|
-
version: number;
|
|
90
|
-
/**
|
|
91
|
-
* Label of protocol contract (NOT adapter contract)
|
|
92
|
-
*/
|
|
93
|
-
label?: string;
|
|
94
|
-
/**
|
|
95
|
-
* Function name of adapter contract
|
|
96
|
-
*/
|
|
97
|
-
adapterFunctionName: string;
|
|
98
|
-
/**
|
|
99
|
-
* Arguments of adapter contract
|
|
100
|
-
*/
|
|
101
|
-
adapterArgs: Record<string, unknown>;
|
|
78
|
+
contract: Address;
|
|
102
79
|
/**
|
|
103
80
|
* Function name protocol called by adapter
|
|
104
81
|
*/
|
|
105
|
-
|
|
82
|
+
functionName: string;
|
|
106
83
|
/**
|
|
107
84
|
* Arguments of protocol called by adapter
|
|
108
85
|
*/
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* ERC20 transfer to and from credit account made during adapter call
|
|
112
|
-
*/
|
|
113
|
-
transfers: TokenTransfer[];
|
|
114
|
-
legacy: LegacyAdapterOperation;
|
|
86
|
+
functionArgs: Record<string, unknown>;
|
|
115
87
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { OnchainSDK, ParsedCallV2 } from "../../sdk/index.js";
|
|
3
|
+
import type { InnerOperation } from "./types.js";
|
|
4
|
+
export interface ClassifyInnerOperationsProps {
|
|
5
|
+
sdk: OnchainSDK;
|
|
6
|
+
/** Underlying token of the credit manager, used for debt operations. */
|
|
7
|
+
underlying: Address;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Maps each inner multicall entry to an {@link InnerOperation}:
|
|
11
|
+
* - adapter and unknown targets become a pure-descriptor `Execute`
|
|
12
|
+
* {@link AdapterOperation};
|
|
13
|
+
* - credit-facade self-calls map to the matching inner facade operation.
|
|
14
|
+
*
|
|
15
|
+
* Raw calldata has no execution trace, so the trace-derived adapter data
|
|
16
|
+
* (`protocol`, `transfers`) and `legacy` are intentionally absent; they are only
|
|
17
|
+
* recovered by trace-based flows (history, facade simulation).
|
|
18
|
+
*/
|
|
19
|
+
export declare function classifyInnerOperations(calls: ParsedCallV2[], props: ClassifyInnerOperationsProps): InnerOperation[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
export { UnsupportedZapperFunctionError } from "../../sdk/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Thrown when the target of a transaction is neither a known Gearbox pool nor a
|
|
5
|
+
* credit facade.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UnsupportedTargetError extends Error {
|
|
8
|
+
readonly target: Address;
|
|
9
|
+
constructor(target: Address);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Thrown when a pool call uses a function other than ERC4626 `deposit`/`redeem`.
|
|
13
|
+
*/
|
|
14
|
+
export declare class UnsupportedPoolFunctionError extends Error {
|
|
15
|
+
readonly pool: Address;
|
|
16
|
+
readonly functionName: string;
|
|
17
|
+
constructor(pool: Address, functionName: string);
|
|
18
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./classifyInnerOperations.js";
|
|
2
|
+
export * from "./errors.js";
|
|
3
|
+
export * from "./parseFacadeOperationCalldata.js";
|
|
4
|
+
export * from "./parseOperationCalldata.js";
|
|
5
|
+
export * from "./parsePoolOperationCalldata.js";
|
|
6
|
+
export * from "./parseRWAFactoryOperationCalldata.js";
|
|
7
|
+
export * from "./types.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Hex } from "viem";
|
|
2
|
+
import type { CreditFacadeV310Contract, OnchainSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { OuterFacadeOperation } from "./types.js";
|
|
4
|
+
export interface ParseFacadeOperationCalldataProps {
|
|
5
|
+
sdk: OnchainSDK;
|
|
6
|
+
/** Resolved credit facade contract for the transaction target. */
|
|
7
|
+
facade: CreditFacadeV310Contract;
|
|
8
|
+
calldata: Hex;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Decodes a credit-facade entry-point call into the matching
|
|
12
|
+
* {@link OuterFacadeOperation}.
|
|
13
|
+
*
|
|
14
|
+
* Transaction-level metadata (`txHash`, `blockNumber`, `timestamp`) is not part
|
|
15
|
+
* of the base `preview` operation: those values are only known once the
|
|
16
|
+
* transaction is mined and are added in `history` mode. `creditAccount` is
|
|
17
|
+
* `zeroAddress` for `openCreditAccount` (the address is assigned on-chain).
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseFacadeOperationCalldata(props: ParseFacadeOperationCalldataProps): OuterFacadeOperation;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
import { type PluginsMap } from "../../sdk/index.js";
|
|
3
|
+
import type { Operation, SdkWithAdapters } from "./types.js";
|
|
4
|
+
export interface ParseOperationCalldataInput<P extends PluginsMap = PluginsMap> {
|
|
5
|
+
/**
|
|
6
|
+
* Already-attached SDK; chain, RPC and block are baked in at attach time.
|
|
7
|
+
* Must be created with the adapters plugin (enforced at compile time) so
|
|
8
|
+
* adapter contracts resolve during multicall classification.
|
|
9
|
+
*/
|
|
10
|
+
sdk: SdkWithAdapters<P>;
|
|
11
|
+
to: Address;
|
|
12
|
+
calldata: Hex;
|
|
13
|
+
/** Transaction sender, contextual only. */
|
|
14
|
+
sender: Address;
|
|
15
|
+
/** Transaction `msg.value`, required for native-token zapper deposits. */
|
|
16
|
+
value?: bigint;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Decodes raw operation calldata into an {@link Operation}.
|
|
20
|
+
*
|
|
21
|
+
* Support parsing of pool operations (including via zappers) and credit facade operations.
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseOperationCalldata<P extends PluginsMap>(input: ParseOperationCalldataInput<P>): Operation;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Hex } from "viem";
|
|
2
|
+
import type { OnchainSDK, PoolV310Contract } from "../../sdk/index.js";
|
|
3
|
+
import type { PoolOperation } from "./types.js";
|
|
4
|
+
export interface ParsePoolOperationCalldataProps {
|
|
5
|
+
sdk: OnchainSDK;
|
|
6
|
+
/** Resolved pool contract for the transaction target. */
|
|
7
|
+
pool: PoolV310Contract;
|
|
8
|
+
calldata: Hex;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Decodes ERC4626 pool calldata into a {@link PoolOperation}. Supports every
|
|
12
|
+
* deposit/mint/withdraw/redeem variant of `IPoolV3` (and the `IERC4626` base it
|
|
13
|
+
* extends): `deposit`/`depositWithReferral`, `mint`/`mintWithReferral`,
|
|
14
|
+
* `withdraw` and `redeem`. Any other selector throws
|
|
15
|
+
* {@link UnsupportedPoolFunctionError}.
|
|
16
|
+
*/
|
|
17
|
+
export declare function parsePoolOperationCalldata(props: ParsePoolOperationCalldataProps): PoolOperation;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Hex } from "viem";
|
|
2
|
+
import { type IRWAFactory, type OnchainSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { RWAOperation } from "./types-rwa.js";
|
|
4
|
+
export interface ParseRWAFactoryOperationCalldataProps {
|
|
5
|
+
sdk: OnchainSDK;
|
|
6
|
+
/** Resolved RWA factory contract for the transaction target. */
|
|
7
|
+
factory: IRWAFactory;
|
|
8
|
+
calldata: Hex;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Decodes a RWA-factory entry-point call into the matching
|
|
12
|
+
* {@link RWAOperation}.
|
|
13
|
+
*
|
|
14
|
+
* RWA credit accounts are opened and managed through the market's RWA factory
|
|
15
|
+
* (see `CreditAccountsServiceV310`) rather than the credit facade, but the
|
|
16
|
+
* inner `calls` share the credit-facade multicall shape, so classification is
|
|
17
|
+
* identical to {@link parseFacadeOperationCalldata}.
|
|
18
|
+
*
|
|
19
|
+
* Dispatches on the factory's contract type; supporting a new factory type
|
|
20
|
+
* requires a new branch here plus new operation types in `types-rwa.ts`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseRWAFactoryOperationCalldata(props: ParseRWAFactoryOperationCalldataProps): RWAOperation;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
import type { AdapterProtocolOperation } from "../../plugins/adapters/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* A single ERC-20 Transfer event captured between Execute boundaries.
|
|
5
|
+
*
|
|
6
|
+
* Canonical, public definition owned by the `preview` module; `plugins/adapters`
|
|
7
|
+
* keeps a structurally identical internal copy for its legacy helpers.
|
|
8
|
+
*/
|
|
9
|
+
export interface TokenTransfer {
|
|
10
|
+
token: Address;
|
|
11
|
+
amount: bigint;
|
|
12
|
+
from: Address;
|
|
13
|
+
to: Address;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Pure adapter-call descriptor: everything that can be recovered without an
|
|
17
|
+
* execution trace (from raw calldata alone).
|
|
18
|
+
*/
|
|
19
|
+
export interface AdapterOperationBase {
|
|
20
|
+
operation: "Execute";
|
|
21
|
+
/**
|
|
22
|
+
* Address of Gearbox Adapter contract
|
|
23
|
+
*/
|
|
24
|
+
adapter: Address;
|
|
25
|
+
/**
|
|
26
|
+
* Namespaced adapter type
|
|
27
|
+
* E.g. "ADAPTER::FLUID_DEX"
|
|
28
|
+
*/
|
|
29
|
+
adapterType: string;
|
|
30
|
+
/**
|
|
31
|
+
* Adapter contract version
|
|
32
|
+
*/
|
|
33
|
+
version: number;
|
|
34
|
+
/**
|
|
35
|
+
* Label of protocol contract (NOT adapter contract)
|
|
36
|
+
*/
|
|
37
|
+
label?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Function name of adapter contract
|
|
40
|
+
*/
|
|
41
|
+
adapterFunctionName: string;
|
|
42
|
+
/**
|
|
43
|
+
* Arguments of adapter contract
|
|
44
|
+
*/
|
|
45
|
+
adapterArgs: Record<string, unknown>;
|
|
46
|
+
/**
|
|
47
|
+
* Raw ABI-encoded adapter calldata
|
|
48
|
+
*/
|
|
49
|
+
calldata: Hex;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Adapter `Execute` operation, generic over the extra data added by consumers.
|
|
53
|
+
*
|
|
54
|
+
* - calldata-only parse uses `Ext = {}` (pure descriptor);
|
|
55
|
+
* - trace-based flows (history, facade simulation) use {@link TraceAdapterExt};
|
|
56
|
+
* - history additionally intersects `{ legacy: LegacyAdapterOperation }`.
|
|
57
|
+
*/
|
|
58
|
+
export type AdapterOperation<Ext extends object = {}> = AdapterOperationBase & Ext;
|
|
59
|
+
/**
|
|
60
|
+
* Trace-derived adapter data: the protocol-level call and the ERC-20 transfers
|
|
61
|
+
* made during the adapter call. Both are only available from an execution
|
|
62
|
+
* trace, so they always travel together.
|
|
63
|
+
*
|
|
64
|
+
* `protocol` is optional: it is absent when no external protocol call was
|
|
65
|
+
* recovered for the adapter `Execute`. This happens for the account-migrator
|
|
66
|
+
* adapter (its `execute` targets the migrator bot, not an external protocol),
|
|
67
|
+
* for unknown adapters in non-strict mode (no ABI to decode against), and when
|
|
68
|
+
* the protocol calldata cannot be decoded.
|
|
69
|
+
*/
|
|
70
|
+
export interface TraceAdapterExt {
|
|
71
|
+
protocol?: AdapterProtocolOperation;
|
|
72
|
+
transfers: TokenTransfer[];
|
|
73
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
import type { Asset } from "../../sdk/index.js";
|
|
3
|
+
import type { AdapterOperation } from "./types-adapters.js";
|
|
4
|
+
/**
|
|
5
|
+
* Increase debt (borrow more).
|
|
6
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L149-L154
|
|
7
|
+
*/
|
|
8
|
+
export interface IncreaseDebtOp {
|
|
9
|
+
operation: "IncreaseBorrowedAmount";
|
|
10
|
+
token: Address;
|
|
11
|
+
amount: bigint;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Decrease debt (repay).
|
|
15
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L155-L161
|
|
16
|
+
*/
|
|
17
|
+
export interface DecreaseDebtOp {
|
|
18
|
+
operation: "DecreaseBorrowedAmount";
|
|
19
|
+
token: Address;
|
|
20
|
+
amount: bigint;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Add collateral to credit account.
|
|
24
|
+
*/
|
|
25
|
+
export interface AddCollateralOp {
|
|
26
|
+
operation: "AddCollateral";
|
|
27
|
+
token: Address;
|
|
28
|
+
amount: bigint;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Withdraw collateral from credit account.
|
|
32
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L162-L171
|
|
33
|
+
*/
|
|
34
|
+
export interface WithdrawCollateralOp {
|
|
35
|
+
operation: "WithdrawCollateral";
|
|
36
|
+
token: Address;
|
|
37
|
+
amount: bigint;
|
|
38
|
+
to: Address;
|
|
39
|
+
phantomToken?: Address;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Update token quota on credit account.
|
|
43
|
+
* @see https://github.com/Gearbox-protocol/charts_server/blob/master/core/operation_type_v3.go#L172-L178
|
|
44
|
+
*/
|
|
45
|
+
export interface UpdateQuotaOp {
|
|
46
|
+
operation: "UpdateQuota";
|
|
47
|
+
token: Address;
|
|
48
|
+
change: bigint;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Router-generated slippage-control call that declares expected minimal
|
|
52
|
+
* balance changes for the adapter calls that follow, up to the matching
|
|
53
|
+
* {@link CompareBalancesOp}.
|
|
54
|
+
*/
|
|
55
|
+
export interface StoreExpectedBalancesOp {
|
|
56
|
+
operation: "StoreExpectedBalances";
|
|
57
|
+
/**
|
|
58
|
+
* Declared minimal balance changes (relative to balances at
|
|
59
|
+
* `storeExpectedBalances` time).
|
|
60
|
+
*/
|
|
61
|
+
deltas: Asset[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Router-generated slippage-control call that validates the balance changes
|
|
65
|
+
* declared by the preceding {@link StoreExpectedBalancesOp}. Pure validation
|
|
66
|
+
* marker, carries no data.
|
|
67
|
+
*/
|
|
68
|
+
export interface CompareBalancesOp {
|
|
69
|
+
operation: "CompareBalances";
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Union of facade inner-call operation types (non-adapter credit account operations).
|
|
73
|
+
* Discriminated on the `operation` field.
|
|
74
|
+
*/
|
|
75
|
+
export type InnerFacadeOperation = IncreaseDebtOp | DecreaseDebtOp | AddCollateralOp | WithdrawCollateralOp | UpdateQuotaOp | StoreExpectedBalancesOp | CompareBalancesOp;
|
|
76
|
+
/**
|
|
77
|
+
* All operations that can happen within a CreditFacade's multicall and that we're interested in.
|
|
78
|
+
*
|
|
79
|
+
* Generic over the adapter-operation extension `Ext` (see {@link AdapterOperation}).
|
|
80
|
+
*/
|
|
81
|
+
export type InnerOperation<Ext extends object = {}> = AdapterOperation<Ext> | InnerFacadeOperation;
|
|
82
|
+
/**
|
|
83
|
+
* Transaction-level metadata available only when parsing a mined transaction
|
|
84
|
+
* (the `history` mode). It is intentionally absent from base `preview`
|
|
85
|
+
* operations, which describe not-yet-mined calls where these values are unknown.
|
|
86
|
+
*/
|
|
87
|
+
export interface OperationMetadata {
|
|
88
|
+
txHash: Hex;
|
|
89
|
+
blockNumber: number;
|
|
90
|
+
timestamp: number;
|
|
91
|
+
}
|
|
92
|
+
export interface FacadeOperationMetadata {
|
|
93
|
+
creditManager: Address;
|
|
94
|
+
creditFacade: Address;
|
|
95
|
+
}
|
|
96
|
+
export interface MulticallOperation<Ext extends object = {}> extends FacadeOperationMetadata {
|
|
97
|
+
operation: "MultiCall" | "BotMulticall";
|
|
98
|
+
creditAccount: Address;
|
|
99
|
+
multicall: InnerOperation<Ext>[];
|
|
100
|
+
}
|
|
101
|
+
export interface OpenCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
|
|
102
|
+
operation: "OpenCreditAccount";
|
|
103
|
+
creditAccount: Address;
|
|
104
|
+
onBehalfOf: Address;
|
|
105
|
+
referralCode: bigint;
|
|
106
|
+
multicall: InnerOperation<Ext>[];
|
|
107
|
+
}
|
|
108
|
+
export interface CloseCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
|
|
109
|
+
operation: "CloseCreditAccount";
|
|
110
|
+
creditAccount: Address;
|
|
111
|
+
multicall: InnerOperation<Ext>[];
|
|
112
|
+
}
|
|
113
|
+
export interface LiquidateCreditAccountOperation<Ext extends object = {}> extends FacadeOperationMetadata {
|
|
114
|
+
operation: "LiquidateCreditAccount";
|
|
115
|
+
creditAccount: Address;
|
|
116
|
+
to: Address;
|
|
117
|
+
token: Address;
|
|
118
|
+
remainingFunds: bigint;
|
|
119
|
+
multicall: InnerOperation<Ext>[];
|
|
120
|
+
}
|
|
121
|
+
export interface PartialLiquidationOperation extends FacadeOperationMetadata {
|
|
122
|
+
operation: "PartiallyLiquidateCreditAccount";
|
|
123
|
+
creditAccount: Address;
|
|
124
|
+
token: Address;
|
|
125
|
+
repaidAmount: bigint;
|
|
126
|
+
minSeizedAmount: bigint;
|
|
127
|
+
to: Address;
|
|
128
|
+
}
|
|
129
|
+
export interface DirectTokenTransferOperation {
|
|
130
|
+
operation: "DirectTokenTransfer";
|
|
131
|
+
protocol: Address;
|
|
132
|
+
token: Address;
|
|
133
|
+
from: Address;
|
|
134
|
+
to: Address;
|
|
135
|
+
creditAccount: Address;
|
|
136
|
+
amount: bigint;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Discriminated union of all facade-level operation types.
|
|
140
|
+
* One per facade entry-point call within a transaction.
|
|
141
|
+
*/
|
|
142
|
+
export type OuterFacadeOperation<Ext extends object = {}> = MulticallOperation<Ext> | OpenCreditAccountOperation<Ext> | CloseCreditAccountOperation<Ext> | LiquidateCreditAccountOperation<Ext> | PartialLiquidationOperation;
|
|
143
|
+
/**
|
|
144
|
+
* Discriminated union of all credit account operation types
|
|
145
|
+
* (facade operations + direct token transfers).
|
|
146
|
+
*/
|
|
147
|
+
export type CreditAccountOperation<Ext extends object = {}> = OuterFacadeOperation<Ext> | DirectTokenTransferOperation;
|