@gearbox-protocol/sdk 14.12.0-next.3 → 14.12.0-next.30
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 +230 -0
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
- package/dist/cjs/abi/compressors/withdrawalCompressor.js +47 -2
- package/dist/cjs/abi/ierc4626Adapter.js +264 -0
- package/dist/cjs/dev/AccountOpener.js +7 -13
- package/dist/cjs/dev/index.js +3 -1
- package/dist/cjs/dev/withdrawalAbi.js +2105 -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 +1 -10
- 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 +1015 -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} +26 -6
- 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 +4 -42
- 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 +80 -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 +155 -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 +43 -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 +18 -39
- 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 +9 -15
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +24 -12
- 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 +20 -43
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +25 -39
- package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +71 -0
- package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +55 -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 +85 -0
- package/dist/cjs/preview/prerequisites/helpers.js +36 -0
- package/dist/cjs/preview/prerequisites/index.js +4 -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 +111 -0
- package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
- package/dist/cjs/preview/preview/detectDelayedOperation.js +71 -0
- package/dist/cjs/preview/preview/errors.js +53 -0
- package/dist/cjs/preview/preview/index.js +42 -0
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
- package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +79 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +84 -0
- package/dist/cjs/preview/preview/previewOperation.js +94 -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/index.js +5 -2
- package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
- package/dist/cjs/preview/types.js +16 -0
- package/dist/cjs/sdk/OnchainSDK.js +8 -0
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +157 -210
- package/dist/cjs/sdk/accounts/index.js +3 -1
- package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +224 -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 +40 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +51 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +36 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
- package/dist/cjs/sdk/base/BaseContract.js +4 -2
- package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +40 -8
- package/dist/cjs/sdk/market/rwa/types.js +5 -2
- 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 +206 -0
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
- package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
- package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
- package/dist/esm/abi/compressors/withdrawalCompressor.js +47 -2
- package/dist/esm/abi/ierc4626Adapter.js +240 -0
- package/dist/esm/dev/AccountOpener.js +8 -13
- package/dist/esm/dev/index.js +1 -0
- package/dist/esm/dev/withdrawalAbi.js +2074 -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 +1 -10
- 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 +990 -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} +22 -2
- 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 +4 -44
- 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 +80 -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 +140 -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 +47 -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 +19 -44
- 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 +10 -16
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +27 -13
- 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 +21 -47
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +26 -43
- package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +47 -0
- package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +33 -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 +61 -0
- package/dist/esm/preview/prerequisites/helpers.js +14 -0
- package/dist/esm/preview/prerequisites/index.js +2 -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 +90 -0
- package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
- package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
- package/dist/esm/preview/preview/errors.js +28 -0
- package/dist/esm/preview/preview/index.js +11 -0
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
- package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +57 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +68 -0
- package/dist/esm/preview/preview/previewOperation.js +75 -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/index.js +3 -1
- package/dist/esm/preview/simulate/simulateOperation.js +5 -1
- package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
- package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
- package/dist/esm/preview/types.js +0 -0
- package/dist/esm/sdk/OnchainSDK.js +10 -1
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +153 -205
- package/dist/esm/sdk/accounts/index.js +1 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +200 -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 +16 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +27 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +8 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +0 -0
- package/dist/esm/sdk/base/BaseContract.js +4 -2
- package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +40 -8
- package/dist/esm/sdk/market/rwa/types.js +5 -2
- 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 +293 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +77 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +77 -0
- package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +77 -0
- package/dist/types/abi/compressors/withdrawalCompressor.d.ts +81 -0
- package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
- 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 +1584 -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 +81 -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/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/adapters/iMellow4626VaultAdapter.d.ts +183 -0
- 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 +754 -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/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts} +37 -1
- 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 +56 -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 +797 -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 +67 -8
- 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 +43 -14
- 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 +9 -19
- 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 +36 -0
- package/dist/types/preview/parse/types.d.ts +11 -31
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +16 -17
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +21 -18
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +51 -0
- package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +14 -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 +2 -3
- package/dist/types/preview/prerequisites/types.d.ts +13 -50
- 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 +41 -0
- package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
- package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
- package/dist/types/preview/preview/errors.d.ts +24 -0
- package/dist/types/preview/preview/index.d.ts +11 -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 +317 -0
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
- package/dist/types/preview/simulate/index.d.ts +2 -3
- 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 +12 -0
- package/dist/types/preview/simulate/types.d.ts +20 -51
- package/dist/types/preview/types.d.ts +63 -0
- package/dist/types/sdk/OnchainSDK.d.ts +7 -1
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
- package/dist/types/sdk/accounts/index.d.ts +1 -0
- package/dist/types/sdk/accounts/types.d.ts +171 -53
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +38 -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 +304 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +9 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +8 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +296 -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/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 +15 -3
- package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
- package/dist/types/sdk/market/rwa/types.d.ts +39 -14
- 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/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/parse/extractExpectedBalanceChanges.js +0 -48
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -234
- 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 -210
- 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,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>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
import type { RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs } from "../../sdk/index.js";
|
|
3
|
+
import { Prerequisite } from "./Prerequisite.js";
|
|
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. */
|
|
12
|
+
token: Address;
|
|
13
|
+
/** Credit manager of the RWA market. */
|
|
14
|
+
creditManager: Address;
|
|
15
|
+
/** RWA factory that gates the token. */
|
|
16
|
+
factory: Address;
|
|
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;
|
|
29
|
+
}
|
|
30
|
+
export type RWAOpenRequirementsResult = PrerequisiteOutcome & {
|
|
31
|
+
kind: "rwaOpenRequirements";
|
|
32
|
+
detail: RWAOpenRequirementsDetail;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Checks that the borrower has fulfilled the RWA factory's open-account
|
|
36
|
+
* requirements (issuer-side token registration, EIP-712 signatures).
|
|
37
|
+
*
|
|
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`.
|
|
45
|
+
*/
|
|
46
|
+
export declare class RWAOpenRequirementsPrerequisite extends Prerequisite {
|
|
47
|
+
#private;
|
|
48
|
+
constructor(detail: Omit<RWAOpenRequirementsDetail, "requirements" | "missing">, providedArgs?: RWAOperationArgs);
|
|
49
|
+
protected check(ctx: PrerequisiteContext): Promise<RWAOpenRequirementsResult>;
|
|
50
|
+
protected errorResult(error: PrerequisiteError): RWAOpenRequirementsResult;
|
|
51
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
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,7 +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 "./
|
|
6
|
-
export * from "./runPrerequisites.js";
|
|
5
|
+
export * from "./RWAOpenRequirementsPrerequisite.js";
|
|
7
6
|
export * from "./types.js";
|
|
@@ -1,40 +1,8 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import type { OnchainSDK } from "../../sdk/index.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Adding a new prerequisite kind only requires a new entry here: the generic
|
|
7
|
-
* machinery below and the UI renderer registry both key off this map, so TS
|
|
8
|
-
* forces every consumer to handle the new kind.
|
|
9
|
-
*
|
|
10
|
-
* IMPORTANT: only add prerequisites that are *actionable by the transaction
|
|
11
|
-
* sender* (the LP provider or borrower). A valid prerequisite is one the user
|
|
12
|
-
* can resolve themselves before retrying, e.g. approve a token (`allowance`)
|
|
13
|
-
* or acquire/free up funds (`balance`). Do NOT add protocol- or admin-level
|
|
14
|
-
* state the user cannot change, such as pool pause status or available pool
|
|
15
|
-
* liquidity; those are not actionable and must not be listed as prerequisites.
|
|
16
|
-
*/
|
|
17
|
-
export interface PrerequisiteDetailMap {
|
|
18
|
-
/** ERC-20 allowance from `owner` to `spender` must cover `required`. */
|
|
19
|
-
allowance: {
|
|
20
|
-
token: Address;
|
|
21
|
-
owner: Address;
|
|
22
|
-
spender: Address;
|
|
23
|
-
required: bigint;
|
|
24
|
-
/** On-chain allowance read; only present when the read succeeded. */
|
|
25
|
-
actual?: bigint;
|
|
26
|
-
};
|
|
27
|
-
/** ERC-20 balance of `owner` must cover `required`. */
|
|
28
|
-
balance: {
|
|
29
|
-
token: Address;
|
|
30
|
-
owner: Address;
|
|
31
|
-
required: bigint;
|
|
32
|
-
/** On-chain balance read; only present when the read succeeded. */
|
|
33
|
-
actual?: bigint;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export type PrerequisiteKind = keyof PrerequisiteDetailMap;
|
|
37
|
-
export type PrerequisiteDetail<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteDetailMap[K];
|
|
3
|
+
import type { AllowanceResult } from "./AllowancePrerequisite.js";
|
|
4
|
+
import type { BalanceResult } from "./BalancePrerequisite.js";
|
|
5
|
+
import type { RWAOpenRequirementsResult } from "./RWAOpenRequirementsPrerequisite.js";
|
|
38
6
|
/** Failure of the underlying on-chain read (revert, decode error, RPC error). */
|
|
39
7
|
export interface PrerequisiteError {
|
|
40
8
|
/** Decoded revert reason / error name, human-readable. */
|
|
@@ -42,32 +10,27 @@ export interface PrerequisiteError {
|
|
|
42
10
|
/** Original error, kept for debugging. */
|
|
43
11
|
cause?: unknown;
|
|
44
12
|
}
|
|
45
|
-
export interface PrerequisiteBase<K extends PrerequisiteKind> {
|
|
46
|
-
id: string;
|
|
47
|
-
kind: K;
|
|
48
|
-
title: string;
|
|
49
|
-
detail: PrerequisiteDetail<K>;
|
|
50
|
-
}
|
|
51
13
|
/**
|
|
52
14
|
* Outcome of verifying a single prerequisite: either the read succeeded (a
|
|
53
15
|
* `satisfied` boolean) or it reverted/failed (an `error` with the revert
|
|
54
|
-
* reason).
|
|
16
|
+
* reason).
|
|
55
17
|
*/
|
|
56
|
-
export type
|
|
18
|
+
export type PrerequisiteOutcome = {
|
|
57
19
|
satisfied: boolean;
|
|
58
20
|
error?: undefined;
|
|
59
21
|
} | {
|
|
60
22
|
satisfied?: undefined;
|
|
61
23
|
error: PrerequisiteError;
|
|
62
|
-
}
|
|
24
|
+
};
|
|
63
25
|
/**
|
|
64
|
-
* Discriminated union over every prerequisite kind
|
|
65
|
-
*
|
|
66
|
-
*
|
|
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.
|
|
67
31
|
*/
|
|
68
|
-
export type
|
|
69
|
-
|
|
70
|
-
}[PrerequisiteKind];
|
|
32
|
+
export type PrerequisiteResult = AllowanceResult | BalanceResult | RWAOpenRequirementsResult;
|
|
33
|
+
export type PrerequisiteKind = PrerequisiteResult["kind"];
|
|
71
34
|
/** Shared inputs for building and verifying prerequisites. */
|
|
72
35
|
export interface PrerequisiteContext {
|
|
73
36
|
sdk: OnchainSDK;
|
|
@@ -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,41 @@
|
|
|
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.
|
|
25
|
+
* - `DECREASE_LEVERAGE`: the claimed amount is swapped into the underlying
|
|
26
|
+
* and used to decrease the debt.
|
|
27
|
+
* - `WITHDRAW_COLLATERAL`: the recorded amount of the recorded token is
|
|
28
|
+
* withdrawn to the user, the rest of the claimed amount decreases the debt.
|
|
29
|
+
* - other intents and `intent: undefined`: claim-only, the post-claim swap
|
|
30
|
+
* target is not recoverable from the intent.
|
|
31
|
+
*
|
|
32
|
+
* The changes (`debtChange`, `quotasChange`, `assetsChange`) are reported
|
|
33
|
+
* relative to the account state before the whole transaction, not the
|
|
34
|
+
* post-instant state: to the user the delayed preview answers "where will
|
|
35
|
+
* the account end up compared to now", so the transient phantom token
|
|
36
|
+
* (minted by the instant part, burned by the claim) nets out to nothing.
|
|
37
|
+
*
|
|
38
|
+
* @param state - Account state after the instant part of the transaction.
|
|
39
|
+
* @param before - Account state before the transaction (the diff base).
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildDelayedPreview(state: CreditAccountState, before: CreditAccountState, detected: DetectedDelayedOperation, convert: ConvertFn): InstantOperationPreview;
|
|
@@ -0,0 +1,18 @@
|
|
|
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 underlying and withdraws only the underlying
|
|
15
|
+
* - repay returns collateral in-kind: it adds collateral from the wallet to
|
|
16
|
+
* cover the debt and/or withdraws non-underlying tokens.
|
|
17
|
+
*/
|
|
18
|
+
export declare function classifyCloseOrRepay(multicall: InnerOperation[], underlying: Address): "close" | "repay";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type DelayedWithdrawalRequest, type SdkWithAdapters } from "../../plugins/adapters/index.js";
|
|
2
|
+
import { type DelayedIntent, type PluginsMap } from "../../sdk/index.js";
|
|
3
|
+
import type { InnerOperation } from "../parse/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* A delayed-withdrawal request detected in a credit-facade multicall,
|
|
6
|
+
* produced by `detectDelayedOperation`.
|
|
7
|
+
*/
|
|
8
|
+
export interface DetectedDelayedOperation {
|
|
9
|
+
/**
|
|
10
|
+
* Phantom/claim tokens from the adapter's `parseDelayedWithdrawalRequest`
|
|
11
|
+
*/
|
|
12
|
+
request: DelayedWithdrawalRequest;
|
|
13
|
+
/**
|
|
14
|
+
* Decoded delayed intent; undefined when the request carries none, in
|
|
15
|
+
* which case the delayed preview is claim-only
|
|
16
|
+
*/
|
|
17
|
+
intent?: DelayedIntent;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Scans a credit-facade multicall for a delayed-withdrawal request.
|
|
21
|
+
*
|
|
22
|
+
* @param sdk - SDK with the adapters plugin attached.
|
|
23
|
+
* @param multicall - Parsed inner operations of the multicall.
|
|
24
|
+
* @returns The detected request, or `undefined` when
|
|
25
|
+
* the multicall contains no delayed-withdrawal request.
|
|
26
|
+
* @throws InvalidDelayedIntentError when a request carries non-empty
|
|
27
|
+
* `extraData` that cannot be decoded as a `DelayedIntent`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function detectDelayedOperation<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[]): DetectedDelayedOperation | undefined;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Address, Hex } from "viem";
|
|
2
|
+
/**
|
|
3
|
+
* Thrown by `previewOperation` for parsed operations it cannot preview yet.
|
|
4
|
+
* Currently only pool operations and credit account opening are supported.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UnsupportedOperationError extends Error {
|
|
7
|
+
/** The parsed operation kind (the `operation` discriminant). */
|
|
8
|
+
readonly operation: string;
|
|
9
|
+
constructor(operation: string);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Thrown when a delayed-withdrawal request carries non-empty `extraData`
|
|
13
|
+
* that cannot be decoded as a `DelayedIntent`. Requests produced by our
|
|
14
|
+
* stack always encode a valid intent, so garbage here means a
|
|
15
|
+
* malformed/foreign transaction that must not be previewed as if it were
|
|
16
|
+
* fine.
|
|
17
|
+
*/
|
|
18
|
+
export declare class InvalidDelayedIntentError extends Error {
|
|
19
|
+
/** Adapter the withdrawal request was addressed to. */
|
|
20
|
+
readonly adapter: Address;
|
|
21
|
+
/** Raw `extraData` that failed to decode. */
|
|
22
|
+
readonly extraData: Hex;
|
|
23
|
+
constructor(adapter: Address, extraData: Hex, cause?: unknown);
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./buildDelayedPreview.js";
|
|
2
|
+
export * from "./CreditAccountState.js";
|
|
3
|
+
export * from "./detectCloseOrRepay.js";
|
|
4
|
+
export * from "./detectDelayedOperation.js";
|
|
5
|
+
export * from "./errors.js";
|
|
6
|
+
export * from "./previewAdjustCreditAccount.js";
|
|
7
|
+
export * from "./previewCloseOrRepayCreditAccount.js";
|
|
8
|
+
export * from "./previewOperation.js";
|
|
9
|
+
export * from "./replayInnerOperations.js";
|
|
10
|
+
export * from "./replayMulticall.js";
|
|
11
|
+
export * from "./types.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type PluginsMap } from "../../sdk/index.js";
|
|
2
|
+
import type { MulticallOperation, RWAMulticallOperation } from "../parse/index.js";
|
|
3
|
+
import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
|
|
4
|
+
import { type AdjustCreditAccountPreview } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Previews a `multicall`/`botMulticall` operation on an existing credit
|
|
7
|
+
* account: threads the multicall through {@link replayMulticall} over the
|
|
8
|
+
* pre-resolved account state (`options.creditAccount`) and reports the
|
|
9
|
+
* minimal guaranteed post-state alongside the changes relative to the
|
|
10
|
+
* pre-state.
|
|
11
|
+
*/
|
|
12
|
+
export declare function previewAdjustCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: MulticallOperation | RWAMulticallOperation, options: PreviewOperationOptions<true>): Promise<AdjustCreditAccountPreview>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type PluginsMap } from "../../sdk/index.js";
|
|
2
|
+
import type { CloseCreditAccountOperation, MulticallOperation, RWAMulticallOperation } from "../parse/index.js";
|
|
3
|
+
import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
|
|
4
|
+
import type { CloseCreditAccountPreview, RepayCreditAccountPreview } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Any parsed operation that fully closes or repays a credit account: the
|
|
7
|
+
* facade `closeCreditAccount` entry point (permanent closure) or a plain
|
|
8
|
+
* multicall detected by `isCloseOrRepay` (zero-debt closure/repay).
|
|
9
|
+
*/
|
|
10
|
+
export type CloseOrRepayOperation = CloseCreditAccountOperation | MulticallOperation | RWAMulticallOperation;
|
|
11
|
+
export declare function previewCloseOrRepayCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: CloseOrRepayOperation, permanent: boolean, options: PreviewOperationOptions<true>): Promise<CloseCreditAccountPreview | RepayCreditAccountPreview>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type PluginsMap } from "../../sdk/index.js";
|
|
2
|
+
import type { OpenCreditAccountOperation, RWAOpenCreditAccountOperation } from "../parse/index.js";
|
|
3
|
+
import type { PreviewOperationInput } from "../types.js";
|
|
4
|
+
import { type OpenCreditAccountPreview } from "./types.js";
|
|
5
|
+
export declare function previewOpenCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: OpenCreditAccountOperation | RWAOpenCreditAccountOperation): Promise<OpenCreditAccountPreview>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PluginsMap } from "../../sdk/index.js";
|
|
2
|
+
import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
|
|
3
|
+
import type { OperationPreview } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Previews a raw operation calldata: decodes it into a typed operation and
|
|
6
|
+
* assembles an operation-specific, human-displayable preview.
|
|
7
|
+
*/
|
|
8
|
+
export declare function previewOperation<P extends PluginsMap = PluginsMap>(input: PreviewOperationInput<P>, options?: PreviewOperationOptions): Promise<OperationPreview>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PluginsMap } from "../../sdk/index.js";
|
|
2
|
+
import type { PoolOperation } from "../parse/index.js";
|
|
3
|
+
import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
|
|
4
|
+
import type { PoolOperationPreview } from "./types.js";
|
|
5
|
+
export declare function previewPoolOperation<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: PoolOperation, options?: PreviewOperationOptions): Promise<PoolOperationPreview>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type SdkWithAdapters } from "../../plugins/adapters/index.js";
|
|
2
|
+
import { AssetsMap, type PluginsMap } from "../../sdk/index.js";
|
|
3
|
+
import type { InnerOperation } from "../parse/index.js";
|
|
4
|
+
import type { CreditAccountState } from "./CreditAccountState.js";
|
|
5
|
+
import { type OperationPreviewError } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Running state threaded through a credit-facade multicall by
|
|
8
|
+
* {@link replayInnerOperations}: the account's post-state being mutated in
|
|
9
|
+
* facade execution order, plus per-multicall bookkeeping that is not account
|
|
10
|
+
* state (what was added from / withdrawn to the wallet).
|
|
11
|
+
*/
|
|
12
|
+
export interface ReplayState {
|
|
13
|
+
/**
|
|
14
|
+
* Running account state, mutated in facade execution order. Seeded by the
|
|
15
|
+
* caller: `CreditAccountState.beforeOpen` for account opening, a clone of
|
|
16
|
+
* `CreditAccountState.fromCreditAccountData` for an existing account.
|
|
17
|
+
*/
|
|
18
|
+
account: CreditAccountState;
|
|
19
|
+
/**
|
|
20
|
+
* Cumulative amounts added via `addCollateral`.
|
|
21
|
+
*/
|
|
22
|
+
collateralAdded: AssetsMap;
|
|
23
|
+
/**
|
|
24
|
+
* Cumulative amounts withdrawn via `withdrawCollateral`, with `MAX_UINT256`
|
|
25
|
+
* resolved against the running balance at the point of the call.
|
|
26
|
+
*/
|
|
27
|
+
collateralWithdrawn: AssetsMap;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates a {@link ReplayState} around the given account seed, with empty
|
|
31
|
+
* bookkeeping.
|
|
32
|
+
*/
|
|
33
|
+
export declare function makeReplayState(account: CreditAccountState): ReplayState;
|
|
34
|
+
/**
|
|
35
|
+
* Replays a credit-facade multicall over `state`, mutating it in place in
|
|
36
|
+
* facade execution order. The result is the *minimal guaranteed* post-state.
|
|
37
|
+
*
|
|
38
|
+
* The function assumes that the call was generated by our frontend using
|
|
39
|
+
* router/withdrawal compressor, otherwise it returns an error, but still
|
|
40
|
+
* proceeds best-effort.
|
|
41
|
+
*
|
|
42
|
+
* @returns `undefined` on success, the error on a malformed multicall.
|
|
43
|
+
*/
|
|
44
|
+
export declare function replayInnerOperations<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[], state: ReplayState): Promise<OperationPreviewError | undefined>;
|