@gearbox-protocol/sdk 14.12.0-next.1 → 14.12.0-next.11
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/dev/AccountOpener.js +7 -13
- package/dist/cjs/history/classifyMulticallOperations.js +2 -0
- package/dist/cjs/history/mapOperations.js +7 -0
- 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 +36 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -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/preview/index.js +2 -4
- package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/cjs/preview/parse/errors.js +5 -2
- package/dist/cjs/preview/parse/index.js +2 -2
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +5 -12
- package/dist/cjs/preview/parse/parseOperationCalldata.js +40 -1
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +14 -2
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
- package/dist/cjs/preview/parse/types-rwa.js +16 -0
- package/dist/cjs/preview/parse/types.js +9 -2
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +13 -13
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +32 -14
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +66 -0
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +124 -14
- package/dist/cjs/preview/prerequisites/index.js +2 -0
- package/dist/cjs/preview/preview/applyInnerOperations.js +130 -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 +90 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -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/{sdk/market/zapper/Zapper.js → preview/preview/unwrapNativeCollateral.js} +20 -22
- package/dist/cjs/preview/simulate/errors.js +0 -7
- package/dist/cjs/preview/simulate/index.js +5 -5
- package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +60 -31
- package/dist/cjs/preview/simulate/{constants.js → simulateRWAOperation.js} +8 -6
- package/dist/cjs/sdk/MultichainSDK.js +1 -0
- package/dist/cjs/sdk/OnchainSDK.js +7 -3
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +53 -23
- 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/{preview/simulate/holders.js → sdk/market/zapper/errors.js} +13 -21
- 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 +97 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/abi/iZapper.js +62 -24
- package/dist/esm/dev/AccountOpener.js +8 -13
- package/dist/esm/history/classifyMulticallOperations.js +2 -0
- package/dist/esm/history/mapOperations.js +7 -0
- 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 +36 -0
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -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 +1 -2
- package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/esm/preview/parse/errors.js +3 -1
- package/dist/esm/preview/parse/index.js +1 -1
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +5 -12
- package/dist/esm/preview/parse/parseOperationCalldata.js +43 -2
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +14 -2
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
- package/dist/esm/preview/parse/types-rwa.js +0 -0
- package/dist/esm/preview/parse/types.js +6 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +13 -13
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +32 -14
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +42 -0
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +130 -14
- package/dist/esm/preview/prerequisites/index.js +1 -0
- package/dist/esm/preview/preview/applyInnerOperations.js +108 -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 +74 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -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 +0 -6
- package/dist/esm/preview/simulate/index.js +3 -3
- package/dist/esm/preview/simulate/simulateOperation.js +8 -1
- package/dist/esm/preview/simulate/simulatePoolOperation.js +61 -35
- package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
- package/dist/esm/sdk/MultichainSDK.js +1 -0
- package/dist/esm/sdk/OnchainSDK.js +7 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +54 -24
- 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 +73 -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/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/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/history/types.d.ts +4 -4
- 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 +21 -3
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
- 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 +4 -2
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -6
- 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 +2 -2
- 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 +4 -2
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +4 -2
- 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 +4 -2
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +4 -2
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +4 -2
- 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 +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +3 -1
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +4 -2
- 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 +4 -2
- package/dist/types/plugins/adapters/types.d.ts +10 -0
- package/dist/types/preview/index.d.ts +1 -2
- package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
- package/dist/types/preview/parse/errors.d.ts +1 -0
- package/dist/types/preview/parse/index.d.ts +1 -1
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +3 -3
- package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +22 -0
- package/dist/types/preview/parse/types-adapters.d.ts +5 -1
- package/dist/types/preview/parse/types-facades.d.ts +23 -34
- package/dist/types/preview/parse/types-pools.d.ts +90 -2
- package/dist/types/preview/parse/types-rwa.d.ts +48 -0
- package/dist/types/preview/parse/types.d.ts +11 -6
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +1 -3
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +9 -6
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +36 -0
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +15 -6
- package/dist/types/preview/prerequisites/index.d.ts +1 -0
- package/dist/types/preview/prerequisites/types.d.ts +10 -8
- 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 +6 -12
- package/dist/types/preview/simulate/index.d.ts +3 -2
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -2
- package/dist/types/preview/simulate/simulateOperation.d.ts +0 -2
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +9 -3
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +23 -0
- package/dist/types/preview/simulate/types.d.ts +12 -39
- 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 +11 -3
- package/dist/types/sdk/accounts/types.d.ts +66 -8
- 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 +44 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
- package/dist/cjs/preview/simulate/extractERC20Transfers.js +0 -47
- package/dist/cjs/preview/simulate/simulatePoolOpMulticall.js +0 -155
- package/dist/cjs/preview/simulate/simulatePoolOpV1.js +0 -106
- package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
- package/dist/esm/preview/simulate/constants.js +0 -4
- package/dist/esm/preview/simulate/extractERC20Transfers.js +0 -23
- package/dist/esm/preview/simulate/holders.js +0 -21
- package/dist/esm/preview/simulate/simulatePoolOpMulticall.js +0 -130
- package/dist/esm/preview/simulate/simulatePoolOpV1.js +0 -82
- package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
- package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
- package/dist/types/preview/simulate/constants.d.ts +0 -6
- package/dist/types/preview/simulate/extractERC20Transfers.d.ts +0 -11
- package/dist/types/preview/simulate/holders.d.ts +0 -7
- package/dist/types/preview/simulate/simulatePoolOpMulticall.d.ts +0 -28
- package/dist/types/preview/simulate/simulatePoolOpV1.d.ts +0 -14
- package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
import type { Asset, CreditAccountData, PluginsMap } from "../../sdk/index.js";
|
|
3
|
+
import type { PoolOperationType, SdkWithAdapters } from "../parse/index.js";
|
|
4
|
+
import type { OperationSimulationOptions } from "../simulate/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Input of {@link previewOperation}: the raw operation calldata plus the
|
|
7
|
+
* already-attached SDK
|
|
8
|
+
*/
|
|
9
|
+
export interface PreviewOperationInput<P extends PluginsMap = PluginsMap> {
|
|
10
|
+
/**
|
|
11
|
+
* Already-attached SDK; chain, RPC and block are baked in at attach time.
|
|
12
|
+
* Must be created with the adapters plugin (enforced at compile time) so
|
|
13
|
+
* adapter contracts resolve during multicall classification.
|
|
14
|
+
*/
|
|
15
|
+
sdk: SdkWithAdapters<P>;
|
|
16
|
+
/**
|
|
17
|
+
* Contract address that was called
|
|
18
|
+
*/
|
|
19
|
+
to: Address;
|
|
20
|
+
/**
|
|
21
|
+
* Raw calldata of the operation
|
|
22
|
+
*/
|
|
23
|
+
calldata: Hex;
|
|
24
|
+
/**
|
|
25
|
+
* Transaction sender
|
|
26
|
+
*/
|
|
27
|
+
sender: Address;
|
|
28
|
+
/**
|
|
29
|
+
* Transaction `msg.value`
|
|
30
|
+
**/
|
|
31
|
+
value?: bigint;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Options of {@link previewOperation}, extending the simulation options with
|
|
35
|
+
* preview-specific inputs.
|
|
36
|
+
*/
|
|
37
|
+
export interface PreviewOperationOptions extends OperationSimulationOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Pre-fetched state of the credit account being adjusted. When omitted,
|
|
40
|
+
* multicall/botMulticall previews fetch it via
|
|
41
|
+
* `sdk.accounts.getCreditAccountData` (one compressor read). Ignored by
|
|
42
|
+
* other operation kinds.
|
|
43
|
+
*/
|
|
44
|
+
creditAccount?: CreditAccountData;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A token amount that may require an additional async call (e.g. an ERC4626
|
|
48
|
+
* preview read) to determine. When that call fails, only the token address and
|
|
49
|
+
* the error are returned.
|
|
50
|
+
*/
|
|
51
|
+
export type PreviewedAsset = Asset | {
|
|
52
|
+
token: Address;
|
|
53
|
+
error: Error;
|
|
54
|
+
};
|
|
55
|
+
export interface PoolOperationPreview {
|
|
56
|
+
operation: PoolOperationType;
|
|
57
|
+
/**
|
|
58
|
+
* Pool address
|
|
59
|
+
*/
|
|
60
|
+
pool: Address;
|
|
61
|
+
/**
|
|
62
|
+
* Token that goes from user to pool
|
|
63
|
+
* In case of deposit, underlying for direct deposit, zapper input for zapper-routed deposit
|
|
64
|
+
* In case of withdraw, pool shares (diesel token) for direct withdraw or zapper token out
|
|
65
|
+
*
|
|
66
|
+
* For mint/withdraw the amount of tokenIn cannot be determined from
|
|
67
|
+
* transaction calldata alone and requires an additional async call
|
|
68
|
+
* (previewMint/previewWithdraw). In case of error only the token address is
|
|
69
|
+
* returned.
|
|
70
|
+
*/
|
|
71
|
+
tokenIn: PreviewedAsset;
|
|
72
|
+
/**
|
|
73
|
+
* Token that goes from pool to user
|
|
74
|
+
* In case of deposit, pool shares (diesel token) for direct deposit or zapper token out
|
|
75
|
+
* In case of withdraw, underlying for direct withdraw or zapper token in
|
|
76
|
+
*
|
|
77
|
+
* For deposit/redeem the amount of tokenOut cannot be determined from
|
|
78
|
+
* transaction calldata alone and requires an additional async call
|
|
79
|
+
* (previewDeposit/previewRedeem). In case of error only the token address is
|
|
80
|
+
* returned.
|
|
81
|
+
*/
|
|
82
|
+
tokenOut: PreviewedAsset;
|
|
83
|
+
}
|
|
84
|
+
export interface OpenCreditAccountPreview {
|
|
85
|
+
operation: "OpenCreditAccount" | "SecuritizeOpenCreditAccount";
|
|
86
|
+
/**
|
|
87
|
+
* Credit manager the account is opened in
|
|
88
|
+
*/
|
|
89
|
+
creditManager: Address;
|
|
90
|
+
/**
|
|
91
|
+
* Target token of strategy: the first quoted token, with its balance taken
|
|
92
|
+
* from `assets`. Undefined when nothing is quoted.
|
|
93
|
+
*/
|
|
94
|
+
target?: Asset;
|
|
95
|
+
/**
|
|
96
|
+
* Tokens that were added as collateral during account opening.
|
|
97
|
+
*
|
|
98
|
+
* When the transaction has native value attached, it is represented as a
|
|
99
|
+
* `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
|
|
100
|
+
* accordingly (omitted entirely when it reaches zero).
|
|
101
|
+
*/
|
|
102
|
+
collateral: Asset[];
|
|
103
|
+
/**
|
|
104
|
+
* Sum of collateral tokens in underlying
|
|
105
|
+
*/
|
|
106
|
+
collateralValue: bigint;
|
|
107
|
+
/**
|
|
108
|
+
* Borrowed amount in underlying
|
|
109
|
+
*/
|
|
110
|
+
debt: bigint;
|
|
111
|
+
/**
|
|
112
|
+
* Desired quotas
|
|
113
|
+
*/
|
|
114
|
+
quotas: Asset[];
|
|
115
|
+
/**
|
|
116
|
+
* Minimum amount of assets on credit account after it's opened,
|
|
117
|
+
* as estimated by router
|
|
118
|
+
*/
|
|
119
|
+
assets: Asset[];
|
|
120
|
+
}
|
|
121
|
+
export interface AdjustCreditAccountPreview {
|
|
122
|
+
operation: "AdjustCreditAccount";
|
|
123
|
+
/**
|
|
124
|
+
* Credit manager the account is opened in
|
|
125
|
+
*/
|
|
126
|
+
creditManager: Address;
|
|
127
|
+
/**
|
|
128
|
+
* Credit account that is being adjusted
|
|
129
|
+
*/
|
|
130
|
+
creditAccount: Address;
|
|
131
|
+
/**
|
|
132
|
+
* Tokens that were added as collateral during account opening.
|
|
133
|
+
*
|
|
134
|
+
* When the transaction has native value attached, it is represented as a
|
|
135
|
+
* `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
|
|
136
|
+
* accordingly (omitted entirely when it reaches zero).
|
|
137
|
+
*/
|
|
138
|
+
collateralAdded: Asset[];
|
|
139
|
+
/**
|
|
140
|
+
* Tokens that were withdrawn as collateral during account adjustment.
|
|
141
|
+
*/
|
|
142
|
+
collateralWithdrawn: Asset[];
|
|
143
|
+
/**
|
|
144
|
+
* Sum of collateral tokens in underlying
|
|
145
|
+
*/
|
|
146
|
+
totalValue: bigint;
|
|
147
|
+
/**
|
|
148
|
+
* Borrowed amount in underlying
|
|
149
|
+
*/
|
|
150
|
+
debt: bigint;
|
|
151
|
+
/**
|
|
152
|
+
* Debt after minus debt before
|
|
153
|
+
*/
|
|
154
|
+
debtChange: bigint;
|
|
155
|
+
/**
|
|
156
|
+
* Desired quotas
|
|
157
|
+
*/
|
|
158
|
+
quotas: Asset[];
|
|
159
|
+
/**
|
|
160
|
+
* Quotas after minus quotas before
|
|
161
|
+
*/
|
|
162
|
+
quotasChange: Asset[];
|
|
163
|
+
/**
|
|
164
|
+
* Minimum amount of assets on credit account after the operation,
|
|
165
|
+
* as estimated by router
|
|
166
|
+
*/
|
|
167
|
+
assets: Asset[];
|
|
168
|
+
/**
|
|
169
|
+
* Assets after minus assets before
|
|
170
|
+
*/
|
|
171
|
+
assetsChange: Asset[];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Result of previewing a raw operation calldata: currently pool operations and
|
|
175
|
+
* credit account opening are supported.
|
|
176
|
+
*/
|
|
177
|
+
export type OperationPreview = PoolOperationPreview | OpenCreditAccountPreview | AdjustCreditAccountPreview;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import { type Asset } from "../../sdk/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents the transaction's attached native value as a `NATIVE_ADDRESS`
|
|
5
|
+
* entry in the collateral list.
|
|
6
|
+
*
|
|
7
|
+
* The credit facade wraps `msg.value` into WETH before `AddCollateral(WETH)`
|
|
8
|
+
* pulls it, so the WETH collateral amount already includes the attached native
|
|
9
|
+
* value. This helper splits the WETH entry back: the native amount is shown as
|
|
10
|
+
* `NATIVE_ADDRESS` and the WETH entry is reduced accordingly (dropped when it
|
|
11
|
+
* reaches zero). Other entries are preserved.
|
|
12
|
+
*
|
|
13
|
+
* @param collateral - Collateral assets as declared by the multicall.
|
|
14
|
+
* @param nativeAmount - Transaction `msg.value`.
|
|
15
|
+
* @param wethToken - Wrapped native token address.
|
|
16
|
+
* @returns Collateral with the native amount unwrapped from the WETH entry.
|
|
17
|
+
* @throws InvalidTransactionValueError when `nativeAmount` is positive but the
|
|
18
|
+
* WETH collateral is missing or smaller than it.
|
|
19
|
+
*/
|
|
20
|
+
export declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): Asset[];
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { BaseError, type Hex } from "viem";
|
|
2
2
|
/** Which simulation flow produced a failure. */
|
|
3
|
-
export type SimulationFlowSource = "
|
|
3
|
+
export type SimulationFlowSource = "multicall" | "unknown";
|
|
4
4
|
/** A single flow failure with its decoded revert detail. */
|
|
5
5
|
export interface SimulationFlowFailure {
|
|
6
6
|
source: SimulationFlowSource;
|
|
7
7
|
detail: SimulationError;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Error returned by the pool simulation when
|
|
11
|
-
*
|
|
12
|
-
* On a single-flow failure it wraps that flow's decoded revert reason; when both
|
|
13
|
-
* the `eth_simulateV1` and multicall flows fail, it carries the details of both
|
|
14
|
-
* (see {@link failures}).
|
|
10
|
+
* Error returned by the pool simulation when it fails. It wraps the flow's
|
|
11
|
+
* decoded revert reason (see {@link failures}).
|
|
15
12
|
*/
|
|
16
13
|
export declare class PreviewSimulationError extends BaseError {
|
|
17
14
|
name: string;
|
|
@@ -24,8 +21,6 @@ export declare class PreviewSimulationError extends BaseError {
|
|
|
24
21
|
* Pass-through when it already is one; otherwise decodes it under `source`.
|
|
25
22
|
*/
|
|
26
23
|
export declare function asPreviewSimulationError(reason: unknown, source: SimulationFlowSource): PreviewSimulationError;
|
|
27
|
-
/** Merges several {@link PreviewSimulationError}s into one carrying all failures. */
|
|
28
|
-
export declare function combinePreviewSimulationErrors(...errors: (PreviewSimulationError | undefined)[]): PreviewSimulationError;
|
|
29
24
|
/** Decoded revert of the simulated transaction. */
|
|
30
25
|
export interface SimulationError {
|
|
31
26
|
/** Human-readable revert reason / error name. */
|
|
@@ -33,17 +28,16 @@ export interface SimulationError {
|
|
|
33
28
|
/** Original error, kept for debugging. */
|
|
34
29
|
cause?: unknown;
|
|
35
30
|
}
|
|
36
|
-
/** Per-call slice of a
|
|
31
|
+
/** Per-call slice of a multicall failure we need to decode. */
|
|
37
32
|
export interface SimulationRevert {
|
|
38
33
|
error?: Error;
|
|
39
34
|
/** Raw revert return data, when present. */
|
|
40
35
|
data?: Hex;
|
|
41
36
|
}
|
|
42
37
|
/**
|
|
43
|
-
* Decodes a simulated
|
|
38
|
+
* Decodes a simulated call revert into a {@link SimulationError}.
|
|
44
39
|
*
|
|
45
|
-
*
|
|
46
|
-
* itself. We first try to decode the raw return bytes against the SDK's
|
|
40
|
+
* We first try to decode any raw return bytes against the SDK's
|
|
47
41
|
* {@link errorAbis} (Gearbox protocol exceptions plus standard ERC-20 custom
|
|
48
42
|
* errors); failing that, we walk viem's error chain for a
|
|
49
43
|
* {@link ContractFunctionRevertedError} (covers `Error(string)` / `Panic`).
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { ETH_SIMULATE_V1_NETWORKS } from "./constants.js";
|
|
2
1
|
export type { SimulationError, SimulationFlowFailure, SimulationFlowSource, } from "./errors.js";
|
|
3
2
|
export { PreviewSimulationError } from "./errors.js";
|
|
4
3
|
export type { SimulateFacadeOperationInput } from "./simulateFacadeOperation.js";
|
|
@@ -6,4 +5,6 @@ export { simulateFacadeOperation } from "./simulateFacadeOperation.js";
|
|
|
6
5
|
export type { SimulateOperationInput } from "./simulateOperation.js";
|
|
7
6
|
export { simulateOperation } from "./simulateOperation.js";
|
|
8
7
|
export { simulatePoolOperation } from "./simulatePoolOperation.js";
|
|
9
|
-
export type {
|
|
8
|
+
export type { SimulateRWAOperationInput } from "./simulateRWAOperation.js";
|
|
9
|
+
export { simulateRWAOperation } from "./simulateRWAOperation.js";
|
|
10
|
+
export type { OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput, PoolOperationSimulationResult, } from "./types.js";
|
|
@@ -11,8 +11,6 @@ export interface SimulateFacadeOperationInput {
|
|
|
11
11
|
to: Address;
|
|
12
12
|
/** Raw credit-facade calldata to simulate. */
|
|
13
13
|
calldata: Hex;
|
|
14
|
-
/** Wallet whose balance changes and transfers we track. */
|
|
15
|
-
wallet: Address;
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
18
16
|
* Simulates a credit-facade operation.
|
|
@@ -11,8 +11,6 @@ export interface SimulateOperationInput {
|
|
|
11
11
|
to: Address;
|
|
12
12
|
/** Raw operation calldata to simulate. */
|
|
13
13
|
calldata: Hex;
|
|
14
|
-
/** Wallet whose balance changes and transfers we track. */
|
|
15
|
-
wallet: Address;
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
18
16
|
* Simulates a parsed pool or credit account operation {@link Operation}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput } from "./types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Simulates a pool deposit/mint/withdraw/redeem
|
|
4
|
-
*
|
|
3
|
+
* Simulates a pool deposit/mint/withdraw/redeem (direct or zapper-routed) and
|
|
4
|
+
* returns the resulting token amounts going in and out, or a decoded failure.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Performs the matching preview read (the pool's ERC4626
|
|
7
|
+
* `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
|
|
8
|
+
* zapper's `previewDeposit`/`previewRedeem`) to convert the calldata-known
|
|
9
|
+
* amount into its counterpart. It works on every network the SDK supports.
|
|
10
|
+
*
|
|
11
|
+
* It does not execute the calldata, so it ignores balance/allowance
|
|
12
|
+
* prerequisites (preview reads succeed regardless).
|
|
7
13
|
*/
|
|
8
14
|
export declare function simulatePoolOperation(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
import type { OnchainSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { RWAOperation } from "../parse/index.js";
|
|
4
|
+
import type { OperationSimulationOptions, PoolOperationSimulation } from "./types.js";
|
|
5
|
+
export interface SimulateRWAOperationInput {
|
|
6
|
+
/** Only `client`/`networkType` are used, so any OnchainSDK works. */
|
|
7
|
+
sdk: OnchainSDK;
|
|
8
|
+
/** Parsed RWA-factory operation to simulate. */
|
|
9
|
+
operation: RWAOperation;
|
|
10
|
+
/** Target contract the calldata is sent to (the RWA factory). */
|
|
11
|
+
to: Address;
|
|
12
|
+
/** Raw RWA-factory calldata to simulate. */
|
|
13
|
+
calldata: Hex;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Simulates an RWA-factory operation.
|
|
17
|
+
*
|
|
18
|
+
* Not yet implemented: like credit-facade simulation, it requires
|
|
19
|
+
* multicall-aware balance/transfer accounting that the pool simulation does
|
|
20
|
+
* not cover. The signature mirrors {@link simulatePoolOperation} so the
|
|
21
|
+
* {@link simulateOperation} wrapper can delegate uniformly once implemented.
|
|
22
|
+
*/
|
|
23
|
+
export declare function simulateRWAOperation(_input: SimulateRWAOperationInput, _options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
|
|
@@ -1,27 +1,8 @@
|
|
|
1
1
|
import type { Address, Hex } from "viem";
|
|
2
2
|
import type { OnchainSDK } from "../../sdk/index.js";
|
|
3
3
|
import type { ILogger } from "../../sdk/types/logger.js";
|
|
4
|
-
import type { PoolOperation
|
|
4
|
+
import type { PoolOperation } from "../parse/index.js";
|
|
5
5
|
import type { PreviewSimulationError } from "./errors.js";
|
|
6
|
-
/**
|
|
7
|
-
* Change in an address's balance of a single token over the simulated call.
|
|
8
|
-
* `delta` is `after - before` (negative when the address spent the token).
|
|
9
|
-
*/
|
|
10
|
-
export interface TokenBalanceChange {
|
|
11
|
-
token: Address;
|
|
12
|
-
before: bigint;
|
|
13
|
-
after: bigint;
|
|
14
|
-
delta: bigint;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Balance changes for a single watched address (e.g. the wallet or the
|
|
18
|
-
* operation recipient). Keyed purely by address; UI labeling is resolved
|
|
19
|
-
* separately by the presentation layer.
|
|
20
|
-
*/
|
|
21
|
-
export interface AddressBalanceChanges {
|
|
22
|
-
address: Address;
|
|
23
|
-
changes: TokenBalanceChange[];
|
|
24
|
-
}
|
|
25
6
|
export interface PoolOperationSimulationInput {
|
|
26
7
|
/** Only `client`/`networkType` are used, so any OnchainSDK works. */
|
|
27
8
|
sdk: OnchainSDK;
|
|
@@ -31,40 +12,32 @@ export interface PoolOperationSimulationInput {
|
|
|
31
12
|
to: Address;
|
|
32
13
|
/** Raw deposit/mint/withdraw/redeem calldata to simulate. */
|
|
33
14
|
calldata: Hex;
|
|
34
|
-
/** Wallet whose balance changes and transfers we track. */
|
|
35
|
-
wallet: Address;
|
|
36
15
|
}
|
|
37
16
|
export interface OperationSimulationOptions {
|
|
38
17
|
/** Block to simulate at; defaults to latest. */
|
|
39
18
|
blockNumber?: bigint;
|
|
40
|
-
/**
|
|
41
|
-
* Whether to run the `eth_simulateV1` flow (preferred, recovers transfers).
|
|
42
|
-
* When `undefined`, defaults to whether the SDK's network is in
|
|
43
|
-
* {@link ETH_SIMULATE_V1_NETWORKS}.
|
|
44
|
-
*/
|
|
45
|
-
useSimulateV1?: boolean;
|
|
46
19
|
/**
|
|
47
20
|
* Optional logger.
|
|
48
21
|
**/
|
|
49
22
|
logger?: ILogger;
|
|
50
23
|
}
|
|
51
24
|
/**
|
|
52
|
-
* Successful simulation of a pool operation: the
|
|
53
|
-
*
|
|
54
|
-
* This is the success payload of {@link PoolOperationSimulation}
|
|
55
|
-
* `status` discriminant.
|
|
25
|
+
* Successful simulation of a pool operation: the amounts of tokens going in
|
|
26
|
+
* and out. One side comes from calldata, the other from the matching ERC4626
|
|
27
|
+
* preview read. This is the success payload of {@link PoolOperationSimulation}
|
|
28
|
+
* without the `status` discriminant.
|
|
56
29
|
*/
|
|
57
30
|
export interface PoolOperationSimulationResult {
|
|
58
31
|
/**
|
|
59
|
-
*
|
|
32
|
+
* Amount of tokens going from the user to the pool (underlying or zapper
|
|
33
|
+
* input token for deposit/mint, pool shares for withdraw/redeem).
|
|
60
34
|
**/
|
|
61
|
-
|
|
35
|
+
amountIn: bigint;
|
|
62
36
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
transfers?: TokenTransfer[];
|
|
37
|
+
* Amount of tokens going from the pool to the user (pool shares or zapper
|
|
38
|
+
* output token for deposit/mint, underlying for withdraw/redeem).
|
|
39
|
+
**/
|
|
40
|
+
amountOut: bigint;
|
|
68
41
|
}
|
|
69
42
|
/**
|
|
70
43
|
* Outcome of simulating a pool operation. On success it carries a
|
|
@@ -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}.
|
|
@@ -4,9 +4,9 @@ import { SDKConstruct } from "../base/index.js";
|
|
|
4
4
|
import { type PriceUpdate } from "../market/index.js";
|
|
5
5
|
import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
|
|
6
6
|
import type { OnchainSDK } from "../OnchainSDK.js";
|
|
7
|
-
import {
|
|
7
|
+
import type { RouterCASlice } from "../router/index.js";
|
|
8
8
|
import type { MultiCall, RawTx } from "../types/index.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";
|
|
9
|
+
import type { AccountToCheck, AddCollateralProps, AssembleCaUpdateCallsProps, AssembleCloseCreditAccountCallsProps, AssembleRepayCreditAccountCallsProps, 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
|
**/
|
|
@@ -79,6 +79,10 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
|
|
|
79
79
|
* {@inheritDoc ICreditAccountsService.closeCreditAccount}
|
|
80
80
|
**/
|
|
81
81
|
closeCreditAccount({ operation, assetsToWithdraw, creditAccount: ca, to, slippage, closePath, }: CloseCreditAccountProps): Promise<CloseCreditAccountResult>;
|
|
82
|
+
/**
|
|
83
|
+
* {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
|
|
84
|
+
*/
|
|
85
|
+
assembleCloseCreditAccountCalls({ creditAccount: ca, routerCalls, assetsToWithdraw, to, }: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
|
|
82
86
|
/**
|
|
83
87
|
* {@inheritDoc ICreditAccountsService.updateQuotas}
|
|
84
88
|
**/
|
|
@@ -178,7 +182,11 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
|
|
|
178
182
|
/**
|
|
179
183
|
* {@inheritDoc ICreditAccountsService.repayCreditAccount}
|
|
180
184
|
*/
|
|
181
|
-
repayCreditAccount(
|
|
185
|
+
repayCreditAccount(props: RepayCreditAccountProps): Promise<CreditAccountOperationResult>;
|
|
186
|
+
/**
|
|
187
|
+
* {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
|
|
188
|
+
*/
|
|
189
|
+
assembleRepayCreditAccountCalls({ collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls, }: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
|
|
182
190
|
/**
|
|
183
191
|
* {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
|
|
184
192
|
*/
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Address, ContractFunctionArgs, GetContractReturnType, Hex, PublicClient } from "viem";
|
|
2
2
|
import type { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
|
|
3
3
|
import type { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
|
|
4
|
-
import type { ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
|
|
4
|
+
import type { Asset, ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
|
|
5
5
|
import type { CreditSuite, PriceUpdate, RWAOperationParams } from "../market/index.js";
|
|
6
6
|
import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
|
|
7
7
|
import type { OnchainSDK } from "../OnchainSDK.js";
|
|
8
|
-
import type {
|
|
8
|
+
import type { RouterCASlice, RouterCloseResult } from "../router/index.js";
|
|
9
9
|
import type { MultiCall, RawTx } from "../types/index.js";
|
|
10
10
|
/**
|
|
11
11
|
* @internal
|
|
@@ -182,16 +182,27 @@ export interface CloseCreditAccountProps {
|
|
|
182
182
|
*/
|
|
183
183
|
closePath?: RouterCloseResult;
|
|
184
184
|
}
|
|
185
|
-
|
|
185
|
+
/**
|
|
186
|
+
* Input for {@link ICreditAccountsService.assembleCloseCreditAccountCalls}.
|
|
187
|
+
*/
|
|
188
|
+
export type AssembleCloseCreditAccountCallsProps = {
|
|
186
189
|
/**
|
|
187
|
-
*
|
|
190
|
+
* Minimal credit account data on which operation is performed.
|
|
188
191
|
*/
|
|
189
|
-
|
|
192
|
+
creditAccount: RouterCASlice;
|
|
190
193
|
/**
|
|
191
|
-
* close
|
|
194
|
+
* Pathfinder close router calls (`closePath.calls`).
|
|
192
195
|
*/
|
|
193
|
-
|
|
194
|
-
|
|
196
|
+
routerCalls: Array<MultiCall>;
|
|
197
|
+
/**
|
|
198
|
+
* Tokens to withdraw from credit account after close path swaps.
|
|
199
|
+
*/
|
|
200
|
+
assetsToWithdraw: Array<Address>;
|
|
201
|
+
/**
|
|
202
|
+
* Wallet address to withdraw tokens to.
|
|
203
|
+
*/
|
|
204
|
+
to: Address;
|
|
205
|
+
};
|
|
195
206
|
export interface RepayAndLiquidateCreditAccountProps {
|
|
196
207
|
/**
|
|
197
208
|
* Tokens to repay debt.
|
|
@@ -220,6 +231,31 @@ export interface RepayAndLiquidateCreditAccountProps {
|
|
|
220
231
|
permits: Record<string, PermitResult>;
|
|
221
232
|
tokensToClaim: Asset[];
|
|
222
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Input for {@link ICreditAccountsService.assembleRepayCreditAccountCalls}.
|
|
236
|
+
*/
|
|
237
|
+
export type AssembleRepayCreditAccountCallsProps = {
|
|
238
|
+
collateralAssets: Array<Asset>;
|
|
239
|
+
assetsToWithdraw: Array<Asset>;
|
|
240
|
+
creditAccount: RouterCASlice;
|
|
241
|
+
to: Address;
|
|
242
|
+
permits: Record<string, PermitResult>;
|
|
243
|
+
tokensToClaim: Asset[];
|
|
244
|
+
/**
|
|
245
|
+
* RWA wrap multicall entries (from getRWAWrapCalls).
|
|
246
|
+
*/
|
|
247
|
+
calls?: Array<MultiCall>;
|
|
248
|
+
};
|
|
249
|
+
export interface RepayCreditAccountProps extends RepayAndLiquidateCreditAccountProps {
|
|
250
|
+
/**
|
|
251
|
+
* RWA wrap multicall entries (from getRWAWrapCalls).
|
|
252
|
+
*/
|
|
253
|
+
calls?: Array<MultiCall>;
|
|
254
|
+
/**
|
|
255
|
+
* close or zeroDebt
|
|
256
|
+
*/
|
|
257
|
+
operation: CloseOptions;
|
|
258
|
+
}
|
|
223
259
|
export interface PrepareUpdateQuotasProps {
|
|
224
260
|
/**
|
|
225
261
|
* average quota for desired token
|
|
@@ -798,6 +834,17 @@ export interface ICreditAccountsService extends Construct {
|
|
|
798
834
|
* @returns Raw transaction ready to be signed and sent
|
|
799
835
|
*/
|
|
800
836
|
partiallyLiquidate(props: PartiallyLiquidateProps): Promise<RawTx>;
|
|
837
|
+
/**
|
|
838
|
+
* Builds close multicall calls without price feed updates.
|
|
839
|
+
*
|
|
840
|
+
* Same operation sequence as {@link closeCreditAccount} (close path swaps,
|
|
841
|
+
* disable quotas, decrease debt, withdraw assets), but does not prepend
|
|
842
|
+
* price updates and does not build the facade transaction.
|
|
843
|
+
*
|
|
844
|
+
* @param props - {@link AssembleCloseCreditAccountCallsProps}
|
|
845
|
+
* @returns Raw facade multicall payload for close (before price feed updates)
|
|
846
|
+
*/
|
|
847
|
+
assembleCloseCreditAccountCalls(props: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
|
|
801
848
|
/**
|
|
802
849
|
* Closes credit account or closes credit account and keeps it open with zero debt.
|
|
803
850
|
* - Ca is closed in the following order: price update -> close path to swap all tokens into underlying ->
|
|
@@ -1009,6 +1056,17 @@ export interface ICreditAccountsService extends Construct {
|
|
|
1009
1056
|
* @return All necessary data to execute the transaction (call, credit facade)
|
|
1010
1057
|
*/
|
|
1011
1058
|
withdrawCollateral(props: WithdrawCollateralProps): Promise<CreditAccountOperationResult>;
|
|
1059
|
+
/**
|
|
1060
|
+
* Builds repay multicall calls without price feed updates.
|
|
1061
|
+
*
|
|
1062
|
+
* Same operation sequence as {@link repayCreditAccount} (add collateral, wrap calls,
|
|
1063
|
+
* disable quotas, decrease debt, redeem/unwrap, claim rewards, withdraw assets),
|
|
1064
|
+
* but does not prepend price updates and does not build the facade transaction.
|
|
1065
|
+
*
|
|
1066
|
+
* @param props - {@link AssembleRepayCreditAccountCallsProps}
|
|
1067
|
+
* @returns Raw facade multicall payload for repay (before price feed updates)
|
|
1068
|
+
*/
|
|
1069
|
+
assembleRepayCreditAccountCalls(props: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
|
|
1012
1070
|
/**
|
|
1013
1071
|
* Fully repays credit account or repays credit account and keeps it open with zero debt
|
|
1014
1072
|
* - Repays in the following order: price update -> add collateral to cover the debt ->
|
|
@@ -151,7 +151,7 @@ export declare class BaseContract<abi extends Abi | readonly unknown[]> extends
|
|
|
151
151
|
* @param strict - propagated from parseFunctionDataV2 for recursive parsing
|
|
152
152
|
*/
|
|
153
153
|
protected parseFunctionParamsV2(params: DecodeFunctionDataReturnType<abi>, _strict?: boolean): Record<string, unknown>;
|
|
154
|
-
protected wrapParseCallV2(functionName: string, rawArgs: Record<string, unknown>): ParsedCallV2;
|
|
154
|
+
protected wrapParseCallV2(functionName: string, calldata: Hex, rawArgs: Record<string, unknown>): ParsedCallV2;
|
|
155
155
|
/**
|
|
156
156
|
* Creates a raw transaction for a function in this contract
|
|
157
157
|
* @param parameters
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address, Chain, PublicClient, Transport } from "viem";
|
|
2
|
-
import type { Asset } from "../
|
|
2
|
+
import type { Asset } from "../index.js";
|
|
3
3
|
import type { ILogger } from "../types/logger.js";
|
|
4
4
|
import { AddressMap } from "../utils/index.js";
|
|
5
5
|
import type { PhantomTokenMeta, RWATokenMeta, TokenMetaData } from "./token-types.js";
|
|
@@ -87,6 +87,20 @@ export interface TokenInfo {
|
|
|
87
87
|
**/
|
|
88
88
|
success: boolean;
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* A token address paired with a balance, used throughout the SDK to
|
|
92
|
+
* represent holdings, collateral inputs, and leftover targets.
|
|
93
|
+
**/
|
|
94
|
+
export interface Asset {
|
|
95
|
+
/**
|
|
96
|
+
* ERC-20 token address.
|
|
97
|
+
**/
|
|
98
|
+
token: Address;
|
|
99
|
+
/**
|
|
100
|
+
* Token amount in the token's native decimals.
|
|
101
|
+
**/
|
|
102
|
+
balance: bigint;
|
|
103
|
+
}
|
|
90
104
|
/**
|
|
91
105
|
* Compile-time assertion: `U` must be assignable to `T`.
|
|
92
106
|
*
|
|
@@ -337,6 +351,10 @@ export interface ParsedCallV2 {
|
|
|
337
351
|
* For unknown selectors: `"unknown function 0x1a2b3c4d"`
|
|
338
352
|
*/
|
|
339
353
|
functionName: string;
|
|
354
|
+
/**
|
|
355
|
+
* Raw ABI-encoded calldata this call was parsed from.
|
|
356
|
+
**/
|
|
357
|
+
calldata: Hex;
|
|
340
358
|
/**
|
|
341
359
|
* Named arguments with their original types (bigint, Address, etc.).
|
|
342
360
|
**/
|