@gearbox-protocol/sdk 14.12.0-next.3 → 14.12.0-next.31
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 +146 -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 +125 -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 +42 -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
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { isAddressEqual } from "viem";
|
|
2
|
+
import { BaseContract } from "../../base/index.js";
|
|
3
|
+
import { decodeDelayedIntent, encodeDelayedIntent } from "./intent-codec.js";
|
|
4
|
+
const iCreditAccountAbi = [
|
|
5
|
+
{
|
|
6
|
+
type: "function",
|
|
7
|
+
name: "creditManager",
|
|
8
|
+
inputs: [],
|
|
9
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
10
|
+
stateMutability: "view"
|
|
11
|
+
}
|
|
12
|
+
];
|
|
13
|
+
class AbstractWithdrawalCompressorContract extends BaseContract {
|
|
14
|
+
#sdk;
|
|
15
|
+
constructor(sdk, args) {
|
|
16
|
+
super(sdk, args);
|
|
17
|
+
this.#sdk = sdk;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The contract is instantiated with the actual versioned ABI,
|
|
21
|
+
* this cast is type-level only (see {@link CommonAbi}).
|
|
22
|
+
**/
|
|
23
|
+
get common() {
|
|
24
|
+
return this.contract;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssets}
|
|
28
|
+
**/
|
|
29
|
+
async getWithdrawableAssets(creditManager) {
|
|
30
|
+
const resp = await this.common.read.getWithdrawableAssets([creditManager]);
|
|
31
|
+
return resp.map((a) => toWithdrawableAsset(a, creditManager));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssetsBatch}
|
|
35
|
+
**/
|
|
36
|
+
async getWithdrawableAssetsBatch(creditManagers) {
|
|
37
|
+
const cms = creditManagers ?? this.#sdk.marketRegister.creditManagers.map(
|
|
38
|
+
(cm) => cm.creditManager.address
|
|
39
|
+
);
|
|
40
|
+
const resp = await this.client.multicall({
|
|
41
|
+
contracts: cms.map(
|
|
42
|
+
(cm) => ({
|
|
43
|
+
address: this.address,
|
|
44
|
+
abi: this.abi,
|
|
45
|
+
functionName: "getWithdrawableAssets",
|
|
46
|
+
args: [cm]
|
|
47
|
+
})
|
|
48
|
+
),
|
|
49
|
+
allowFailure: true,
|
|
50
|
+
batchSize: 0
|
|
51
|
+
});
|
|
52
|
+
return resp.flatMap((r, i) => {
|
|
53
|
+
if (r.status !== "success") {
|
|
54
|
+
this.logger?.warn(
|
|
55
|
+
`failed to get withdrawable assets of credit manager ${cms[i]}: ${r.error}`
|
|
56
|
+
);
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
return r.result.map((a) => toWithdrawableAsset(a, cms[i]));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* {@inheritDoc IWithdrawalCompressorContract.getWithdrawalPhantomToken}
|
|
64
|
+
**/
|
|
65
|
+
async getWithdrawalPhantomToken(creditManager, token) {
|
|
66
|
+
const assets = await this.getWithdrawableAssets(creditManager);
|
|
67
|
+
const asset = assets.find((a) => isAddressEqual(a.token, token));
|
|
68
|
+
if (!asset) {
|
|
69
|
+
throw new Error(
|
|
70
|
+
`token ${token} is not withdrawable from credit manager ${creditManager}`
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
return asset.withdrawalPhantomToken;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* {@inheritDoc IWithdrawalCompressorContract.getCurrentWithdrawals}
|
|
77
|
+
**/
|
|
78
|
+
async getCurrentWithdrawals(creditAccount) {
|
|
79
|
+
const [[claimable, pending], creditManager] = await this.client.multicall({
|
|
80
|
+
contracts: [
|
|
81
|
+
{
|
|
82
|
+
address: this.address,
|
|
83
|
+
abi: this.abi,
|
|
84
|
+
functionName: "getCurrentWithdrawals",
|
|
85
|
+
args: [creditAccount]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
address: creditAccount,
|
|
89
|
+
abi: iCreditAccountAbi,
|
|
90
|
+
functionName: "creditManager"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
allowFailure: false,
|
|
94
|
+
batchSize: 0
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
claimable: claimable.map(
|
|
98
|
+
(w) => toClaimableWithdrawal(w, creditManager, this.version >= 313)
|
|
99
|
+
),
|
|
100
|
+
pending: pending.map((w) => toPendingWithdrawal(w, creditManager, this.version >= 313)).sort((a, b) => a.claimableAt < b.claimableAt ? -1 : 1)
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* {@inheritDoc IWithdrawalCompressorContract.getWithdrawalRequestResult}
|
|
105
|
+
**/
|
|
106
|
+
async getWithdrawalRequestResult(creditAccount, token, amount, intent) {
|
|
107
|
+
const resp = intent ? await this.#getWithdrawalRequestResultWithIntent(
|
|
108
|
+
creditAccount,
|
|
109
|
+
token,
|
|
110
|
+
amount,
|
|
111
|
+
intent
|
|
112
|
+
) : await this.common.read.getWithdrawalRequestResult([
|
|
113
|
+
creditAccount,
|
|
114
|
+
token,
|
|
115
|
+
amount
|
|
116
|
+
]);
|
|
117
|
+
return {
|
|
118
|
+
token: resp.token,
|
|
119
|
+
amountIn: resp.amountIn,
|
|
120
|
+
outputs: [...resp.outputs],
|
|
121
|
+
requestCalls: [...resp.requestCalls],
|
|
122
|
+
claimableAt: resp.claimableAt
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Previews a delayed withdrawal request with an intent attached as
|
|
127
|
+
* `extraData`. Only supported on v313+ compressors; on older versions,
|
|
128
|
+
* throws if `sdk.strictContractTypes` is `true`, otherwise logs a warning
|
|
129
|
+
* and previews the request without the intent.
|
|
130
|
+
*
|
|
131
|
+
* The contract overload accepting `extraData` also requires the withdrawal
|
|
132
|
+
* phantom token, which is resolved here the same way the 3-arg overload
|
|
133
|
+
* does it internally: via `getWithdrawableAssets` of the account's credit
|
|
134
|
+
* manager.
|
|
135
|
+
**/
|
|
136
|
+
async #getWithdrawalRequestResultWithIntent(creditAccount, token, amount, intent) {
|
|
137
|
+
if (this.version < 313) {
|
|
138
|
+
const message = `withdrawal intents are not supported by ${this.name} v${this.version}`;
|
|
139
|
+
if (this.#sdk.strictContractTypes) {
|
|
140
|
+
throw new Error(message);
|
|
141
|
+
}
|
|
142
|
+
this.logger?.warn(`${message}, requesting withdrawal without intent`);
|
|
143
|
+
return this.common.read.getWithdrawalRequestResult([
|
|
144
|
+
creditAccount,
|
|
145
|
+
token,
|
|
146
|
+
amount
|
|
147
|
+
]);
|
|
148
|
+
}
|
|
149
|
+
const extraData = encodeDelayedIntent(intent);
|
|
150
|
+
const creditManager = await this.client.readContract({
|
|
151
|
+
address: creditAccount,
|
|
152
|
+
abi: iCreditAccountAbi,
|
|
153
|
+
functionName: "creditManager"
|
|
154
|
+
});
|
|
155
|
+
const withdrawalPhantomToken = await this.getWithdrawalPhantomToken(
|
|
156
|
+
creditManager,
|
|
157
|
+
token
|
|
158
|
+
);
|
|
159
|
+
return this.common.read.getWithdrawalRequestResult([
|
|
160
|
+
creditAccount,
|
|
161
|
+
token,
|
|
162
|
+
withdrawalPhantomToken,
|
|
163
|
+
amount,
|
|
164
|
+
extraData
|
|
165
|
+
]);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function toWithdrawableAsset(a, creditManager) {
|
|
169
|
+
return { creditManager, ...a };
|
|
170
|
+
}
|
|
171
|
+
function toClaimableWithdrawal(w, creditManager, decodeIntent) {
|
|
172
|
+
let intent;
|
|
173
|
+
if (decodeIntent && w.extraData && w.extraData !== "0x") {
|
|
174
|
+
intent = { ...decodeDelayedIntent(w.extraData), creditManager };
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
token: w.token,
|
|
178
|
+
withdrawalPhantomToken: w.withdrawalPhantomToken,
|
|
179
|
+
withdrawalTokenSpent: w.withdrawalTokenSpent,
|
|
180
|
+
outputs: [...w.outputs],
|
|
181
|
+
claimCalls: [...w.claimCalls],
|
|
182
|
+
intent
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
function toPendingWithdrawal(w, creditManager, decodeIntent) {
|
|
186
|
+
let intent;
|
|
187
|
+
if (decodeIntent && w.extraData && w.extraData !== "0x") {
|
|
188
|
+
intent = { ...decodeDelayedIntent(w.extraData), creditManager };
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
token: w.token,
|
|
192
|
+
withdrawalPhantomToken: w.withdrawalPhantomToken,
|
|
193
|
+
expectedOutputs: [...w.expectedOutputs],
|
|
194
|
+
claimableAt: w.claimableAt,
|
|
195
|
+
intent
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
export {
|
|
199
|
+
AbstractWithdrawalCompressorContract
|
|
200
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { iWithdrawalCompressorV310Abi } from "../../../abi/IWithdrawalCompressorV310.js";
|
|
2
|
+
import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
|
|
3
|
+
const abi = iWithdrawalCompressorV310Abi;
|
|
4
|
+
class WithdrawalCompressorV310Contract extends AbstractWithdrawalCompressorContract {
|
|
5
|
+
constructor(sdk, address) {
|
|
6
|
+
super(sdk, {
|
|
7
|
+
addr: address,
|
|
8
|
+
name: "WithdrawalCompressorV310",
|
|
9
|
+
abi,
|
|
10
|
+
version: 310
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
WithdrawalCompressorV310Contract
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { iWithdrawalCompressorV311Abi } from "../../../abi/IWithdrawalCompressorV311.js";
|
|
2
|
+
import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
|
|
3
|
+
const abi = iWithdrawalCompressorV311Abi;
|
|
4
|
+
class WithdrawalCompressorV311Contract extends AbstractWithdrawalCompressorContract {
|
|
5
|
+
constructor(sdk, address) {
|
|
6
|
+
super(sdk, {
|
|
7
|
+
addr: address,
|
|
8
|
+
name: "WithdrawalCompressorV311",
|
|
9
|
+
abi,
|
|
10
|
+
version: 311
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
WithdrawalCompressorV311Contract
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
|
|
2
|
+
import { AbstractWithdrawalCompressorContract } from "./AbstractWithdrawalCompressorContract.js";
|
|
3
|
+
const abi = iWithdrawalCompressorV313Abi;
|
|
4
|
+
class WithdrawalCompressorV313Contract extends AbstractWithdrawalCompressorContract {
|
|
5
|
+
constructor(sdk, address) {
|
|
6
|
+
super(sdk, {
|
|
7
|
+
addr: address,
|
|
8
|
+
name: "WithdrawalCompressorV313",
|
|
9
|
+
abi,
|
|
10
|
+
version: 313
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
WithdrawalCompressorV313Contract
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const WITHDRAWAL_COMPRESSORS = {
|
|
2
|
+
Mainnet: {
|
|
3
|
+
address: "0x83e5AaC6590Cf9c6Dd323851a0D66fEc2Bc4F5A3",
|
|
4
|
+
version: 313
|
|
5
|
+
},
|
|
6
|
+
Monad: {
|
|
7
|
+
address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
8
|
+
version: 310
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
function getWithdrawalCompressorAddress(network) {
|
|
12
|
+
return WITHDRAWAL_COMPRESSORS[network];
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
getWithdrawalCompressorAddress
|
|
16
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getWithdrawalCompressorAddress } from "./addresses.js";
|
|
2
|
+
import { WithdrawalCompressorV310Contract } from "./WithdrawalCompressorV310Contract.js";
|
|
3
|
+
import { WithdrawalCompressorV311Contract } from "./WithdrawalCompressorV311Contract.js";
|
|
4
|
+
import { WithdrawalCompressorV313Contract } from "./WithdrawalCompressorV313Contract.js";
|
|
5
|
+
function createWithdrawalCompressor(sdk) {
|
|
6
|
+
const location = getWithdrawalCompressorAddress(sdk.networkType);
|
|
7
|
+
if (!location) {
|
|
8
|
+
throw new Error(`no withdrawal compressor on ${sdk.networkType}`);
|
|
9
|
+
}
|
|
10
|
+
const cached = sdk.getContract(
|
|
11
|
+
location.address
|
|
12
|
+
);
|
|
13
|
+
if (cached) {
|
|
14
|
+
return cached;
|
|
15
|
+
}
|
|
16
|
+
switch (location.version) {
|
|
17
|
+
case 310:
|
|
18
|
+
return new WithdrawalCompressorV310Contract(sdk, location.address);
|
|
19
|
+
case 311:
|
|
20
|
+
return new WithdrawalCompressorV311Contract(sdk, location.address);
|
|
21
|
+
case 313:
|
|
22
|
+
return new WithdrawalCompressorV313Contract(sdk, location.address);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
createWithdrawalCompressor
|
|
27
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./AbstractWithdrawalCompressorContract.js";
|
|
2
|
+
export * from "./addresses.js";
|
|
3
|
+
export * from "./createWithdrawalCompressor.js";
|
|
4
|
+
export * from "./intent-codec.js";
|
|
5
|
+
export * from "./types.js";
|
|
6
|
+
export * from "./WithdrawalCompressorV310Contract.js";
|
|
7
|
+
export * from "./WithdrawalCompressorV311Contract.js";
|
|
8
|
+
export * from "./WithdrawalCompressorV313Contract.js";
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { decodeAbiParameters, encodeAbiParameters } from "viem";
|
|
2
|
+
const DELAYED_INTENT_VERSION = 1;
|
|
3
|
+
const DELAYED_INTENT_TYPES = {
|
|
4
|
+
INCREASE_LEVERAGE: 1,
|
|
5
|
+
DEPOSIT: 2,
|
|
6
|
+
DEPOSIT_AND_INCREASE_LEVERAGE: 3,
|
|
7
|
+
WITHDRAW_COLLATERAL: 4,
|
|
8
|
+
CLOSE_ACCOUNT: 5,
|
|
9
|
+
ADD_COLLATERAL: 6,
|
|
10
|
+
DECREASE_LEVERAGE: 7
|
|
11
|
+
};
|
|
12
|
+
const HEADER_PARAMS = [
|
|
13
|
+
{ type: "uint8", name: "version" },
|
|
14
|
+
{ type: "uint8", name: "intentType" }
|
|
15
|
+
];
|
|
16
|
+
const TO_PARAMS = [...HEADER_PARAMS, { type: "address", name: "to" }];
|
|
17
|
+
const WITHDRAW_COLLATERAL_PARAMS = [
|
|
18
|
+
...TO_PARAMS,
|
|
19
|
+
{ type: "address", name: "withdrawToken" },
|
|
20
|
+
{ type: "uint256", name: "withdrawAmount" }
|
|
21
|
+
];
|
|
22
|
+
function encodeDelayedIntent(intent) {
|
|
23
|
+
const version = DELAYED_INTENT_VERSION;
|
|
24
|
+
const intentType = DELAYED_INTENT_TYPES[intent.type];
|
|
25
|
+
switch (intent.type) {
|
|
26
|
+
case "INCREASE_LEVERAGE":
|
|
27
|
+
case "CLOSE_ACCOUNT":
|
|
28
|
+
return encodeAbiParameters(TO_PARAMS, [version, intentType, intent.to]);
|
|
29
|
+
case "WITHDRAW_COLLATERAL":
|
|
30
|
+
return encodeAbiParameters(WITHDRAW_COLLATERAL_PARAMS, [
|
|
31
|
+
version,
|
|
32
|
+
intentType,
|
|
33
|
+
intent.to,
|
|
34
|
+
intent.withdrawToken,
|
|
35
|
+
intent.withdrawAmount
|
|
36
|
+
]);
|
|
37
|
+
case "DEPOSIT":
|
|
38
|
+
case "DEPOSIT_AND_INCREASE_LEVERAGE":
|
|
39
|
+
case "ADD_COLLATERAL":
|
|
40
|
+
case "DECREASE_LEVERAGE":
|
|
41
|
+
return encodeAbiParameters(HEADER_PARAMS, [version, intentType]);
|
|
42
|
+
default: {
|
|
43
|
+
const t = intent;
|
|
44
|
+
throw new Error(`unknown delayed intent: ${JSON.stringify(t)}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function decodeDelayedIntent(data) {
|
|
49
|
+
const [version, intentType] = decodeAbiParameters(HEADER_PARAMS, data);
|
|
50
|
+
if (version !== DELAYED_INTENT_VERSION) {
|
|
51
|
+
throw new Error(`unsupported delayed intent version: ${version}`);
|
|
52
|
+
}
|
|
53
|
+
switch (intentType) {
|
|
54
|
+
case DELAYED_INTENT_TYPES.INCREASE_LEVERAGE: {
|
|
55
|
+
const [, , to] = decodeAbiParameters(TO_PARAMS, data);
|
|
56
|
+
return { type: "INCREASE_LEVERAGE", to };
|
|
57
|
+
}
|
|
58
|
+
case DELAYED_INTENT_TYPES.DEPOSIT:
|
|
59
|
+
return { type: "DEPOSIT" };
|
|
60
|
+
case DELAYED_INTENT_TYPES.DEPOSIT_AND_INCREASE_LEVERAGE:
|
|
61
|
+
return { type: "DEPOSIT_AND_INCREASE_LEVERAGE" };
|
|
62
|
+
case DELAYED_INTENT_TYPES.WITHDRAW_COLLATERAL: {
|
|
63
|
+
const [, , to, withdrawToken, withdrawAmount] = decodeAbiParameters(
|
|
64
|
+
WITHDRAW_COLLATERAL_PARAMS,
|
|
65
|
+
data
|
|
66
|
+
);
|
|
67
|
+
return {
|
|
68
|
+
type: "WITHDRAW_COLLATERAL",
|
|
69
|
+
to,
|
|
70
|
+
withdrawToken,
|
|
71
|
+
withdrawAmount
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
case DELAYED_INTENT_TYPES.CLOSE_ACCOUNT: {
|
|
75
|
+
const [, , to] = decodeAbiParameters(TO_PARAMS, data);
|
|
76
|
+
return { type: "CLOSE_ACCOUNT", to };
|
|
77
|
+
}
|
|
78
|
+
case DELAYED_INTENT_TYPES.ADD_COLLATERAL:
|
|
79
|
+
return { type: "ADD_COLLATERAL" };
|
|
80
|
+
case DELAYED_INTENT_TYPES.DECREASE_LEVERAGE:
|
|
81
|
+
return { type: "DECREASE_LEVERAGE" };
|
|
82
|
+
default:
|
|
83
|
+
throw new Error(`unknown delayed intent type: ${intentType}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
DELAYED_INTENT_TYPES,
|
|
88
|
+
DELAYED_INTENT_VERSION,
|
|
89
|
+
decodeDelayedIntent,
|
|
90
|
+
encodeDelayedIntent
|
|
91
|
+
};
|
|
File without changes
|
|
@@ -234,6 +234,7 @@ class BaseContract extends Construct {
|
|
|
234
234
|
const functionName = getFunctionSignature(this.abi, calldata);
|
|
235
235
|
return this.wrapParseCallV2(
|
|
236
236
|
functionName,
|
|
237
|
+
calldata,
|
|
237
238
|
this.parseFunctionParamsV2(decoded, strict)
|
|
238
239
|
);
|
|
239
240
|
} catch (e) {
|
|
@@ -247,7 +248,7 @@ class BaseContract extends Construct {
|
|
|
247
248
|
this.logger?.warn(e);
|
|
248
249
|
const selector = calldata.slice(0, 10);
|
|
249
250
|
const data = `0x${calldata.slice(10)}`;
|
|
250
|
-
return this.wrapParseCallV2(`unknown function ${selector}`, {
|
|
251
|
+
return this.wrapParseCallV2(`unknown function ${selector}`, calldata, {
|
|
251
252
|
_data: data
|
|
252
253
|
});
|
|
253
254
|
}
|
|
@@ -260,7 +261,7 @@ class BaseContract extends Construct {
|
|
|
260
261
|
parseFunctionParamsV2(params, _strict) {
|
|
261
262
|
return functionArgsToRecord(this.abi, params.functionName, params.args);
|
|
262
263
|
}
|
|
263
|
-
wrapParseCallV2(functionName, rawArgs) {
|
|
264
|
+
wrapParseCallV2(functionName, calldata, rawArgs) {
|
|
264
265
|
return {
|
|
265
266
|
chainId: this.chainId,
|
|
266
267
|
target: this.address,
|
|
@@ -268,6 +269,7 @@ class BaseContract extends Construct {
|
|
|
268
269
|
label: this.labelAddress(this.address, true),
|
|
269
270
|
version: this.version,
|
|
270
271
|
functionName,
|
|
272
|
+
calldata,
|
|
271
273
|
rawArgs
|
|
272
274
|
};
|
|
273
275
|
}
|
|
@@ -54,17 +54,21 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
54
54
|
parseFunctionParamsV2(params, strict) {
|
|
55
55
|
switch (params.functionName) {
|
|
56
56
|
case "openCreditAccount": {
|
|
57
|
-
const [creditManager, calls] = params.args;
|
|
57
|
+
const [creditManager, calls, tokensToRegister, signaturesToCache] = params.args;
|
|
58
58
|
return {
|
|
59
59
|
creditManager,
|
|
60
|
-
calls: this.register.parseMultiCallV2([...calls], strict)
|
|
60
|
+
calls: this.register.parseMultiCallV2([...calls], strict),
|
|
61
|
+
tokensToRegister,
|
|
62
|
+
signaturesToCache
|
|
61
63
|
};
|
|
62
64
|
}
|
|
63
65
|
case "multicall": {
|
|
64
|
-
const [creditAccount, calls] = params.args;
|
|
66
|
+
const [creditAccount, calls, tokensToRegister, signaturesToCache] = params.args;
|
|
65
67
|
return {
|
|
66
68
|
creditAccount,
|
|
67
|
-
calls: this.register.parseMultiCallV2([...calls], strict)
|
|
69
|
+
calls: this.register.parseMultiCallV2([...calls], strict),
|
|
70
|
+
tokensToRegister,
|
|
71
|
+
signaturesToCache
|
|
68
72
|
};
|
|
69
73
|
}
|
|
70
74
|
default:
|
|
@@ -126,6 +130,12 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
126
130
|
})
|
|
127
131
|
};
|
|
128
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* {@inheritDoc IRWAFactory.getTokens}
|
|
135
|
+
*/
|
|
136
|
+
getTokens() {
|
|
137
|
+
return this.dsTokens.map((t) => t.address);
|
|
138
|
+
}
|
|
129
139
|
/**
|
|
130
140
|
* {@inheritDoc IRWAFactory.getInvestor}
|
|
131
141
|
*/
|
|
@@ -160,8 +170,8 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
160
170
|
/**
|
|
161
171
|
* {@inheritDoc IRWAFactory.multicall}
|
|
162
172
|
*/
|
|
163
|
-
multicall(creditAccount, calls,
|
|
164
|
-
const { tokensToRegister = [], signaturesToCache = [] } =
|
|
173
|
+
multicall(creditAccount, calls, args) {
|
|
174
|
+
const { tokensToRegister = [], signaturesToCache = [] } = args ?? {};
|
|
165
175
|
return this.createRawTx({
|
|
166
176
|
functionName: "multicall",
|
|
167
177
|
args: [creditAccount, calls, tokensToRegister, signaturesToCache]
|
|
@@ -191,11 +201,33 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
191
201
|
requiredSignatures
|
|
192
202
|
};
|
|
193
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* {@inheritDoc IRWAFactory.getMissingRequirements}
|
|
206
|
+
*
|
|
207
|
+
* A required signature is omitted when `providedArgs.signaturesToCache`
|
|
208
|
+
* already carries a signature for the same token: the transaction caches it
|
|
209
|
+
* on-chain as part of the operation.
|
|
210
|
+
*/
|
|
211
|
+
getMissingRequirements(requirements, providedArgs) {
|
|
212
|
+
const providedTokens = new AddressSet(
|
|
213
|
+
(providedArgs?.signaturesToCache ?? []).map((s) => s.token)
|
|
214
|
+
);
|
|
215
|
+
const requiredSignatures = requirements.requiredSignatures.filter(
|
|
216
|
+
(message) => !providedTokens.has(message.message.token)
|
|
217
|
+
);
|
|
218
|
+
if (requiredSignatures.length === 0) {
|
|
219
|
+
return void 0;
|
|
220
|
+
}
|
|
221
|
+
return {
|
|
222
|
+
type: RWA_FACTORY_SECURITIZE,
|
|
223
|
+
requiredSignatures
|
|
224
|
+
};
|
|
225
|
+
}
|
|
194
226
|
/**
|
|
195
227
|
* {@inheritDoc IRWAFactory.openCreditAccount}
|
|
196
228
|
*/
|
|
197
|
-
openCreditAccount(creditManager, calls,
|
|
198
|
-
const { tokensToRegister = [], signaturesToCache = [] } =
|
|
229
|
+
openCreditAccount(creditManager, calls, args) {
|
|
230
|
+
const { tokensToRegister = [], signaturesToCache = [] } = args ?? {};
|
|
199
231
|
return this.createRawTx({
|
|
200
232
|
functionName: "openCreditAccount",
|
|
201
233
|
args: [creditManager, calls, tokensToRegister, signaturesToCache]
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { RWA_FACTORY_SECURITIZE } from "./securitize/index.js";
|
|
2
2
|
const RWA_FACTORY_TYPES = [RWA_FACTORY_SECURITIZE];
|
|
3
|
-
function isRWAFactory(
|
|
4
|
-
|
|
3
|
+
function isRWAFactory(contract, type) {
|
|
4
|
+
if (type) {
|
|
5
|
+
return contract.contractType === type;
|
|
6
|
+
}
|
|
7
|
+
return contract.contractType.startsWith("RWA_FACTORY::");
|
|
5
8
|
}
|
|
6
9
|
export {
|
|
7
10
|
RWA_FACTORY_TYPES,
|
|
@@ -32,7 +32,6 @@ class ZapperContract extends BaseContract {
|
|
|
32
32
|
const { rawArgs } = parsed;
|
|
33
33
|
const pool = this.pool;
|
|
34
34
|
const zapper = this.address;
|
|
35
|
-
const token = this.tokenIn.addr;
|
|
36
35
|
const underlying = this.sdk.marketRegister.findByPool(pool).underlying;
|
|
37
36
|
const receiver = rawArgs.receiver;
|
|
38
37
|
if (parsed.functionName.startsWith("deposit")) {
|
|
@@ -42,7 +41,6 @@ class ZapperContract extends BaseContract {
|
|
|
42
41
|
zapper,
|
|
43
42
|
receiver,
|
|
44
43
|
assets: rawArgs.tokenInAmount ?? value ?? 0n,
|
|
45
|
-
token,
|
|
46
44
|
underlying,
|
|
47
45
|
referralCode: rawArgs.referralCode
|
|
48
46
|
};
|
|
@@ -54,7 +52,6 @@ class ZapperContract extends BaseContract {
|
|
|
54
52
|
zapper,
|
|
55
53
|
receiver,
|
|
56
54
|
shares: rawArgs.tokenOutAmount,
|
|
57
|
-
token,
|
|
58
55
|
underlying
|
|
59
56
|
};
|
|
60
57
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
BaseContract
|
|
3
|
+
} from "../base/index.js";
|
|
2
4
|
import { PERCENTAGE_FACTOR } from "../constants/math.js";
|
|
3
|
-
import {
|
|
5
|
+
import { AddressSet, AssetsMap, formatBN, isDust } from "../utils/index.js";
|
|
4
6
|
import { limitLeftover } from "./helpers.js";
|
|
5
7
|
class AbstractRouterContract extends BaseContract {
|
|
6
8
|
/**
|
|
@@ -18,15 +20,15 @@ class AbstractRouterContract extends BaseContract {
|
|
|
18
20
|
options.debtOnly
|
|
19
21
|
);
|
|
20
22
|
const { leftoverBalances, expectedBalances, tokensToClaim } = b;
|
|
21
|
-
const expected = new
|
|
22
|
-
const leftover = new
|
|
23
|
+
const expected = new AssetsMap();
|
|
24
|
+
const leftover = new AssetsMap();
|
|
23
25
|
for (const token of cm.collateralTokens) {
|
|
24
|
-
const actual = expectedBalances.get(token)
|
|
25
|
-
expected.upsert(token,
|
|
26
|
-
leftover.upsert(
|
|
26
|
+
const actual = expectedBalances.get(token) || 0n;
|
|
27
|
+
expected.upsert(token, actual > 10n ? actual : 0n);
|
|
28
|
+
leftover.upsert(
|
|
27
29
|
token,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
limitLeftover(leftoverBalances.get(token) || 1n, token) ?? 1n
|
|
31
|
+
);
|
|
30
32
|
}
|
|
31
33
|
return {
|
|
32
34
|
expectedBalances: expected,
|
|
@@ -35,8 +37,8 @@ class AbstractRouterContract extends BaseContract {
|
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
39
|
getDefaultExpectedAndLeftover(ca, keepAssets, debtOnly) {
|
|
38
|
-
const expectedBalances = new
|
|
39
|
-
const leftoverBalances = new
|
|
40
|
+
const expectedBalances = new AssetsMap();
|
|
41
|
+
const leftoverBalances = new AssetsMap();
|
|
40
42
|
const keepAssetsSet = new AddressSet(keepAssets);
|
|
41
43
|
if (debtOnly) {
|
|
42
44
|
const result = this.getLeftoversAfterBuyingDebt(ca, keepAssetsSet);
|
|
@@ -48,23 +50,23 @@ class AbstractRouterContract extends BaseContract {
|
|
|
48
50
|
}
|
|
49
51
|
for (const { token, balance, mask } of ca.tokens) {
|
|
50
52
|
const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
|
|
51
|
-
expectedBalances.upsert(token,
|
|
53
|
+
expectedBalances.upsert(token, balance);
|
|
52
54
|
if (keepAssetsSet.has(token) || !isEnabled || isDust({
|
|
53
55
|
sdk: this.sdk,
|
|
54
56
|
token,
|
|
55
57
|
balance,
|
|
56
58
|
creditManager: ca.creditManager
|
|
57
59
|
})) {
|
|
58
|
-
leftoverBalances.upsert(
|
|
60
|
+
leftoverBalances.upsert(
|
|
59
61
|
token,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
limitLeftover(balance, token) ?? balance
|
|
63
|
+
);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
return {
|
|
65
67
|
expectedBalances,
|
|
66
68
|
leftoverBalances,
|
|
67
|
-
tokensToClaim: new
|
|
69
|
+
tokensToClaim: new AssetsMap()
|
|
68
70
|
};
|
|
69
71
|
}
|
|
70
72
|
/**
|
|
@@ -77,16 +79,13 @@ class AbstractRouterContract extends BaseContract {
|
|
|
77
79
|
const { priceOracle } = this.sdk.marketRegister.findByCreditManager(
|
|
78
80
|
ca.creditManager
|
|
79
81
|
);
|
|
80
|
-
const expectedBalances = new
|
|
81
|
-
const leftoverBalances = new
|
|
82
|
+
const expectedBalances = new AssetsMap();
|
|
83
|
+
const leftoverBalances = new AssetsMap();
|
|
82
84
|
const usdBalances = [];
|
|
83
85
|
for (const { token, balance, mask } of ca.tokens) {
|
|
84
86
|
const isEnabled = (mask & ca.enabledTokensMask) !== 0n;
|
|
85
|
-
expectedBalances.upsert(token,
|
|
86
|
-
leftoverBalances.upsert(token,
|
|
87
|
-
token,
|
|
88
|
-
balance: limitLeftover(balance, token) ?? balance
|
|
89
|
-
});
|
|
87
|
+
expectedBalances.upsert(token, balance);
|
|
88
|
+
leftoverBalances.upsert(token, limitLeftover(balance, token) ?? balance);
|
|
90
89
|
if (isEnabled && !keepAssets.has(token)) {
|
|
91
90
|
usdBalances.push({
|
|
92
91
|
token,
|
|
@@ -116,15 +115,12 @@ class AbstractRouterContract extends BaseContract {
|
|
|
116
115
|
if (tokenAmount === 0n) {
|
|
117
116
|
return void 0;
|
|
118
117
|
}
|
|
119
|
-
let leftoverBalance = leftoverBalances.get(highestToken.token)
|
|
118
|
+
let leftoverBalance = leftoverBalances.get(highestToken.token) ?? 0n;
|
|
120
119
|
leftoverBalance -= tokenAmount;
|
|
121
120
|
if (leftoverBalance < 0n) {
|
|
122
121
|
return void 0;
|
|
123
122
|
}
|
|
124
|
-
leftoverBalances.upsert(highestToken.token,
|
|
125
|
-
token: highestToken.token,
|
|
126
|
-
balance: leftoverBalance
|
|
127
|
-
});
|
|
123
|
+
leftoverBalances.upsert(highestToken.token, leftoverBalance);
|
|
128
124
|
const tokenAmountStr = this.sdk.tokensMeta.formatBN(
|
|
129
125
|
highestToken.token,
|
|
130
126
|
tokenAmount,
|
|
@@ -137,7 +133,7 @@ class AbstractRouterContract extends BaseContract {
|
|
|
137
133
|
return {
|
|
138
134
|
expectedBalances,
|
|
139
135
|
leftoverBalances,
|
|
140
|
-
tokensToClaim: new
|
|
136
|
+
tokensToClaim: new AssetsMap()
|
|
141
137
|
};
|
|
142
138
|
}
|
|
143
139
|
safeConvertToUSD(priceOracle, token, balance) {
|