@gearbox-protocol/sdk 14.12.0-next.1 → 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/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 +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/{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 +3 -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/{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 +62 -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 +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 +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 +4 -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/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 +1 -1
- package/dist/types/sdk/accounts/types.d.ts +2 -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 +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,7 +4,7 @@ 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
9
|
import type { AccountToCheck, AddCollateralProps, AssembleCaUpdateCallsProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, PreviewDelayedWithdrawalResult, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
|
|
10
10
|
/**
|
|
@@ -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
|
|
@@ -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
|
**/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import type { MarketData, MarketFilter } from "../base/index.js";
|
|
3
3
|
import type { OnchainSDK } from "../OnchainSDK.js";
|
|
4
|
-
import type { MarketStateHuman } from "../types/index.js";
|
|
4
|
+
import type { MarketStateHuman, ZapperStateHuman } from "../types/index.js";
|
|
5
5
|
import { AddressMap } from "../utils/index.js";
|
|
6
6
|
import { type DelegatedMulticall } from "../utils/viem/index.js";
|
|
7
7
|
import type { CreditSuite } from "./credit/index.js";
|
|
@@ -9,7 +9,18 @@ import { MarketConfiguratorContract } from "./MarketConfiguratorContract.js";
|
|
|
9
9
|
import { MarketSuite } from "./MarketSuite.js";
|
|
10
10
|
import type { IPriceOracleContract } from "./oracle/index.js";
|
|
11
11
|
import type { PoolSuite } from "./pool/index.js";
|
|
12
|
+
import type { ZapperData } from "./types.js";
|
|
12
13
|
import { ZapperRegister } from "./ZapperRegister.js";
|
|
14
|
+
/** @internal */
|
|
15
|
+
export interface MarketRegistryState {
|
|
16
|
+
markets: MarketData[];
|
|
17
|
+
zappers?: ZapperData[];
|
|
18
|
+
}
|
|
19
|
+
/** @internal */
|
|
20
|
+
export interface MarketRegistryStateHuman {
|
|
21
|
+
markets: MarketStateHuman[];
|
|
22
|
+
zappers?: ZapperStateHuman[];
|
|
23
|
+
}
|
|
13
24
|
/**
|
|
14
25
|
* Central registry of all Gearbox markets on the current chain.
|
|
15
26
|
*
|
|
@@ -29,7 +40,7 @@ export declare class MarketRegister extends ZapperRegister {
|
|
|
29
40
|
* bypassing on-chain reads.
|
|
30
41
|
* @param state - Array of market data snapshots.
|
|
31
42
|
**/
|
|
32
|
-
hydrate(
|
|
43
|
+
hydrate({ markets, zappers }: MarketRegistryState): void;
|
|
33
44
|
/**
|
|
34
45
|
* @internal
|
|
35
46
|
* Returns delegated multicalls for loading all markets from the on-chain
|
|
@@ -57,14 +68,12 @@ export declare class MarketRegister extends ZapperRegister {
|
|
|
57
68
|
/**
|
|
58
69
|
* Serializable snapshot of all loaded markets, suitable for hydration.
|
|
59
70
|
**/
|
|
60
|
-
get state():
|
|
71
|
+
get state(): MarketRegistryState;
|
|
61
72
|
/**
|
|
62
73
|
* Returns a human-readable snapshot of all markets.
|
|
63
74
|
* @param raw - When `true`, includes raw/unformatted values.
|
|
64
75
|
**/
|
|
65
|
-
stateHuman(raw?: boolean):
|
|
66
|
-
markets: MarketStateHuman[];
|
|
67
|
-
};
|
|
76
|
+
stateHuman(raw?: boolean): MarketRegistryStateHuman;
|
|
68
77
|
/**
|
|
69
78
|
* All pool suites across loaded markets.
|
|
70
79
|
**/
|
|
@@ -1,17 +1,38 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import { SDKConstruct } from "../base/index.js";
|
|
3
|
+
import type { ZapperStateHuman } from "../types/index.js";
|
|
3
4
|
import { AddressMap } from "../utils/index.js";
|
|
4
|
-
import {
|
|
5
|
+
import type { ZapperData } from "./types.js";
|
|
6
|
+
import { type IZapperContract } from "./zapper/index.js";
|
|
5
7
|
export declare class ZapperRegister extends SDKConstruct {
|
|
6
8
|
#private;
|
|
7
9
|
/**
|
|
8
10
|
* Load zappers for all pools using periphery compressor, adds hardcoded zappers
|
|
9
11
|
*/
|
|
10
12
|
loadZappers(force?: boolean): Promise<void>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Serializable snapshot of all loaded zappers, suitable for hydration.
|
|
15
|
+
* Returns `undefined` when zappers were never loaded (i.e. `loadZappers` was
|
|
16
|
+
* not called), so the not-loaded state round-trips cleanly.
|
|
17
|
+
**/
|
|
18
|
+
protected get zappersState(): ZapperData[] | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Restores zapper state from a previously serialized snapshot,
|
|
21
|
+
* bypassing on-chain reads.
|
|
22
|
+
* @param state - Array of zapper data snapshots, or `undefined` when zappers
|
|
23
|
+
* were not loaded in the snapshot (leaves the registry in the not-loaded state).
|
|
24
|
+
**/
|
|
25
|
+
protected hydrateZappers(state?: ZapperData[]): void;
|
|
26
|
+
/**
|
|
27
|
+
* Returns a human-readable snapshot of all loaded zappers.
|
|
28
|
+
* Returns `undefined` when zappers were never loaded.
|
|
29
|
+
* @param raw - When `true`, includes raw/unformatted values.
|
|
30
|
+
**/
|
|
31
|
+
protected zappersStateHuman(_?: boolean): ZapperStateHuman[] | undefined;
|
|
32
|
+
get zappers(): AddressMap<IZapperContract[]>;
|
|
33
|
+
poolZappers(pool: Address): IZapperContract[];
|
|
13
34
|
/**
|
|
14
35
|
* Can return multiple zappers if there are multiple zappers for the same tokenIn and tokenOut
|
|
15
36
|
*/
|
|
16
|
-
getZapper(pool: Address, tokenIn: Address, tokenOut: Address): Array<
|
|
37
|
+
getZapper(pool: Address, tokenIn: Address, tokenOut: Address): Array<IZapperContract> | undefined;
|
|
17
38
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Address } from "viem";
|
|
1
|
+
import { type Address, type DecodeFunctionDataReturnType } from "viem";
|
|
2
2
|
import type { GetOpenAccountRequirementsProps } from "../../../accounts/types.js";
|
|
3
3
|
import { BaseContract } from "../../../base/index.js";
|
|
4
4
|
import type { OnchainSDK } from "../../../OnchainSDK.js";
|
|
@@ -463,10 +463,15 @@ export declare class SecuritizeRWAFactory extends BaseContract<abi> implements I
|
|
|
463
463
|
readonly dsTokens: DStokenData[];
|
|
464
464
|
readonly contractType = "RWA_FACTORY::SECURITIZE";
|
|
465
465
|
constructor(sdk: OnchainSDK, data: RWAFactoryData);
|
|
466
|
+
protected parseFunctionParamsV2(params: DecodeFunctionDataReturnType<abi>, strict?: boolean): Record<string, unknown>;
|
|
466
467
|
/**
|
|
467
468
|
* {@inheritDoc IRWAFactory.decodeInvestorData}
|
|
468
469
|
*/
|
|
469
470
|
decodeInvestorData(data: RWACompressorInvestorData): SecuritizeInvestorData;
|
|
471
|
+
/**
|
|
472
|
+
* {@inheritDoc IRWAFactory.getTokens}
|
|
473
|
+
*/
|
|
474
|
+
getTokens(): Address[];
|
|
470
475
|
/**
|
|
471
476
|
* {@inheritDoc IRWAFactory.getInvestor}
|
|
472
477
|
*/
|