@gearbox-protocol/sdk 14.12.0-next.4 → 14.12.0-next.40
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/IWithdrawalCompressorV313.js +444 -0
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
- package/dist/cjs/abi/compressors/withdrawalCompressor.js +244 -3
- package/dist/cjs/abi/helpers/redemptionLogger.js +160 -0
- package/dist/cjs/abi/iRedemptionLoggerV310.js +119 -0
- package/dist/cjs/abi/ierc4626Adapter.js +264 -0
- package/dist/cjs/abi/router/midasWorker.js +4 -4
- package/dist/cjs/dev/AccountOpener.js +9 -15
- package/dist/cjs/dev/index.js +3 -1
- package/dist/cjs/dev/withdrawalAbi.js +2099 -0
- package/dist/cjs/dev/withdrawalUtils.js +278 -0
- package/dist/cjs/history/classifyMulticallOperations.js +2 -0
- package/dist/cjs/history/mapOperations.js +7 -0
- package/dist/cjs/history/populateContractsRegister.js +14 -11
- package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
- package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
- package/dist/cjs/plugins/adapters/abi/actionAbi.js +14 -15
- package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +775 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
- package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
- package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +49 -14
- package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
- package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
- package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +6 -43
- package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
- package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
- package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +92 -2
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
- package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +168 -0
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
- package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +59 -6
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
- package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
- package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
- package/dist/cjs/plugins/adapters/types.js +2 -11
- package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +25 -55
- package/dist/cjs/preview/index.js +5 -3
- package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/cjs/preview/parse/index.js +0 -2
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
- package/dist/cjs/preview/parse/parseOperationCalldata.js +8 -14
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +18 -22
- package/dist/cjs/preview/parse/types.js +1 -1
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +19 -42
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +24 -38
- package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +36 -31
- package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +91 -0
- package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
- package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
- package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +86 -0
- package/dist/cjs/preview/prerequisites/helpers.js +36 -0
- package/dist/cjs/preview/prerequisites/index.js +2 -6
- package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
- package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
- package/dist/cjs/preview/preview/buildDelayedPreview.js +151 -0
- package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
- package/dist/cjs/preview/preview/detectDelayedClaim.js +53 -0
- package/dist/cjs/preview/preview/detectDelayedOperation.js +70 -0
- package/dist/cjs/preview/preview/errors.js +36 -0
- package/dist/cjs/preview/preview/index.js +44 -0
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
- package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +84 -0
- package/dist/cjs/preview/preview/previewOperation.js +114 -0
- package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
- package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
- package/dist/cjs/preview/preview/replayMulticall.js +37 -0
- package/dist/cjs/preview/preview/types.js +49 -0
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
- package/dist/cjs/preview/types.js +16 -0
- package/dist/cjs/rewards/rewards/extra-apy.js +8 -4
- package/dist/cjs/sdk/MultichainSDK.js +7 -0
- package/dist/cjs/sdk/OnchainSDK.js +29 -0
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +172 -210
- package/dist/cjs/sdk/accounts/index.js +5 -1
- package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +207 -0
- package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +65 -0
- package/dist/cjs/sdk/accounts/liquidations/helpers.js +63 -0
- package/dist/cjs/sdk/accounts/liquidations/index.js +28 -0
- package/dist/cjs/sdk/accounts/liquidations/types.js +16 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +292 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +72 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +222 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
- package/dist/cjs/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/createRedemptionLogger.js} +16 -21
- package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +45 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/errors.js +38 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +42 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +36 -0
- package/dist/cjs/sdk/base/BaseContract.js +4 -2
- package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/cjs/sdk/constants/address-provider.js +3 -0
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
- package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
- 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/AddressSet.js +7 -0
- package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
- package/dist/cjs/sdk/utils/index.js +2 -0
- package/dist/esm/abi/IWithdrawalCompressorV313.js +420 -0
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
- package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
- package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
- package/dist/esm/abi/compressors/withdrawalCompressor.js +244 -3
- package/dist/esm/abi/helpers/redemptionLogger.js +136 -0
- package/dist/esm/abi/iRedemptionLoggerV310.js +95 -0
- package/dist/esm/abi/ierc4626Adapter.js +240 -0
- package/dist/esm/abi/router/midasWorker.js +4 -4
- package/dist/esm/dev/AccountOpener.js +10 -15
- package/dist/esm/dev/index.js +1 -0
- package/dist/esm/dev/withdrawalAbi.js +2068 -0
- package/dist/esm/dev/withdrawalUtils.js +266 -0
- package/dist/esm/history/classifyMulticallOperations.js +2 -0
- package/dist/esm/history/mapOperations.js +7 -0
- package/dist/esm/history/populateContractsRegister.js +17 -12
- package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
- package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
- package/dist/esm/plugins/adapters/abi/actionAbi.js +14 -15
- package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
- package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
- package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
- package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
- package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
- package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
- package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
- package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
- package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
- package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
- package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
- package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +750 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
- package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
- package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
- package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +45 -10
- package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
- package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
- package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
- package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
- package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
- package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +6 -45
- package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
- package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
- package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +92 -2
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
- package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +154 -0
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
- package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +63 -7
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
- package/dist/esm/plugins/adapters/contracts/index.js +1 -6
- package/dist/esm/plugins/adapters/createAdapter.js +43 -52
- package/dist/esm/plugins/adapters/types.js +2 -11
- package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +26 -60
- package/dist/esm/preview/index.js +2 -1
- package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/esm/preview/parse/index.js +0 -1
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
- package/dist/esm/preview/parse/parseOperationCalldata.js +8 -14
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +18 -22
- package/dist/esm/preview/parse/types.js +1 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +20 -46
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +25 -42
- package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +38 -33
- package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +72 -0
- package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
- package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
- package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +62 -0
- package/dist/esm/preview/prerequisites/helpers.js +14 -0
- package/dist/esm/preview/prerequisites/index.js +1 -3
- package/dist/esm/preview/preview/CreditAccountState.js +133 -0
- package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
- package/dist/esm/preview/preview/buildDelayedPreview.js +130 -0
- package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
- package/dist/esm/preview/preview/detectDelayedClaim.js +30 -0
- package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
- package/dist/esm/preview/preview/errors.js +12 -0
- package/dist/esm/preview/preview/index.js +12 -0
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
- package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +68 -0
- package/dist/esm/preview/preview/previewOperation.js +95 -0
- package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
- package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
- package/dist/esm/preview/preview/replayMulticall.js +16 -0
- package/dist/esm/preview/preview/types.js +18 -0
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
- package/dist/esm/preview/simulate/simulateOperation.js +1 -4
- package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
- package/dist/esm/preview/types.js +0 -0
- package/dist/esm/rewards/rewards/extra-apy.js +8 -4
- package/dist/esm/sdk/MultichainSDK.js +7 -0
- package/dist/esm/sdk/OnchainSDK.js +33 -1
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +168 -205
- package/dist/esm/sdk/accounts/index.js +2 -0
- package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +188 -0
- package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +41 -0
- package/dist/esm/sdk/accounts/liquidations/helpers.js +36 -0
- package/dist/esm/sdk/accounts/liquidations/index.js +4 -0
- package/dist/esm/sdk/accounts/liquidations/types.js +0 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +264 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +48 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +204 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +23 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +21 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/errors.js +14 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +11 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +12 -0
- package/dist/esm/sdk/base/BaseContract.js +4 -2
- package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/esm/sdk/constants/address-provider.js +2 -0
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
- package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
- 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/AddressSet.js +7 -0
- package/dist/esm/sdk/utils/AssetsMap.js +73 -0
- package/dist/esm/sdk/utils/index.js +1 -0
- package/dist/types/abi/IWithdrawalCompressorV313.d.ts +596 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +198 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +198 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +198 -0
- package/dist/types/abi/compressors/withdrawalCompressor.d.ts +355 -0
- package/dist/types/abi/helpers/redemptionLogger.d.ts +167 -0
- package/dist/types/abi/iRedemptionLoggerV310.d.ts +122 -0
- package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
- package/dist/types/abi/router/midasWorker.d.ts +4 -4
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
- 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/eligibility/is-strategy-eligible.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.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/dev/abi.d.ts +4 -4
- package/dist/types/dev/index.d.ts +1 -0
- package/dist/types/dev/providers.d.ts +1 -1
- package/dist/types/dev/withdrawalAbi.d.ts +1580 -0
- package/dist/types/dev/withdrawalUtils.d.ts +19 -0
- package/dist/types/history/populateContractsRegister.d.ts +1 -1
- package/dist/types/history/types.d.ts +4 -4
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +355 -0
- package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
- package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
- package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
- package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
- package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
- package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
- package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
- package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
- package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
- package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
- package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
- package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
- package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
- package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
- package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
- package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
- package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iMellow4626VaultAdapter.d.ts} +81 -83
- package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
- package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
- package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +568 -0
- package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
- package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
- package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
- package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
- package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +251 -0
- package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
- package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
- package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
- package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
- package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
- package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
- package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
- package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
- package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
- package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
- package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
- package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
- package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +66 -4
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
- package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +614 -0
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +110 -15
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
- package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
- package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
- package/dist/types/plugins/adapters/types.d.ts +54 -14
- package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +7 -7
- package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
- package/dist/types/preview/index.d.ts +2 -1
- package/dist/types/preview/parse/index.d.ts +0 -1
- package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
- package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
- package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +5 -14
- 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 +29 -1
- package/dist/types/preview/parse/types-rwa.d.ts +12 -36
- package/dist/types/preview/parse/types.d.ts +0 -25
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +15 -14
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +20 -15
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +40 -25
- package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +15 -0
- package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
- package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
- package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
- package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
- package/dist/types/preview/prerequisites/index.d.ts +1 -3
- package/dist/types/preview/prerequisites/types.d.ts +24 -55
- package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
- package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
- package/dist/types/preview/preview/buildDelayedPreview.d.ts +47 -0
- package/dist/types/preview/preview/detectCloseOrRepay.d.ts +20 -0
- package/dist/types/preview/preview/detectDelayedClaim.d.ts +45 -0
- package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
- package/dist/types/preview/preview/errors.d.ts +9 -0
- package/dist/types/preview/preview/index.d.ts +12 -0
- package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
- package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
- package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
- package/dist/types/preview/preview/previewOperation.d.ts +8 -0
- package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
- package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
- package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
- package/dist/types/preview/preview/types.d.ts +334 -0
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
- package/dist/types/preview/simulate/index.d.ts +1 -4
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
- package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -16
- package/dist/types/preview/simulate/types.d.ts +20 -51
- package/dist/types/preview/types.d.ts +63 -0
- package/dist/types/rewards/rewards/extra-apy.d.ts +3 -1
- package/dist/types/sdk/MultichainSDK.d.ts +6 -0
- package/dist/types/sdk/OnchainSDK.d.ts +17 -1
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
- package/dist/types/sdk/accounts/index.d.ts +2 -0
- package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +20 -0
- package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +23 -0
- package/dist/types/sdk/accounts/liquidations/helpers.d.ts +34 -0
- package/dist/types/sdk/accounts/liquidations/index.d.ts +4 -0
- package/dist/types/sdk/accounts/liquidations/types.d.ts +172 -0
- package/dist/types/sdk/accounts/types.d.ts +177 -53
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +112 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +149 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +629 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +10 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +10 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/errors.d.ts +13 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +11 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +438 -0
- 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/chain/chains.d.ts +8 -8
- package/dist/types/sdk/constants/address-provider.d.ts +1 -0
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
- package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +11 -3
- package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
- package/dist/types/sdk/market/rwa/types.d.ts +26 -9
- package/dist/types/sdk/market/zapper/types.d.ts +6 -6
- package/dist/types/sdk/pools/types.d.ts +1 -1
- 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.d.ts +8 -0
- package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
- package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
- package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
- package/dist/types/sdk/utils/index.d.ts +1 -0
- package/package.json +11 -12
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
- package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -293
- package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
- package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
- package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -271
- package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
- package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
- package/dist/esm/preview/simulate/holders.js +0 -21
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
- package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
- package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
- package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
- package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
- package/dist/types/preview/simulate/holders.d.ts +0 -7
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import { type Address
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
|
|
1
|
+
import { type Address } from "viem";
|
|
2
|
+
import { Prerequisite } from "./Prerequisite.js";
|
|
3
|
+
import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
|
|
4
|
+
/** ERC-20 balance of `owner` must cover `required`. */
|
|
5
|
+
export interface BalanceDetail {
|
|
5
6
|
token: Address;
|
|
6
7
|
owner: Address;
|
|
7
8
|
required: bigint;
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
/** On-chain balance read; only present when the read succeeded. */
|
|
10
|
+
actual?: bigint;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
export type BalanceResult = PrerequisiteOutcome & {
|
|
13
|
+
kind: "balance";
|
|
14
|
+
detail: BalanceDetail;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Checks that `owner` holds a token balance >= `required`. The token is read
|
|
18
|
+
* as an ERC-20, except for the native pseudo-address ({@link NATIVE_ADDRESS},
|
|
19
|
+
* e.g. ETH-zapper deposits) whose balance is read via `getBalance`.
|
|
20
|
+
*/
|
|
21
|
+
export declare class BalancePrerequisite extends Prerequisite {
|
|
13
22
|
#private;
|
|
14
|
-
constructor(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
get title(): string;
|
|
18
|
-
get detail(): PrerequisiteDetail<"balance">;
|
|
19
|
-
calls(): ContractFunctionParameters[];
|
|
20
|
-
resolve(slice: MulticallCallResult[]): PrerequisiteResult<"balance">;
|
|
23
|
+
constructor(detail: Omit<BalanceDetail, "actual">);
|
|
24
|
+
protected check(ctx: PrerequisiteContext): Promise<BalanceResult>;
|
|
25
|
+
protected errorResult(error: PrerequisiteError): BalanceResult;
|
|
21
26
|
}
|
|
@@ -1,60 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteError, PrerequisiteKind, PrerequisiteResult } from "./types.js";
|
|
1
|
+
import type { PrerequisiteContext, PrerequisiteError, PrerequisiteResult } from "./types.js";
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* A single verifiable prerequisite for a transaction. Subclasses implement
|
|
4
|
+
* {@link check} to perform whatever async reads they need (an ERC-20
|
|
5
|
+
* `readContract`, a compressor call, ...) and map the outcome into a
|
|
6
|
+
* {@link PrerequisiteResult}.
|
|
6
7
|
*/
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
error: Error;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Decodes an unknown error into a {@link PrerequisiteError} with a
|
|
18
|
-
* human-readable revert reason. Mirrors the SDK's `extractCallError`: walk the
|
|
19
|
-
* viem error chain for a {@link ContractFunctionRevertedError} and use its
|
|
20
|
-
* `errorName`, otherwise fall back to the error's short message / name.
|
|
21
|
-
*/
|
|
22
|
-
export declare function toPrerequisiteError(cause: unknown): PrerequisiteError;
|
|
23
|
-
/**
|
|
24
|
-
* A single verifiable prerequisite for a transaction. Subclasses describe the
|
|
25
|
-
* on-chain reads they need ({@link calls}) and how to turn the multicall slice
|
|
26
|
-
* into a {@link PrerequisiteResult} ({@link resolve}).
|
|
27
|
-
*
|
|
28
|
-
* Identity (`id`, `kind`, `title`) and build-time `detail` are exposed as
|
|
29
|
-
* read-only accessors; subclasses back them with private fields. The shared
|
|
30
|
-
* {@link satisfiedResult}/{@link errorResult} helpers are `protected` so each
|
|
31
|
-
* subclass builds results consistently.
|
|
32
|
-
*
|
|
33
|
-
* The same instance can be verified standalone via {@link verify} or batched
|
|
34
|
-
* together with others by `verifyPrerequisites`.
|
|
35
|
-
*/
|
|
36
|
-
export declare abstract class Prerequisite<K extends PrerequisiteKind> {
|
|
37
|
-
/** Stable identifier, used as a React key and for deduplication. */
|
|
38
|
-
abstract get id(): string;
|
|
39
|
-
/** Discriminant tying this check to its detail payload. */
|
|
40
|
-
abstract get kind(): K;
|
|
41
|
-
/** Human-readable label shown in the UI. */
|
|
42
|
-
abstract get title(): string;
|
|
43
|
-
/** Inputs known before reading the chain (no `actual` yet). */
|
|
44
|
-
abstract get detail(): PrerequisiteDetail<K>;
|
|
45
|
-
/** Contract reads this check needs (usually one). */
|
|
46
|
-
abstract calls(ctx: PrerequisiteContext): ContractFunctionParameters[];
|
|
47
|
-
/** Maps this check's slice of the multicall response into a result. */
|
|
48
|
-
abstract resolve(slice: MulticallCallResult[]): PrerequisiteResult<K>;
|
|
8
|
+
export declare abstract class Prerequisite {
|
|
9
|
+
/**
|
|
10
|
+
* Verifies this prerequisite. Never rejects: any error thrown by
|
|
11
|
+
* {@link check} (revert, RPC/network failure, compressor error) is
|
|
12
|
+
* normalized into an `error` result.
|
|
13
|
+
*/
|
|
14
|
+
verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
|
|
49
15
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
16
|
+
* Performs the reads this prerequisite needs and maps them into a result.
|
|
17
|
+
* May throw on read failure; {@link verify} converts throws into `error`
|
|
18
|
+
* results.
|
|
52
19
|
*/
|
|
53
|
-
|
|
54
|
-
/** Builds
|
|
55
|
-
protected
|
|
56
|
-
/** Builds a failed result from a decoded read error. */
|
|
57
|
-
protected errorResult(error: PrerequisiteError): PrerequisiteResult<K>;
|
|
20
|
+
protected abstract check(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
|
|
21
|
+
/** Builds this prerequisite's failed result from a normalized read error. */
|
|
22
|
+
protected abstract errorResult(error: PrerequisiteError): PrerequisiteResult;
|
|
58
23
|
}
|
|
59
|
-
/** Any prerequisite regardless of its kind, used for heterogeneous lists. */
|
|
60
|
-
export type AnyPrerequisite = Prerequisite<PrerequisiteKind>;
|
|
@@ -1,36 +1,51 @@
|
|
|
1
|
-
import type { Address
|
|
2
|
-
import type { RWAOpenAccountRequirements } from "../../sdk/index.js";
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs } from "../../sdk/index.js";
|
|
3
3
|
import { Prerequisite } from "./Prerequisite.js";
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* RWA (e.g. Securitize) open-account requirements: off-chain token
|
|
7
|
+
* registration and/or EIP-712 signatures the borrower must provide before
|
|
8
|
+
* opening a credit account in an RWA market.
|
|
9
|
+
*/
|
|
10
|
+
export interface RWAOpenRequirementsDetail {
|
|
11
|
+
/** RWA token (e.g. Securitize DSToken) the requirements are checked for. */
|
|
9
12
|
token: Address;
|
|
10
|
-
/**
|
|
13
|
+
/** Credit manager of the RWA market. */
|
|
14
|
+
creditManager: Address;
|
|
15
|
+
/** RWA factory that gates the token. */
|
|
11
16
|
factory: Address;
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Full requirements fetched at verify time via
|
|
19
|
+
* `sdk.accounts.getOpenAccountRequirements`; only present when the read
|
|
20
|
+
* succeeded and the factory gates the token.
|
|
21
|
+
*/
|
|
22
|
+
requirements?: RWAOpenAccountRequirements;
|
|
23
|
+
/**
|
|
24
|
+
* Subset of `requirements` still unfulfilled, computed by the RWA
|
|
25
|
+
* factory at verify time (`IRWAFactory.getMissingRequirements`);
|
|
26
|
+
* `undefined` when everything is satisfied.
|
|
27
|
+
*/
|
|
28
|
+
missing?: RWAMissingOpenAccountRequirements;
|
|
14
29
|
}
|
|
30
|
+
export type RWAOpenRequirementsResult = PrerequisiteOutcome & {
|
|
31
|
+
kind: "rwaOpenRequirements";
|
|
32
|
+
detail: RWAOpenRequirementsDetail;
|
|
33
|
+
};
|
|
15
34
|
/**
|
|
16
35
|
* Checks that the borrower has fulfilled the RWA factory's open-account
|
|
17
36
|
* requirements (issuer-side token registration, EIP-712 signatures).
|
|
18
37
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
38
|
+
* The requirements are fetched at verify time via
|
|
39
|
+
* `sdk.accounts.getOpenAccountRequirements`, so re-running verification picks
|
|
40
|
+
* up off-chain progress (the borrower registering on the issuer's website or
|
|
41
|
+
* signing the factory's message) without rebuilding the prerequisites. The
|
|
42
|
+
* unfulfilled subset is computed by the factory itself
|
|
43
|
+
* (`IRWAFactory.getMissingRequirements`) and exposed on the result's
|
|
44
|
+
* `detail.missing`; the full requirements are kept on `detail.requirements`.
|
|
25
45
|
*/
|
|
26
|
-
export declare class RWAOpenRequirementsPrerequisite extends Prerequisite
|
|
46
|
+
export declare class RWAOpenRequirementsPrerequisite extends Prerequisite {
|
|
27
47
|
#private;
|
|
28
|
-
constructor(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
get title(): string;
|
|
32
|
-
get detail(): PrerequisiteDetail<"rwaOpenRequirements">;
|
|
33
|
-
/** Pre-resolved: no on-chain reads to contribute. */
|
|
34
|
-
calls(): ContractFunctionParameters[];
|
|
35
|
-
resolve(): PrerequisiteResult<"rwaOpenRequirements">;
|
|
48
|
+
constructor(detail: Omit<RWAOpenRequirementsDetail, "requirements" | "missing">, providedArgs?: RWAOperationArgs);
|
|
49
|
+
protected check(ctx: PrerequisiteContext): Promise<RWAOpenRequirementsResult>;
|
|
50
|
+
protected errorResult(error: PrerequisiteError): RWAOpenRequirementsResult;
|
|
36
51
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type GetApprovalAddressProps } from "../../sdk/index.js";
|
|
2
|
+
import type { InnerOperation } from "../parse/index.js";
|
|
3
|
+
import type { Prerequisite } from "./Prerequisite.js";
|
|
4
|
+
import type { PrerequisiteContext } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* For every `addCollateral` inside a multicall, requires the wallet to approve
|
|
7
|
+
* and hold the collateral token for the collateral spender.
|
|
8
|
+
*
|
|
9
|
+
* The approval spender is resolved via {@link OnchainSDK.accounts.getApprovalAddress}:
|
|
10
|
+
* the credit manager for classic markets, but a per-investor "special wallet"
|
|
11
|
+
* for RWA markets. The resolution happens at build time because the spender is
|
|
12
|
+
* part of the prerequisite's identity and UI detail.
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildCollateralPrerequisites(spenderOptions: GetApprovalAddressProps, multicall: InnerOperation[], ctx: PrerequisiteContext): Promise<Prerequisite[]>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PartialLiquidationOperation } from "../parse/index.js";
|
|
2
|
+
import type { Prerequisite } from "./Prerequisite.js";
|
|
3
|
+
import type { PrerequisiteContext } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Partial liquidation pulls the repaid underlying from the liquidator: they
|
|
6
|
+
* must have approved it to the credit manager and hold enough of it.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildPartialLiquidationPrerequisites(tx: PartialLiquidationOperation, ctx: PrerequisiteContext): Prerequisite[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Address } from "viem";
|
|
2
|
+
import type { PoolOperation } from "../parse/index.js";
|
|
3
|
+
import type { Prerequisite } from "./Prerequisite.js";
|
|
4
|
+
/**
|
|
5
|
+
* Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
|
|
6
|
+
* either direct or zapper-routed.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildPoolPrerequisites(tx: PoolOperation, wallet: Address): Prerequisite[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import { type RWAOperationArgs } from "../../sdk/index.js";
|
|
3
|
+
import type { InnerOperation } from "../parse/index.js";
|
|
4
|
+
import type { Prerequisite } from "./Prerequisite.js";
|
|
5
|
+
import type { PrerequisiteContext } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
|
|
8
|
+
* builds a prerequisite per RWA token the multicall touches; each one checks
|
|
9
|
+
* the factory's open-account requirements (issuer-side token registration,
|
|
10
|
+
* EIP-712 signatures) at verify time.
|
|
11
|
+
*
|
|
12
|
+
* The `providedArgs` params are the registration values decoded from the
|
|
13
|
+
* transaction calldata itself: signatures already included there satisfy the
|
|
14
|
+
* signature requirement, so a fully built transaction is not reported as
|
|
15
|
+
* missing signatures. In the template flow they are empty and the verified
|
|
16
|
+
* result's `detail.missing` describes what is still unfulfilled; acting on it
|
|
17
|
+
* (signing, rebuilding calldata) is up to the consumer.
|
|
18
|
+
*
|
|
19
|
+
* Returns nothing for non-RWA markets.
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildRWAPrerequisites(multicall: InnerOperation[], creditManager: Address, providedArgs: RWAOperationArgs, ctx: PrerequisiteContext): Prerequisite[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PluginsMap } from "../../sdk/index.js";
|
|
2
|
+
import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
|
|
3
|
+
import type { PrerequisiteResult } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Derives and verifies the on-chain prerequisites for an operation given its
|
|
6
|
+
* raw calldata: the conditions that must hold for the call not to revert and
|
|
7
|
+
* that we can verify with the SDK (token approvals, wallet balances, RWA
|
|
8
|
+
* open-account requirements).
|
|
9
|
+
*
|
|
10
|
+
* Each prerequisite performs its own reads and resolves into a
|
|
11
|
+
* {@link PrerequisiteResult} (`satisfied` or `error`).
|
|
12
|
+
*
|
|
13
|
+
* Only *sender-actionable* prerequisites belong here: conditions the LP
|
|
14
|
+
* provider or borrower can fix themselves before retrying (e.g. approve a
|
|
15
|
+
* token, sign the RWA factory's messages). Non-actionable protocol/admin state
|
|
16
|
+
* (e.g. pool is paused) is intentionally out of scope, since the user cannot
|
|
17
|
+
* resolve it.
|
|
18
|
+
*/
|
|
19
|
+
export declare function checkPrerequisites<P extends PluginsMap>(input: PreviewOperationInput<P>, options?: PreviewOperationOptions): Promise<PrerequisiteResult[]>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AllowanceDetail } from "./AllowancePrerequisite.js";
|
|
2
|
+
import type { Prerequisite } from "./Prerequisite.js";
|
|
3
|
+
/**
|
|
4
|
+
* The most common prerequisite pair: `owner` must have approved `spender` for
|
|
5
|
+
* `required` of `token` and must hold at least that much of it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function allowanceAndBalance(props: Omit<AllowanceDetail, "actual">): Prerequisite[];
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from "./AllowancePrerequisite.js";
|
|
2
2
|
export * from "./BalancePrerequisite.js";
|
|
3
|
-
export * from "./
|
|
3
|
+
export * from "./checkPrerequisites.js";
|
|
4
4
|
export * from "./Prerequisite.js";
|
|
5
|
-
export * from "./prepareAction.js";
|
|
6
5
|
export * from "./RWAOpenRequirementsPrerequisite.js";
|
|
7
|
-
export * from "./runPrerequisites.js";
|
|
8
6
|
export * from "./types.js";
|
|
@@ -1,42 +1,8 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type { OnchainSDK
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* IMPORTANT: only add prerequisites that are *actionable by the transaction
|
|
7
|
-
* sender* (the LP provider or borrower). A valid prerequisite is one the user
|
|
8
|
-
* can resolve themselves before retrying, e.g. approve a token (`allowance`)
|
|
9
|
-
* or perform offchain KYC verification.
|
|
10
|
-
*
|
|
11
|
-
* Do NOT add protocol- or admin-level state the user cannot change.
|
|
12
|
-
*/
|
|
13
|
-
export interface PrerequisiteDetailMap {
|
|
14
|
-
/** ERC-20 allowance from `owner` to `spender` must cover `required`. */
|
|
15
|
-
allowance: {
|
|
16
|
-
token: Address;
|
|
17
|
-
owner: Address;
|
|
18
|
-
spender: Address;
|
|
19
|
-
required: bigint;
|
|
20
|
-
/** On-chain allowance read; only present when the read succeeded. */
|
|
21
|
-
actual?: bigint;
|
|
22
|
-
};
|
|
23
|
-
/** ERC-20 balance of `owner` must cover `required`. */
|
|
24
|
-
balance: {
|
|
25
|
-
token: Address;
|
|
26
|
-
owner: Address;
|
|
27
|
-
required: bigint;
|
|
28
|
-
/** On-chain balance read; only present when the read succeeded. */
|
|
29
|
-
actual?: bigint;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* RWA (e.g. Securitize) open-account requirements: off-chain token
|
|
33
|
-
* registration and/or EIP-712 signatures the borrower must provide before
|
|
34
|
-
* opening a credit account in an RWA market.
|
|
35
|
-
*/
|
|
36
|
-
rwaOpenRequirements: RWAOpenAccountRequirements;
|
|
37
|
-
}
|
|
38
|
-
export type PrerequisiteKind = keyof PrerequisiteDetailMap;
|
|
39
|
-
export type PrerequisiteDetail<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteDetailMap[K];
|
|
2
|
+
import type { OnchainSDK } from "../../sdk/index.js";
|
|
3
|
+
import type { AllowanceResult } from "./AllowancePrerequisite.js";
|
|
4
|
+
import type { BalanceResult } from "./BalancePrerequisite.js";
|
|
5
|
+
import type { RWAOpenRequirementsResult } from "./RWAOpenRequirementsPrerequisite.js";
|
|
40
6
|
/** Failure of the underlying on-chain read (revert, decode error, RPC error). */
|
|
41
7
|
export interface PrerequisiteError {
|
|
42
8
|
/** Decoded revert reason / error name, human-readable. */
|
|
@@ -44,37 +10,40 @@ export interface PrerequisiteError {
|
|
|
44
10
|
/** Original error, kept for debugging. */
|
|
45
11
|
cause?: unknown;
|
|
46
12
|
}
|
|
47
|
-
export interface PrerequisiteBase<K extends PrerequisiteKind> {
|
|
48
|
-
id: string;
|
|
49
|
-
kind: K;
|
|
50
|
-
title: string;
|
|
51
|
-
detail: PrerequisiteDetail<K>;
|
|
52
|
-
}
|
|
53
13
|
/**
|
|
54
14
|
* Outcome of verifying a single prerequisite: either the read succeeded (a
|
|
55
15
|
* `satisfied` boolean) or it reverted/failed (an `error` with the revert
|
|
56
|
-
* reason).
|
|
16
|
+
* reason).
|
|
57
17
|
*/
|
|
58
|
-
export type
|
|
18
|
+
export type PrerequisiteOutcome = {
|
|
59
19
|
satisfied: boolean;
|
|
60
20
|
error?: undefined;
|
|
61
21
|
} | {
|
|
62
22
|
satisfied?: undefined;
|
|
63
23
|
error: PrerequisiteError;
|
|
64
|
-
}
|
|
24
|
+
};
|
|
65
25
|
/**
|
|
66
|
-
* Discriminated union over every prerequisite kind
|
|
67
|
-
*
|
|
68
|
-
*
|
|
26
|
+
* Discriminated union over every prerequisite kind
|
|
27
|
+
*
|
|
28
|
+
* Only add prerequisites that are actionable by tx sender.
|
|
29
|
+
* A valid prerequisite is one the user can resolve themselves before retrying,
|
|
30
|
+
* e.g. approve a token (`allowance`) or perform offchain KYC verification.
|
|
69
31
|
*/
|
|
70
|
-
export type
|
|
71
|
-
|
|
72
|
-
}[PrerequisiteKind];
|
|
32
|
+
export type PrerequisiteResult = AllowanceResult | BalanceResult | RWAOpenRequirementsResult;
|
|
33
|
+
export type PrerequisiteKind = PrerequisiteResult["kind"];
|
|
73
34
|
/** Shared inputs for building and verifying prerequisites. */
|
|
74
35
|
export interface PrerequisiteContext {
|
|
75
36
|
sdk: OnchainSDK;
|
|
76
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Address whose balances/allowances are checked (the tx sender).
|
|
39
|
+
**/
|
|
77
40
|
wallet: Address;
|
|
78
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Block to read at; defaults to latest. Only set for testnet forks.
|
|
43
|
+
**/
|
|
79
44
|
blockNumber?: bigint;
|
|
45
|
+
/**
|
|
46
|
+
* Transaction `msg.value`
|
|
47
|
+
**/
|
|
48
|
+
value: bigint;
|
|
80
49
|
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import { AssetsMap, type CreditAccountData } from "../../sdk/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Constructor properties of {@link CreditAccountState}.
|
|
5
|
+
*/
|
|
6
|
+
export interface CreditAccountStateProps {
|
|
7
|
+
creditAccount: Address;
|
|
8
|
+
creditManager: Address;
|
|
9
|
+
underlying: Address;
|
|
10
|
+
balances?: AssetsMap;
|
|
11
|
+
quotas?: AssetsMap;
|
|
12
|
+
debt?: bigint;
|
|
13
|
+
totalDebt?: bigint;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A snapshot of a credit account's economic state (balances, quotas, debt)
|
|
17
|
+
* as used by operation previews, together with the account's identity.
|
|
18
|
+
*
|
|
19
|
+
* Used both as the pre-state seed of a multicall replay and as the running
|
|
20
|
+
* post-state mutated by it; changes are derived by diffing two snapshots.
|
|
21
|
+
*/
|
|
22
|
+
export declare class CreditAccountState {
|
|
23
|
+
creditAccount: Address;
|
|
24
|
+
creditManager: Address;
|
|
25
|
+
/**
|
|
26
|
+
* Credit manager underlying
|
|
27
|
+
*/
|
|
28
|
+
underlying: Address;
|
|
29
|
+
/**
|
|
30
|
+
* Per-token balances
|
|
31
|
+
*/
|
|
32
|
+
balances: AssetsMap;
|
|
33
|
+
/**
|
|
34
|
+
* Per-token quotas
|
|
35
|
+
*/
|
|
36
|
+
quotas: AssetsMap;
|
|
37
|
+
/**
|
|
38
|
+
* Debt principal
|
|
39
|
+
*/
|
|
40
|
+
debt: bigint;
|
|
41
|
+
/**
|
|
42
|
+
* Total debt: principal + accrued interest + accrued fees.
|
|
43
|
+
* `decreaseDebt` amounts operate on total debt (interest and fees are
|
|
44
|
+
* repaid before principal), so principal alone is not enough to resolve
|
|
45
|
+
* either the underlying balance decrement or the final principal.
|
|
46
|
+
*/
|
|
47
|
+
totalDebt: bigint;
|
|
48
|
+
constructor(props: CreditAccountStateProps);
|
|
49
|
+
/**
|
|
50
|
+
* The account-opening seed: everything zero/empty. The account doesn't
|
|
51
|
+
* exist yet at preview time, so `creditAccount` is the zero address;
|
|
52
|
+
* opening previews take identity from the parsed operation instead.
|
|
53
|
+
*/
|
|
54
|
+
static beforeOpen(creditManager: Address, underlying: Address): CreditAccountState;
|
|
55
|
+
/**
|
|
56
|
+
* Pre-state of an existing account from its on-chain data, with dust
|
|
57
|
+
* balances and quotas (≤ 1 wei) filtered out.
|
|
58
|
+
*/
|
|
59
|
+
static fromCreditAccountData(ca: CreditAccountData): CreditAccountState;
|
|
60
|
+
clone(): CreditAccountState;
|
|
61
|
+
/**
|
|
62
|
+
* Borrows `amount` of underlying: debt, total debt and the underlying
|
|
63
|
+
* balance all increase by it.
|
|
64
|
+
*/
|
|
65
|
+
increaseDebt(amount: bigint): void;
|
|
66
|
+
/**
|
|
67
|
+
* Repays up to `amount` of underlying against the debt, clamped to the
|
|
68
|
+
* total debt (the facade never repays more than is owed). Interest and
|
|
69
|
+
* fees are repaid before principal (CreditLogic.calcDecrease), so
|
|
70
|
+
* principal only decreases once total debt drops below it. The underlying
|
|
71
|
+
* balance decreases by the repaid amount.
|
|
72
|
+
*
|
|
73
|
+
* @returns The actually repaid (post-clamp) amount.
|
|
74
|
+
*/
|
|
75
|
+
repay(amount: bigint): bigint;
|
|
76
|
+
/**
|
|
77
|
+
* Applies a relative `updateQuota` change to the token's quota:
|
|
78
|
+
* `MIN_INT96` is the facade "disable quota" sentinel and zeroes it, other
|
|
79
|
+
* changes are added with the result clamped at zero (quotas cannot go
|
|
80
|
+
* negative on-chain).
|
|
81
|
+
*/
|
|
82
|
+
updateQuota(token: Address, change: bigint): void;
|
|
83
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Hex } from "viem";
|
|
2
|
+
import type { ERC4626AdapterContract } from "../../plugins/adapters/index.js";
|
|
3
|
+
import type { AssetsMap } from "../../sdk/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Applies an RWA wrap/unwrap adapter call (ERC4626 `deposit`/`redeem` and
|
|
6
|
+
* their diff variants, as emitted by `CreditAccountsServiceV310`) to the
|
|
7
|
+
* running credit-account balances.
|
|
8
|
+
*
|
|
9
|
+
* RWA underlyings always convert 1-to-1 with their vault asset, so the
|
|
10
|
+
* counterpart amount equals the input amount and no on-chain preview read is
|
|
11
|
+
* needed.
|
|
12
|
+
*/
|
|
13
|
+
export declare function applyRWAWrapUnwrap(adapter: ERC4626AdapterContract, calldata: Hex, balances: AssetsMap): void;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Address } from "viem";
|
|
2
|
+
import type { CreditAccountState } from "./CreditAccountState.js";
|
|
3
|
+
import type { DetectedDelayedOperation } from "./detectDelayedOperation.js";
|
|
4
|
+
import { type InstantOperationPreview } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Oracle conversion, injected so unit tests don't need a market
|
|
7
|
+
*/
|
|
8
|
+
export type ConvertFn = (token: Address, to: Address, amount: bigint) => bigint;
|
|
9
|
+
/**
|
|
10
|
+
* Builds the best-effort preview of the account state after the detected
|
|
11
|
+
* delayed withdrawal is claimed and its intent (if any) is resumed.
|
|
12
|
+
*
|
|
13
|
+
* Pure function: reads the post-instant account state, never mutates it and
|
|
14
|
+
* performs no network access. Swaps that the resume flow would route through
|
|
15
|
+
* the router are estimated with the injected oracle conversion; tokens the
|
|
16
|
+
* oracle cannot price contribute nothing and set a non-fatal
|
|
17
|
+
* `ERROR_UNPRICEABLE_TOKEN` error on the preview.
|
|
18
|
+
*
|
|
19
|
+
* Common claim step (all intents): the phantom token is burned (balance and
|
|
20
|
+
* quota zeroed) and the claim token is credited with the same amount 1:1.
|
|
21
|
+
*
|
|
22
|
+
* Intent-specific resume:
|
|
23
|
+
* - `CLOSE_ACCOUNT`: everything is swapped into the underlying, the debt is
|
|
24
|
+
* fully repaid and the rest is withdrawn to the user as `receivedToken`
|
|
25
|
+
* (the unwrapped underlying for RWA markets, converting 1:1 with the
|
|
26
|
+
* underlying; the underlying itself otherwise).
|
|
27
|
+
* - `DECREASE_LEVERAGE`: the claimed amount is swapped into the underlying
|
|
28
|
+
* and used to decrease the debt.
|
|
29
|
+
* - `WITHDRAW_COLLATERAL`: the recorded amount of the recorded token is
|
|
30
|
+
* withdrawn to the user, the rest of the claimed amount decreases the debt.
|
|
31
|
+
* - other intents and `intent: undefined`: claim-only, the post-claim swap
|
|
32
|
+
* target is not recoverable from the intent.
|
|
33
|
+
*
|
|
34
|
+
* The changes (`debtChange`, `quotasChange`, `assetsChange`) are reported
|
|
35
|
+
* relative to the account state before the whole transaction, not the
|
|
36
|
+
* post-instant-part state: to the user the delayed preview answers "where will
|
|
37
|
+
* the account end up compared to now", so the transient phantom token
|
|
38
|
+
* (minted by the instant part, burned by the claim) nets out to nothing.
|
|
39
|
+
*
|
|
40
|
+
* @param afterInstant - Account state after the instant part of the
|
|
41
|
+
* transaction.
|
|
42
|
+
* @param before - Account state before the transaction (the diff base).
|
|
43
|
+
* @param receivedToken - Token the `CLOSE_ACCOUNT` resume withdraws to the
|
|
44
|
+
* user: the unwrapped underlying (vault asset) for RWA markets, the
|
|
45
|
+
* underlying itself otherwise.
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildDelayedPreview(afterInstant: CreditAccountState, before: CreditAccountState, detected: DetectedDelayedOperation, convert: ConvertFn, receivedToken: Address): InstantOperationPreview;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { InnerOperation } from "../parse/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Detects whether a credit-facade multicall fully closes or repays the
|
|
5
|
+
* account.
|
|
6
|
+
*
|
|
7
|
+
* Note that closing/repaying an account whose debt is already zero emits no
|
|
8
|
+
* `decreaseDebt` call at all and is not detected (previews as an adjustment).
|
|
9
|
+
*/
|
|
10
|
+
export declare function isCloseOrRepay(multicall: InnerOperation[]): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Distinguishes a closure from a repayment by how collateral leaves the
|
|
13
|
+
* account:
|
|
14
|
+
* - close swaps all assets into an exit token and withdraws only exit
|
|
15
|
+
* tokens: the underlying or, on RWA markets, the unwrapped RWA underlying
|
|
16
|
+
* (the ERC4626 vault asset)
|
|
17
|
+
* - repay returns collateral in-kind: it adds collateral from the wallet to
|
|
18
|
+
* cover the debt and/or withdraws non-exit tokens.
|
|
19
|
+
*/
|
|
20
|
+
export declare function classifyCloseOrRepay(multicall: InnerOperation[], exitTokens: Address[]): "close" | "repay";
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import { type SdkWithAdapters } from "../../plugins/adapters/index.js";
|
|
3
|
+
import type { DelayedIntent, PluginsMap } from "../../sdk/index.js";
|
|
4
|
+
import type { InnerOperation } from "../parse/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* A delayed-withdrawal claim detected in a credit-facade multicall,
|
|
7
|
+
* produced by `detectDelayedClaim`.
|
|
8
|
+
*/
|
|
9
|
+
export interface DetectedDelayedClaim {
|
|
10
|
+
/**
|
|
11
|
+
* Adapter the claim call is addressed to
|
|
12
|
+
*/
|
|
13
|
+
adapter: Address;
|
|
14
|
+
/**
|
|
15
|
+
* Redeemer contract the withdrawal is claimed from. Transactions built by
|
|
16
|
+
* the withdrawal compressor always claim from a single redeemer, so when
|
|
17
|
+
* the adapter method accepts multiple redeemers, only the first one is
|
|
18
|
+
* reported.
|
|
19
|
+
*/
|
|
20
|
+
redeemer: Address;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Scans a credit-facade multicall for a delayed-withdrawal claim call.
|
|
24
|
+
*
|
|
25
|
+
* @param sdk - SDK with the adapters plugin attached.
|
|
26
|
+
* @param multicall - Parsed inner operations of the multicall.
|
|
27
|
+
* @returns The detected claim, or `undefined` when the multicall contains no
|
|
28
|
+
* delayed-withdrawal claim call.
|
|
29
|
+
*/
|
|
30
|
+
export declare function detectDelayedClaim<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[]): DetectedDelayedClaim | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves the delayed intent of the withdrawal a multicall claims: detects
|
|
33
|
+
* the claim call and reads the recorded intent of the claimed redeemer from
|
|
34
|
+
* the `RedemptionLogger` contract.
|
|
35
|
+
*
|
|
36
|
+
* @param sdk - SDK with the adapters plugin attached.
|
|
37
|
+
* @param multicall - Parsed inner operations of the multicall.
|
|
38
|
+
* @param blockNumber - Optional block number to read the log at.
|
|
39
|
+
* @returns The decoded intent, or `undefined` when the multicall claims
|
|
40
|
+
* nothing, the redemption logger is not deployed, or the log carries no
|
|
41
|
+
* intent.
|
|
42
|
+
* @throws InvalidDelayedIntentError when the logged `extraData` is non-empty
|
|
43
|
+
* but cannot be decoded as a `DelayedIntent`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveDelayedClaimIntent<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[], blockNumber?: bigint): Promise<DelayedIntent | undefined>;
|