@gearbox-protocol/sdk 14.12.0-next.9 → 14.12.0-test.1
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 +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/iRedemptionLoggerV310.js +119 -0
- package/dist/cjs/abi/ierc4626Adapter.js +264 -0
- 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/populateContractsRegister.js +14 -11
- package/dist/cjs/{preview/prerequisites/prepareAction.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -24
- 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/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} +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 -2
- 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 +66 -12
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +8 -5
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +10 -8
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +10 -8
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +10 -13
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +11 -9
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +9 -7
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +4 -4
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +10 -8
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +32 -9
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +10 -8
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +12 -12
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +12 -9
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +9 -8
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +8 -7
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +10 -8
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +46 -8
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +8 -7
- package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +168 -0
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +9 -8
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +9 -8
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +18 -20
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +8 -7
- package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +59 -6
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +11 -9
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +8 -7
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +8 -7
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +10 -13
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +13 -13
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +11 -9
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +8 -7
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +10 -8
- 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 -1
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +1 -2
- package/dist/cjs/preview/parse/parseOperationCalldata.js +3 -11
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +1 -2
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +18 -18
- 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 +22 -54
- 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/buildPartialLiquidationPrerequisites.js +40 -0
- 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 +0 -16
- package/dist/cjs/preview/preview/index.js +18 -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 +31 -77
- package/dist/cjs/preview/preview/previewOperation.js +74 -1
- package/dist/cjs/preview/preview/previewPoolOperation.js +6 -39
- 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 +33 -0
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +10 -4
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +2 -5
- 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 +169 -206
- 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/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +43 -0
- 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 +121 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +36 -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/utils/AddressSet.js +7 -0
- package/dist/cjs/sdk/utils/AssetsMap.js +39 -3
- package/dist/esm/abi/IWithdrawalCompressorV313.js +420 -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/iRedemptionLoggerV310.js +95 -0
- package/dist/esm/abi/ierc4626Adapter.js +240 -0
- 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/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/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} +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 -1
- 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 +66 -12
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +8 -5
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +9 -7
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +9 -7
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +9 -12
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +10 -8
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +9 -7
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +3 -3
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +3 -3
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +3 -3
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +3 -3
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +3 -3
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +9 -7
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +31 -8
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +9 -7
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +11 -11
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +11 -8
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +10 -9
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +7 -6
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +9 -7
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +47 -8
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +7 -6
- package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +154 -0
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +10 -9
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +12 -11
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +17 -19
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +8 -7
- package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +63 -7
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +10 -8
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +7 -6
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +7 -6
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +9 -12
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +14 -14
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +12 -10
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +7 -6
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +9 -7
- 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 -0
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +1 -2
- package/dist/esm/preview/parse/parseOperationCalldata.js +3 -11
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +1 -2
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +18 -18
- 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 +23 -58
- 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 +0 -15
- package/dist/esm/preview/preview/index.js +9 -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 +36 -78
- package/dist/esm/preview/preview/previewOperation.js +80 -2
- package/dist/esm/preview/preview/previewPoolOperation.js +7 -42
- 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 +12 -4
- package/dist/esm/preview/simulate/simulateOperation.js +1 -4
- package/dist/esm/preview/simulate/simulatePoolOperation.js +2 -5
- 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 +164 -200
- 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 +94 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +12 -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/utils/AddressSet.js +7 -0
- package/dist/esm/sdk/utils/AssetsMap.js +39 -3
- package/dist/types/abi/IWithdrawalCompressorV313.d.ts +596 -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/iRedemptionLoggerV310.d.ts +122 -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/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/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/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/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 +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/{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 -1
- 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 +53 -9
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +2 -3
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +6 -7
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +7 -7
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +7 -7
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +7 -7
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +7 -7
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +7 -8
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +13 -8
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +7 -8
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +7 -8
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +6 -7
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +7 -8
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -10
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +6 -7
- package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +614 -0
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +7 -8
- package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +73 -8
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +8 -9
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +6 -7
- 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 -24
- 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 -0
- 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-rwa.d.ts +11 -23
- 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 +16 -16
- 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 +0 -12
- package/dist/types/preview/preview/index.d.ts +9 -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 +4 -3
- package/dist/types/preview/preview/previewOperation.d.ts +3 -3
- package/dist/types/preview/preview/previewPoolOperation.d.ts +3 -3
- 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 +265 -42
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +19 -4
- package/dist/types/preview/simulate/index.d.ts +1 -4
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -14
- package/dist/types/preview/simulate/simulateOperation.d.ts +4 -16
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +7 -3
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -14
- package/dist/types/preview/simulate/types.d.ts +13 -30
- 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 +22 -14
- 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 +175 -51
- 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 +448 -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/types/state.d.ts +8 -0
- package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
- package/dist/types/sdk/utils/AssetsMap.d.ts +19 -1
- package/package.json +15 -16
- 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 -89
- package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -297
- 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 -69
- package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -279
- package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
- package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
- 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 -36
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -25
- package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
- package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
- /package/dist/cjs/plugins/adapters/abi/{iConvexV1BoosterAdapter.js → adapters/iConvexV1BoosterAdapter.js} +0 -0
- /package/dist/esm/plugins/adapters/abi/{iConvexV1BoosterAdapter.js → adapters/iConvexV1BoosterAdapter.js} +0 -0
- /package/dist/types/plugins/adapters/abi/{iConvexV1BoosterAdapter.d.ts → adapters/iConvexV1BoosterAdapter.d.ts} +0 -0
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BaseError,
|
|
3
|
-
ContractFunctionRevertedError
|
|
4
|
-
} from "viem";
|
|
1
|
+
import { BaseError, ContractFunctionRevertedError } from "viem";
|
|
5
2
|
function toPrerequisiteError(cause) {
|
|
6
3
|
if (cause instanceof BaseError) {
|
|
7
4
|
const reverted = cause.walk(
|
|
@@ -22,42 +19,18 @@ function toPrerequisiteError(cause) {
|
|
|
22
19
|
}
|
|
23
20
|
class Prerequisite {
|
|
24
21
|
/**
|
|
25
|
-
* Verifies this prerequisite
|
|
26
|
-
*
|
|
22
|
+
* Verifies this prerequisite. Never rejects: any error thrown by
|
|
23
|
+
* {@link check} (revert, RPC/network failure, compressor error) is
|
|
24
|
+
* normalized into an `error` result.
|
|
27
25
|
*/
|
|
28
26
|
async verify(ctx) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// testnet forks pinned to a specific block.
|
|
35
|
-
blockNumber: ctx.blockNumber
|
|
36
|
-
});
|
|
37
|
-
return this.resolve(results);
|
|
38
|
-
}
|
|
39
|
-
/** Builds a successful result; `detail` carries the on-chain `actual`. */
|
|
40
|
-
satisfiedResult(satisfied, detail) {
|
|
41
|
-
return {
|
|
42
|
-
id: this.id,
|
|
43
|
-
kind: this.kind,
|
|
44
|
-
title: this.title,
|
|
45
|
-
detail,
|
|
46
|
-
satisfied
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/** Builds a failed result from a decoded read error. */
|
|
50
|
-
errorResult(error) {
|
|
51
|
-
return {
|
|
52
|
-
id: this.id,
|
|
53
|
-
kind: this.kind,
|
|
54
|
-
title: this.title,
|
|
55
|
-
detail: this.detail,
|
|
56
|
-
error
|
|
57
|
-
};
|
|
27
|
+
try {
|
|
28
|
+
return await this.check(ctx);
|
|
29
|
+
} catch (cause) {
|
|
30
|
+
return this.errorResult(toPrerequisiteError(cause));
|
|
31
|
+
}
|
|
58
32
|
}
|
|
59
33
|
}
|
|
60
34
|
export {
|
|
61
|
-
Prerequisite
|
|
62
|
-
toPrerequisiteError
|
|
35
|
+
Prerequisite
|
|
63
36
|
};
|
|
@@ -1,40 +1,45 @@
|
|
|
1
1
|
import { Prerequisite } from "./Prerequisite.js";
|
|
2
2
|
class RWAOpenRequirementsPrerequisite extends Prerequisite {
|
|
3
|
-
#id;
|
|
4
|
-
#title;
|
|
5
3
|
#detail;
|
|
6
|
-
|
|
4
|
+
#providedArgs;
|
|
5
|
+
constructor(detail, providedArgs) {
|
|
7
6
|
super();
|
|
8
|
-
this.#
|
|
9
|
-
this.#
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
7
|
+
this.#detail = { ...detail };
|
|
8
|
+
this.#providedArgs = providedArgs;
|
|
9
|
+
}
|
|
10
|
+
async check(ctx) {
|
|
11
|
+
const requirements = await ctx.sdk.accounts.getOpenAccountRequirements(
|
|
12
|
+
ctx.wallet,
|
|
13
|
+
this.#detail.creditManager,
|
|
14
|
+
{ tokenOutAddress: this.#detail.token }
|
|
15
|
+
);
|
|
16
|
+
if (!requirements) {
|
|
17
|
+
return {
|
|
18
|
+
kind: "rwaOpenRequirements",
|
|
19
|
+
detail: this.#detail,
|
|
20
|
+
satisfied: true
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(
|
|
24
|
+
this.#detail.creditManager
|
|
25
|
+
);
|
|
26
|
+
if (!rwaFactory) {
|
|
27
|
+
throw new Error(
|
|
28
|
+
`no RWA factory found for credit manager ${this.#detail.creditManager}`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
const missing = rwaFactory.getMissingRequirements(
|
|
32
|
+
requirements,
|
|
33
|
+
this.#providedArgs
|
|
34
|
+
);
|
|
35
|
+
return {
|
|
36
|
+
kind: "rwaOpenRequirements",
|
|
37
|
+
detail: { ...this.#detail, requirements, missing },
|
|
38
|
+
satisfied: !missing && requirements.securitizeTokensToRegister.length === 0
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
errorResult(error) {
|
|
42
|
+
return { kind: "rwaOpenRequirements", detail: this.#detail, error };
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
45
|
export {
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { isAddressEqual } from "viem";
|
|
2
|
+
import {
|
|
3
|
+
AP_WETH_TOKEN,
|
|
4
|
+
AssetsMap,
|
|
5
|
+
NATIVE_ADDRESS,
|
|
6
|
+
NO_VERSION
|
|
7
|
+
} from "../../sdk/index.js";
|
|
8
|
+
import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
|
|
9
|
+
import { BalancePrerequisite } from "./BalancePrerequisite.js";
|
|
10
|
+
import { allowanceAndBalance } from "./helpers.js";
|
|
11
|
+
async function buildCollateralPrerequisites(spenderOptions, multicall, ctx) {
|
|
12
|
+
const { sdk, wallet, value = 0n } = ctx;
|
|
13
|
+
const required = new AssetsMap();
|
|
14
|
+
for (const op of multicall) {
|
|
15
|
+
if (op.operation !== "AddCollateral" || op.amount === 0n) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
required.inc(op.token, op.amount);
|
|
19
|
+
}
|
|
20
|
+
if (required.size === 0 && value === 0n) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const prereqs = [];
|
|
24
|
+
if (value > 0n) {
|
|
25
|
+
prereqs.push(
|
|
26
|
+
new BalancePrerequisite({
|
|
27
|
+
token: NATIVE_ADDRESS,
|
|
28
|
+
owner: wallet,
|
|
29
|
+
required: value
|
|
30
|
+
})
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
if (required.size === 0) {
|
|
34
|
+
return prereqs;
|
|
35
|
+
}
|
|
36
|
+
const spender = await sdk.accounts.getApprovalAddress(spenderOptions);
|
|
37
|
+
const weth = sdk.addressProvider.getAddress(AP_WETH_TOKEN, NO_VERSION);
|
|
38
|
+
for (const [token, amount] of required.entries()) {
|
|
39
|
+
if (value > 0n && isAddressEqual(token, weth)) {
|
|
40
|
+
prereqs.push(
|
|
41
|
+
new AllowancePrerequisite({
|
|
42
|
+
token,
|
|
43
|
+
owner: wallet,
|
|
44
|
+
spender,
|
|
45
|
+
required: amount
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
if (amount > value) {
|
|
49
|
+
prereqs.push(
|
|
50
|
+
new BalancePrerequisite({
|
|
51
|
+
token,
|
|
52
|
+
owner: wallet,
|
|
53
|
+
required: amount - value
|
|
54
|
+
})
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
prereqs.push(
|
|
60
|
+
...allowanceAndBalance({
|
|
61
|
+
token,
|
|
62
|
+
owner: wallet,
|
|
63
|
+
spender,
|
|
64
|
+
required: amount
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return prereqs;
|
|
69
|
+
}
|
|
70
|
+
export {
|
|
71
|
+
buildCollateralPrerequisites
|
|
72
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { allowanceAndBalance } from "./helpers.js";
|
|
2
|
+
function buildPartialLiquidationPrerequisites(tx, ctx) {
|
|
3
|
+
if (tx.repaidAmount === 0n) {
|
|
4
|
+
return [];
|
|
5
|
+
}
|
|
6
|
+
const suite = ctx.sdk.marketRegister.findByCreditManager(tx.creditManager);
|
|
7
|
+
return allowanceAndBalance({
|
|
8
|
+
token: suite.underlying,
|
|
9
|
+
owner: ctx.wallet,
|
|
10
|
+
spender: tx.creditManager,
|
|
11
|
+
required: tx.repaidAmount
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
buildPartialLiquidationPrerequisites
|
|
16
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { isAddressEqual } from "viem";
|
|
2
|
+
import { NATIVE_ADDRESS } from "../../sdk/index.js";
|
|
3
|
+
import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
|
|
4
|
+
import { BalancePrerequisite } from "./BalancePrerequisite.js";
|
|
5
|
+
import { allowanceAndBalance } from "./helpers.js";
|
|
6
|
+
function buildPoolPrerequisites(tx, wallet) {
|
|
7
|
+
switch (tx.operation) {
|
|
8
|
+
// Deposit and Mint both pull the underlying from the caller into the pool;
|
|
9
|
+
// they only differ in which side (assets vs shares) the caller specifies.
|
|
10
|
+
// The exact underlying amount for Mint is resolved by the pool, so we can
|
|
11
|
+
// only require an allowance/balance against the known specified amount —
|
|
12
|
+
// here we approximate Mint by its shares amount (a lower bound on assets is
|
|
13
|
+
// not knowable from calldata alone).
|
|
14
|
+
case "Deposit":
|
|
15
|
+
if (tx.zapper) {
|
|
16
|
+
if (isAddressEqual(tx.tokenIn, NATIVE_ADDRESS)) {
|
|
17
|
+
return [
|
|
18
|
+
new BalancePrerequisite({
|
|
19
|
+
token: tx.tokenIn,
|
|
20
|
+
owner: wallet,
|
|
21
|
+
required: tx.assets
|
|
22
|
+
})
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
return allowanceAndBalance({
|
|
26
|
+
token: tx.tokenIn,
|
|
27
|
+
owner: wallet,
|
|
28
|
+
spender: tx.zapper,
|
|
29
|
+
required: tx.assets
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return allowanceAndBalance({
|
|
33
|
+
token: tx.underlying,
|
|
34
|
+
owner: wallet,
|
|
35
|
+
spender: tx.pool,
|
|
36
|
+
required: tx.assets
|
|
37
|
+
});
|
|
38
|
+
case "Mint":
|
|
39
|
+
return allowanceAndBalance({
|
|
40
|
+
token: tx.underlying,
|
|
41
|
+
owner: wallet,
|
|
42
|
+
spender: tx.pool,
|
|
43
|
+
required: tx.shares
|
|
44
|
+
});
|
|
45
|
+
// Redeem and Withdraw both burn LP shares from `owner`; they only differ in
|
|
46
|
+
// which side (shares vs assets) the caller specifies.
|
|
47
|
+
case "Redeem":
|
|
48
|
+
if (tx.zapper) {
|
|
49
|
+
return [
|
|
50
|
+
new BalancePrerequisite({
|
|
51
|
+
token: tx.tokenIn,
|
|
52
|
+
owner: wallet,
|
|
53
|
+
required: tx.shares
|
|
54
|
+
}),
|
|
55
|
+
new AllowancePrerequisite({
|
|
56
|
+
token: tx.tokenIn,
|
|
57
|
+
owner: wallet,
|
|
58
|
+
spender: tx.zapper,
|
|
59
|
+
required: tx.shares
|
|
60
|
+
})
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
return lpSharePrerequisites(tx.pool, tx.owner, tx.shares, wallet);
|
|
64
|
+
case "Withdraw":
|
|
65
|
+
return lpSharePrerequisites(tx.pool, tx.owner, tx.assets, wallet);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function lpSharePrerequisites(pool, owner, required, wallet) {
|
|
69
|
+
const prereqs = [
|
|
70
|
+
new BalancePrerequisite({
|
|
71
|
+
token: pool,
|
|
72
|
+
owner,
|
|
73
|
+
required
|
|
74
|
+
})
|
|
75
|
+
];
|
|
76
|
+
if (!isAddressEqual(owner, wallet)) {
|
|
77
|
+
prereqs.push(
|
|
78
|
+
new AllowancePrerequisite({
|
|
79
|
+
token: pool,
|
|
80
|
+
owner,
|
|
81
|
+
spender: wallet,
|
|
82
|
+
required
|
|
83
|
+
})
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
return prereqs;
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
buildPoolPrerequisites
|
|
90
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AddressSet } from "../../sdk/index.js";
|
|
2
|
+
import { RWAOpenRequirementsPrerequisite } from "./RWAOpenRequirementsPrerequisite.js";
|
|
3
|
+
function buildRWAPrerequisites(multicall, creditManager, providedArgs, ctx) {
|
|
4
|
+
const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(creditManager);
|
|
5
|
+
if (!rwaFactory) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const rwaTokens = new AddressSet(rwaFactory.getTokens());
|
|
9
|
+
const candidates = new AddressSet();
|
|
10
|
+
for (const op of multicall) {
|
|
11
|
+
if (op.operation === "AddCollateral" || op.operation === "UpdateQuota") {
|
|
12
|
+
candidates.add(op.token);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const prereqs = [];
|
|
16
|
+
for (const token of candidates) {
|
|
17
|
+
if (!rwaTokens.has(token)) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
prereqs.push(
|
|
21
|
+
new RWAOpenRequirementsPrerequisite(
|
|
22
|
+
{
|
|
23
|
+
token,
|
|
24
|
+
creditManager,
|
|
25
|
+
factory: rwaFactory.address
|
|
26
|
+
},
|
|
27
|
+
providedArgs
|
|
28
|
+
)
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
return prereqs;
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
buildRWAPrerequisites
|
|
35
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { parseOperationCalldata } from "../parse/index.js";
|
|
2
|
+
import { buildCollateralPrerequisites } from "./buildCollateralPrerequisites.js";
|
|
3
|
+
import { buildPartialLiquidationPrerequisites } from "./buildPartialLiquidationPrerequisites.js";
|
|
4
|
+
import { buildPoolPrerequisites } from "./buildPoolPrerequisites.js";
|
|
5
|
+
import { buildRWAPrerequisites } from "./buildRWAPrerequisites.js";
|
|
6
|
+
async function checkPrerequisites(input, options) {
|
|
7
|
+
const { sdk, sender: wallet } = input;
|
|
8
|
+
const tx = parseOperationCalldata(input);
|
|
9
|
+
const ctx = {
|
|
10
|
+
sdk,
|
|
11
|
+
wallet,
|
|
12
|
+
blockNumber: options?.blockNumber,
|
|
13
|
+
value: input.value ?? 0n
|
|
14
|
+
};
|
|
15
|
+
const prereqs = await buildPrerequisites(tx, ctx);
|
|
16
|
+
return Promise.all(prereqs.map((p) => p.verify(ctx)));
|
|
17
|
+
}
|
|
18
|
+
async function buildPrerequisites(tx, ctx) {
|
|
19
|
+
const { wallet } = ctx;
|
|
20
|
+
switch (tx.operation) {
|
|
21
|
+
case "Deposit":
|
|
22
|
+
case "Mint":
|
|
23
|
+
case "Redeem":
|
|
24
|
+
case "Withdraw":
|
|
25
|
+
return buildPoolPrerequisites(tx, wallet);
|
|
26
|
+
case "MultiCall":
|
|
27
|
+
case "BotMulticall":
|
|
28
|
+
case "OpenCreditAccount":
|
|
29
|
+
case "CloseCreditAccount":
|
|
30
|
+
case "LiquidateCreditAccount":
|
|
31
|
+
return buildCollateralPrerequisites(
|
|
32
|
+
tx.operation === "OpenCreditAccount" ? { creditManager: tx.creditManager, borrower: wallet } : {
|
|
33
|
+
creditManager: tx.creditManager,
|
|
34
|
+
creditAccount: tx.creditAccount
|
|
35
|
+
},
|
|
36
|
+
tx.multicall,
|
|
37
|
+
ctx
|
|
38
|
+
);
|
|
39
|
+
case "RWAOpenCreditAccount":
|
|
40
|
+
return [
|
|
41
|
+
...await buildCollateralPrerequisites(
|
|
42
|
+
{ creditManager: tx.creditManager, borrower: wallet },
|
|
43
|
+
tx.multicall,
|
|
44
|
+
ctx
|
|
45
|
+
),
|
|
46
|
+
...buildRWAPrerequisites(tx.multicall, tx.creditManager, tx.args, ctx)
|
|
47
|
+
];
|
|
48
|
+
case "RWAMulticall":
|
|
49
|
+
return buildCollateralPrerequisites(
|
|
50
|
+
{ creditManager: tx.creditManager, creditAccount: tx.creditAccount },
|
|
51
|
+
tx.multicall,
|
|
52
|
+
ctx
|
|
53
|
+
);
|
|
54
|
+
case "PartiallyLiquidateCreditAccount":
|
|
55
|
+
return buildPartialLiquidationPrerequisites(tx, ctx);
|
|
56
|
+
default:
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
checkPrerequisites
|
|
62
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AllowancePrerequisite
|
|
3
|
+
} from "./AllowancePrerequisite.js";
|
|
4
|
+
import { BalancePrerequisite } from "./BalancePrerequisite.js";
|
|
5
|
+
function allowanceAndBalance(props) {
|
|
6
|
+
const { token, owner, spender, required } = props;
|
|
7
|
+
return [
|
|
8
|
+
new AllowancePrerequisite({ token, owner, spender, required }),
|
|
9
|
+
new BalancePrerequisite({ token, owner, required })
|
|
10
|
+
];
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
allowanceAndBalance
|
|
14
|
+
};
|
|
@@ -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";
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { zeroAddress } from "viem";
|
|
2
|
+
import {
|
|
3
|
+
AssetsMap,
|
|
4
|
+
MIN_INT96
|
|
5
|
+
} from "../../sdk/index.js";
|
|
6
|
+
class CreditAccountState {
|
|
7
|
+
creditAccount;
|
|
8
|
+
creditManager;
|
|
9
|
+
/**
|
|
10
|
+
* Credit manager underlying
|
|
11
|
+
*/
|
|
12
|
+
underlying;
|
|
13
|
+
/**
|
|
14
|
+
* Per-token balances
|
|
15
|
+
*/
|
|
16
|
+
balances;
|
|
17
|
+
/**
|
|
18
|
+
* Per-token quotas
|
|
19
|
+
*/
|
|
20
|
+
quotas;
|
|
21
|
+
/**
|
|
22
|
+
* Debt principal
|
|
23
|
+
*/
|
|
24
|
+
debt;
|
|
25
|
+
/**
|
|
26
|
+
* Total debt: principal + accrued interest + accrued fees.
|
|
27
|
+
* `decreaseDebt` amounts operate on total debt (interest and fees are
|
|
28
|
+
* repaid before principal), so principal alone is not enough to resolve
|
|
29
|
+
* either the underlying balance decrement or the final principal.
|
|
30
|
+
*/
|
|
31
|
+
totalDebt;
|
|
32
|
+
constructor(props) {
|
|
33
|
+
this.creditAccount = props.creditAccount;
|
|
34
|
+
this.creditManager = props.creditManager;
|
|
35
|
+
this.underlying = props.underlying;
|
|
36
|
+
this.balances = props.balances ?? new AssetsMap();
|
|
37
|
+
this.quotas = props.quotas ?? new AssetsMap();
|
|
38
|
+
this.debt = props.debt ?? 0n;
|
|
39
|
+
this.totalDebt = props.totalDebt ?? 0n;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The account-opening seed: everything zero/empty. The account doesn't
|
|
43
|
+
* exist yet at preview time, so `creditAccount` is the zero address;
|
|
44
|
+
* opening previews take identity from the parsed operation instead.
|
|
45
|
+
*/
|
|
46
|
+
static beforeOpen(creditManager, underlying) {
|
|
47
|
+
return new CreditAccountState({
|
|
48
|
+
creditAccount: zeroAddress,
|
|
49
|
+
creditManager,
|
|
50
|
+
underlying
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Pre-state of an existing account from its on-chain data, with dust
|
|
55
|
+
* balances and quotas (≤ 1 wei) filtered out.
|
|
56
|
+
*/
|
|
57
|
+
static fromCreditAccountData(ca) {
|
|
58
|
+
const balances = new AssetsMap();
|
|
59
|
+
const quotas = new AssetsMap();
|
|
60
|
+
for (const t of ca.tokens) {
|
|
61
|
+
if (t.balance > 1n) {
|
|
62
|
+
balances.upsert(t.token, t.balance);
|
|
63
|
+
}
|
|
64
|
+
if (t.quota > 1n) {
|
|
65
|
+
quotas.upsert(t.token, t.quota);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return new CreditAccountState({
|
|
69
|
+
creditAccount: ca.creditAccount,
|
|
70
|
+
creditManager: ca.creditManager,
|
|
71
|
+
underlying: ca.underlying,
|
|
72
|
+
balances,
|
|
73
|
+
quotas,
|
|
74
|
+
debt: ca.debt,
|
|
75
|
+
totalDebt: ca.debt + ca.accruedInterest + ca.accruedFees
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
clone() {
|
|
79
|
+
return new CreditAccountState({
|
|
80
|
+
creditAccount: this.creditAccount,
|
|
81
|
+
creditManager: this.creditManager,
|
|
82
|
+
underlying: this.underlying,
|
|
83
|
+
balances: this.balances.clone(),
|
|
84
|
+
quotas: this.quotas.clone(),
|
|
85
|
+
debt: this.debt,
|
|
86
|
+
totalDebt: this.totalDebt
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Borrows `amount` of underlying: debt, total debt and the underlying
|
|
91
|
+
* balance all increase by it.
|
|
92
|
+
*/
|
|
93
|
+
increaseDebt(amount) {
|
|
94
|
+
this.debt += amount;
|
|
95
|
+
this.totalDebt += amount;
|
|
96
|
+
this.balances.inc(this.underlying, amount);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Repays up to `amount` of underlying against the debt, clamped to the
|
|
100
|
+
* total debt (the facade never repays more than is owed). Interest and
|
|
101
|
+
* fees are repaid before principal (CreditLogic.calcDecrease), so
|
|
102
|
+
* principal only decreases once total debt drops below it. The underlying
|
|
103
|
+
* balance decreases by the repaid amount.
|
|
104
|
+
*
|
|
105
|
+
* @returns The actually repaid (post-clamp) amount.
|
|
106
|
+
*/
|
|
107
|
+
repay(amount) {
|
|
108
|
+
const repaid = amount > this.totalDebt ? this.totalDebt : amount;
|
|
109
|
+
this.balances.dec(this.underlying, repaid);
|
|
110
|
+
this.totalDebt -= repaid;
|
|
111
|
+
if (this.debt > this.totalDebt) {
|
|
112
|
+
this.debt = this.totalDebt;
|
|
113
|
+
}
|
|
114
|
+
return repaid;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Applies a relative `updateQuota` change to the token's quota:
|
|
118
|
+
* `MIN_INT96` is the facade "disable quota" sentinel and zeroes it, other
|
|
119
|
+
* changes are added with the result clamped at zero (quotas cannot go
|
|
120
|
+
* negative on-chain).
|
|
121
|
+
*/
|
|
122
|
+
updateQuota(token, change) {
|
|
123
|
+
if (change === MIN_INT96) {
|
|
124
|
+
this.quotas.upsert(token, 0n);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const next = this.quotas.getOrZero(token) + change;
|
|
128
|
+
this.quotas.upsert(token, next > 0n ? next : 0n);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
export {
|
|
132
|
+
CreditAccountState
|
|
133
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { decodeFunctionData } from "viem";
|
|
2
|
+
import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
|
|
3
|
+
function resolveWrapUnwrap(adapter, calldata, balances) {
|
|
4
|
+
const decoded = decodeFunctionData({
|
|
5
|
+
abi: ierc4626AdapterAbi,
|
|
6
|
+
data: calldata
|
|
7
|
+
});
|
|
8
|
+
const { asset, share } = adapter;
|
|
9
|
+
switch (decoded.functionName) {
|
|
10
|
+
case "deposit":
|
|
11
|
+
return { tokenIn: asset, tokenOut: share, amountIn: decoded.args[0] };
|
|
12
|
+
case "depositDiff": {
|
|
13
|
+
const [leftoverAmount] = decoded.args;
|
|
14
|
+
const running = balances.getOrZero(asset);
|
|
15
|
+
return {
|
|
16
|
+
tokenIn: asset,
|
|
17
|
+
tokenOut: share,
|
|
18
|
+
amountIn: running > leftoverAmount ? running - leftoverAmount : 0n
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
case "redeem":
|
|
22
|
+
return { tokenIn: share, tokenOut: asset, amountIn: decoded.args[0] };
|
|
23
|
+
case "redeemDiff": {
|
|
24
|
+
const [leftoverAmount] = decoded.args;
|
|
25
|
+
const running = balances.getOrZero(share);
|
|
26
|
+
return {
|
|
27
|
+
tokenIn: share,
|
|
28
|
+
tokenOut: asset,
|
|
29
|
+
amountIn: running > leftoverAmount ? running - leftoverAmount : 0n
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
default:
|
|
33
|
+
return void 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function applyRWAWrapUnwrap(adapter, calldata, balances) {
|
|
37
|
+
const resolved = resolveWrapUnwrap(adapter, calldata, balances);
|
|
38
|
+
if (!resolved) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const { tokenIn, tokenOut, amountIn } = resolved;
|
|
42
|
+
if (amountIn === 0n) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
balances.dec(tokenIn, amountIn);
|
|
46
|
+
balances.inc(tokenOut, amountIn);
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
applyRWAWrapUnwrap
|
|
50
|
+
};
|