@gearbox-protocol/sdk 14.12.0-next.2 → 14.12.0-next.20
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 +229 -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 +45 -1
- 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 +271 -0
- package/dist/cjs/history/classifyMulticallOperations.js +2 -0
- package/dist/cjs/history/mapOperations.js +7 -0
- 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 +36 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +21 -2
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +17 -2
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +22 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +20 -2
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +4 -9
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +4 -9
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +4 -9
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +4 -9
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +4 -9
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +16 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +24 -2
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +16 -2
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +17 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +23 -2
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +3 -3
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -3
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +3 -3
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +13 -2
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +17 -2
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +17 -2
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +13 -2
- package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +121 -0
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -3
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -3
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -2
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +13 -2
- package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +28 -4
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +19 -2
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +12 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +12 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -2
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -3
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -3
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +12 -2
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +17 -2
- package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
- package/dist/cjs/plugins/adapters/createAdapter.js +3 -10
- package/dist/cjs/plugins/adapters/types.js +2 -11
- package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +20 -37
- package/dist/cjs/preview/index.js +5 -3
- package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/cjs/preview/parse/index.js +2 -2
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
- package/dist/cjs/preview/parse/parseOperationCalldata.js +11 -9
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
- package/dist/cjs/preview/parse/types-rwa.js +16 -0
- package/dist/cjs/preview/parse/types.js +9 -2
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +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/applyInnerOperations.js +141 -0
- package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
- package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
- package/dist/cjs/preview/preview/errors.js +52 -0
- package/dist/cjs/preview/preview/index.js +34 -0
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +90 -0
- package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -0
- package/dist/cjs/preview/preview/previewOperation.js +53 -0
- package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
- package/dist/cjs/preview/preview/types.js +16 -0
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -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 +11 -0
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +76 -149
- 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/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/addresses.js} +24 -20
- package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +53 -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 +56 -4
- 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 +205 -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 +45 -1
- 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 +259 -0
- package/dist/esm/history/classifyMulticallOperations.js +2 -0
- package/dist/esm/history/mapOperations.js +7 -0
- 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 +36 -0
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +23 -2
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +19 -2
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +24 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +23 -2
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +3 -8
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +3 -8
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +3 -8
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +3 -8
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +3 -8
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +18 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +27 -2
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +18 -2
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +25 -2
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -4
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +4 -4
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +15 -2
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +19 -2
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +19 -2
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +15 -2
- package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +104 -0
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +17 -5
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +20 -6
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -2
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -3
- package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +31 -5
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +21 -2
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +14 -2
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +11 -1
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -1
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -3
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +20 -4
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +14 -2
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +19 -2
- package/dist/esm/plugins/adapters/contracts/index.js +1 -6
- package/dist/esm/plugins/adapters/createAdapter.js +4 -13
- package/dist/esm/plugins/adapters/types.js +2 -11
- package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +21 -39
- package/dist/esm/preview/index.js +2 -1
- package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
- package/dist/esm/preview/parse/index.js +1 -1
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
- package/dist/esm/preview/parse/parseOperationCalldata.js +12 -9
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
- package/dist/esm/preview/parse/types-rwa.js +0 -0
- package/dist/esm/preview/parse/types.js +6 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +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/applyInnerOperations.js +122 -0
- package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
- package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
- package/dist/esm/preview/preview/errors.js +27 -0
- package/dist/esm/preview/preview/index.js +7 -0
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +74 -0
- package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -0
- package/dist/esm/preview/preview/previewOperation.js +29 -0
- package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
- package/dist/esm/preview/preview/types.js +0 -0
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -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 +13 -1
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +72 -144
- 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 +28 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +29 -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 +59 -5
- 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 +289 -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 +77 -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/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 +77 -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 +21 -3
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -5
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -11
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +8 -11
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +8 -11
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +8 -11
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +8 -11
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -6
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +5 -5
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -5
- package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +790 -0
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +59 -7
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -6
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -7
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -5
- package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
- package/dist/types/plugins/adapters/types.d.ts +31 -13
- 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/classifyInnerOperations.d.ts +0 -2
- package/dist/types/preview/parse/index.d.ts +1 -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 +13 -0
- package/dist/types/preview/parse/types-adapters.d.ts +5 -1
- package/dist/types/preview/parse/types-facades.d.ts +23 -34
- package/dist/types/preview/parse/types-pools.d.ts +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/applyInnerOperations.d.ts +84 -0
- package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
- package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
- package/dist/types/preview/preview/errors.d.ts +21 -0
- package/dist/types/preview/preview/index.d.ts +7 -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/types.d.ts +181 -0
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -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 +52 -0
- package/dist/types/sdk/OnchainSDK.d.ts +10 -1
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +15 -15
- package/dist/types/sdk/accounts/index.d.ts +1 -0
- package/dist/types/sdk/accounts/types.d.ts +100 -53
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +34 -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 +300 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +21 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +11 -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 +283 -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 +17 -4
- 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/prerequisites/buildPrerequisites.js +0 -221
- 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 -197
- package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
- package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
- package/dist/esm/preview/simulate/holders.js +0 -21
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
- package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
- package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
- package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
- package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
- package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
- package/dist/types/preview/simulate/holders.d.ts +0 -7
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ierc4626AdapterAbi } from "@gearbox-protocol/integrations-v3";
|
|
2
1
|
import { encodeFunctionData, getContract } from "viem";
|
|
3
2
|
import {
|
|
4
3
|
iBotListV310Abi,
|
|
@@ -7,12 +6,10 @@ import {
|
|
|
7
6
|
import { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
|
|
8
7
|
import { peripheryCompressorAbi } from "../../abi/compressors/peripheryCompressor.js";
|
|
9
8
|
import { rewardsCompressorAbi } from "../../abi/compressors/rewardsCompressor.js";
|
|
10
|
-
import { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
|
|
11
|
-
import { iWithdrawalCompressorV311Abi } from "../../abi/IWithdrawalCompressorV311.js";
|
|
12
9
|
import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
|
|
10
|
+
import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
|
|
13
11
|
import { iRWAFactoryAbi } from "../../abi/rwa/iRWAFactory.js";
|
|
14
12
|
import { SDKConstruct } from "../base/index.js";
|
|
15
|
-
import { chains } from "../chain/chains.js";
|
|
16
13
|
import {
|
|
17
14
|
ADDRESS_0X0,
|
|
18
15
|
AP_CREDIT_ACCOUNT_COMPRESSOR,
|
|
@@ -27,27 +24,13 @@ import {
|
|
|
27
24
|
import {
|
|
28
25
|
getRawPriceUpdates
|
|
29
26
|
} from "../market/index.js";
|
|
30
|
-
import {
|
|
31
|
-
import { AddressMap, AddressSet, hexEq } from "../utils/index.js";
|
|
27
|
+
import { AddressMap, AddressSet, AssetsMap, hexEq } from "../utils/index.js";
|
|
32
28
|
import { simulateWithPriceUpdates } from "../utils/viem/index.js";
|
|
33
29
|
import {
|
|
34
30
|
extractPriceUpdates,
|
|
35
31
|
extractQuotaTokens,
|
|
36
32
|
mergePriceUpdates
|
|
37
33
|
} from "./multicall-utils.js";
|
|
38
|
-
const COMPRESSORS = {
|
|
39
|
-
[chains.Mainnet.id]: {
|
|
40
|
-
address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
41
|
-
version: 310
|
|
42
|
-
},
|
|
43
|
-
[chains.Monad.id]: {
|
|
44
|
-
address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
45
|
-
version: 310
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
function getWithdrawalCompressorAddress(chainId) {
|
|
49
|
-
return COMPRESSORS[chainId];
|
|
50
|
-
}
|
|
51
34
|
class CreditAccountsServiceV310 extends SDKConstruct {
|
|
52
35
|
#compressor;
|
|
53
36
|
#batchSize;
|
|
@@ -616,14 +599,12 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
616
599
|
creditManager: cm.creditManager,
|
|
617
600
|
slippage
|
|
618
601
|
});
|
|
619
|
-
const operationCalls =
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
)
|
|
626
|
-
];
|
|
602
|
+
const operationCalls = await this.assembleCloseCreditAccountCalls({
|
|
603
|
+
creditAccount: ca,
|
|
604
|
+
routerCalls: routerCloseResult.calls,
|
|
605
|
+
assetsToWithdraw,
|
|
606
|
+
to
|
|
607
|
+
});
|
|
627
608
|
const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
628
609
|
const tx = await this.#closeCreditAccountTx(
|
|
629
610
|
cm,
|
|
@@ -633,6 +614,32 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
633
614
|
);
|
|
634
615
|
return { tx, calls, routerCloseResult, creditFacade: cm.creditFacade };
|
|
635
616
|
}
|
|
617
|
+
/**
|
|
618
|
+
* {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
|
|
619
|
+
*/
|
|
620
|
+
async assembleCloseCreditAccountCalls({
|
|
621
|
+
creditAccount: ca,
|
|
622
|
+
routerCalls,
|
|
623
|
+
assetsToWithdraw,
|
|
624
|
+
to
|
|
625
|
+
}) {
|
|
626
|
+
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
627
|
+
await this.sdk.tokensMeta.loadTokenData(cm.underlying);
|
|
628
|
+
const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
|
|
629
|
+
if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
|
|
630
|
+
throw new Error(
|
|
631
|
+
"closeCreditAccount is not supported for RWA underlying credit accounts"
|
|
632
|
+
);
|
|
633
|
+
}
|
|
634
|
+
return [
|
|
635
|
+
...routerCalls,
|
|
636
|
+
...this.#prepareDisableQuotas(ca),
|
|
637
|
+
...this.#prepareDecreaseDebt(ca),
|
|
638
|
+
...assetsToWithdraw.map(
|
|
639
|
+
(t) => this.#prepareWithdrawToken(ca.creditFacade, t, MAX_UINT256, to)
|
|
640
|
+
)
|
|
641
|
+
];
|
|
642
|
+
}
|
|
636
643
|
/**
|
|
637
644
|
* {@inheritDoc ICreditAccountsService.updateQuotas}
|
|
638
645
|
**/
|
|
@@ -774,22 +781,8 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
774
781
|
amount,
|
|
775
782
|
token
|
|
776
783
|
}) {
|
|
777
|
-
const compressor =
|
|
778
|
-
|
|
779
|
-
throw new Error(
|
|
780
|
-
`No compressor for current chain ${this.sdk.networkType}`
|
|
781
|
-
);
|
|
782
|
-
const contract = getContract({
|
|
783
|
-
address: compressor.address,
|
|
784
|
-
abi: compressor.version === 310 ? iWithdrawalCompressorV310Abi : iWithdrawalCompressorV311Abi,
|
|
785
|
-
client: this.client
|
|
786
|
-
});
|
|
787
|
-
const resp = await contract.read.getWithdrawalRequestResult([
|
|
788
|
-
creditAccount,
|
|
789
|
-
token,
|
|
790
|
-
amount
|
|
791
|
-
]);
|
|
792
|
-
return resp;
|
|
784
|
+
const compressor = this.sdk.withdrawalCompressor();
|
|
785
|
+
return compressor.getWithdrawalRequestResult(creditAccount, token, amount);
|
|
793
786
|
}
|
|
794
787
|
/**
|
|
795
788
|
* {@inheritDoc ICreditAccountsService.getPendingWithdrawals}
|
|
@@ -797,26 +790,12 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
797
790
|
async getPendingWithdrawals({
|
|
798
791
|
creditAccount
|
|
799
792
|
}) {
|
|
800
|
-
const compressor =
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
const contract = getContract({
|
|
806
|
-
address: compressor.address,
|
|
807
|
-
abi: compressor.version === 310 ? iWithdrawalCompressorV310Abi : iWithdrawalCompressorV311Abi,
|
|
808
|
-
client: this.client
|
|
809
|
-
});
|
|
810
|
-
const resp = await contract.read.getCurrentWithdrawals([creditAccount]);
|
|
811
|
-
const claimableNow = resp?.[0] || [];
|
|
812
|
-
const pendingResult = [...resp?.[1] || []].sort(
|
|
813
|
-
(a, b) => a.claimableAt < b.claimableAt ? -1 : 1
|
|
814
|
-
);
|
|
815
|
-
const respResult = {
|
|
816
|
-
claimableNow: [...claimableNow],
|
|
817
|
-
pending: pendingResult
|
|
793
|
+
const compressor = this.sdk.withdrawalCompressor();
|
|
794
|
+
const { claimable, pending } = await compressor.getCurrentWithdrawals(creditAccount);
|
|
795
|
+
return {
|
|
796
|
+
claimableNow: claimable,
|
|
797
|
+
pending
|
|
818
798
|
};
|
|
819
|
-
return respResult;
|
|
820
799
|
}
|
|
821
800
|
/**
|
|
822
801
|
* {@inheritDoc ICreditAccountsService.startDelayedWithdrawal}
|
|
@@ -1302,8 +1281,23 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1302
1281
|
/**
|
|
1303
1282
|
* {@inheritDoc ICreditAccountsService.repayCreditAccount}
|
|
1304
1283
|
*/
|
|
1305
|
-
async repayCreditAccount({
|
|
1306
|
-
operation,
|
|
1284
|
+
async repayCreditAccount(props) {
|
|
1285
|
+
const { operation, creditAccount: ca } = props;
|
|
1286
|
+
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1287
|
+
const operationCalls = await this.assembleRepayCreditAccountCalls(props);
|
|
1288
|
+
const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
1289
|
+
const tx = await this.#closeCreditAccountTx(
|
|
1290
|
+
cm,
|
|
1291
|
+
ca.creditAccount,
|
|
1292
|
+
calls,
|
|
1293
|
+
operation
|
|
1294
|
+
);
|
|
1295
|
+
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1296
|
+
}
|
|
1297
|
+
/**
|
|
1298
|
+
* {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
|
|
1299
|
+
*/
|
|
1300
|
+
async assembleRepayCreditAccountCalls({
|
|
1307
1301
|
collateralAssets,
|
|
1308
1302
|
assetsToWithdraw,
|
|
1309
1303
|
creditAccount: ca,
|
|
@@ -1312,7 +1306,6 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1312
1306
|
tokensToClaim,
|
|
1313
1307
|
calls: wrapCalls = []
|
|
1314
1308
|
}) {
|
|
1315
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1316
1309
|
const addCollateral = collateralAssets.filter((a) => a.balance > 0);
|
|
1317
1310
|
const router = this.sdk.routerFor(ca);
|
|
1318
1311
|
const unwrapCalls = await this.getRedeemDiffCalls(1n, ca.creditManager) ?? [];
|
|
@@ -1331,14 +1324,7 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1331
1324
|
(t) => this.#prepareWithdrawToken(ca.creditFacade, t.token, MAX_UINT256, to)
|
|
1332
1325
|
)
|
|
1333
1326
|
];
|
|
1334
|
-
|
|
1335
|
-
const tx = await this.#closeCreditAccountTx(
|
|
1336
|
-
cm,
|
|
1337
|
-
ca.creditAccount,
|
|
1338
|
-
calls,
|
|
1339
|
-
operation
|
|
1340
|
-
);
|
|
1341
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1327
|
+
return operationCalls;
|
|
1342
1328
|
}
|
|
1343
1329
|
/**
|
|
1344
1330
|
* {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
|
|
@@ -1559,19 +1545,13 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1559
1545
|
);
|
|
1560
1546
|
}
|
|
1561
1547
|
/**
|
|
1562
|
-
* {@inheritDoc ICreditAccountsService.
|
|
1548
|
+
* {@inheritDoc ICreditAccountsService.assembleCaOperations}
|
|
1563
1549
|
*/
|
|
1564
|
-
|
|
1550
|
+
assembleCaOperations({
|
|
1565
1551
|
operations,
|
|
1566
|
-
|
|
1567
|
-
creditFacade,
|
|
1568
|
-
withdrawTo,
|
|
1569
|
-
creditAccount,
|
|
1570
|
-
underlyingToken
|
|
1552
|
+
creditFacade
|
|
1571
1553
|
}) {
|
|
1572
1554
|
const calls = [];
|
|
1573
|
-
let swapGroupIndex = 0;
|
|
1574
|
-
let routerGroupsConsumed = 0;
|
|
1575
1555
|
for (const op of operations) {
|
|
1576
1556
|
switch (op.type) {
|
|
1577
1557
|
case "increaseDebt":
|
|
@@ -1595,22 +1575,15 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1595
1575
|
creditFacade,
|
|
1596
1576
|
op.token,
|
|
1597
1577
|
op.amount,
|
|
1598
|
-
|
|
1578
|
+
op.to
|
|
1599
1579
|
)
|
|
1600
1580
|
);
|
|
1601
1581
|
break;
|
|
1602
|
-
case "swap":
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
`assembleCaUpdateCalls: missing router calls for swap leg ${swapGroupIndex}`
|
|
1607
|
-
);
|
|
1608
|
-
}
|
|
1609
|
-
calls.push(...routerCalls);
|
|
1610
|
-
swapGroupIndex += 1;
|
|
1611
|
-
routerGroupsConsumed += 1;
|
|
1582
|
+
case "swap":
|
|
1583
|
+
case "wrapRwaCollateral":
|
|
1584
|
+
case "unwrapRwaCollateral":
|
|
1585
|
+
calls.push(...op.calls);
|
|
1612
1586
|
break;
|
|
1613
|
-
}
|
|
1614
1587
|
case "changeQuota": {
|
|
1615
1588
|
const quotaAssets = [...op.quotaIncrease, ...op.quotaDecrease];
|
|
1616
1589
|
if (quotaAssets.length === 0) {
|
|
@@ -1624,58 +1597,14 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1624
1597
|
);
|
|
1625
1598
|
break;
|
|
1626
1599
|
}
|
|
1627
|
-
case "closeCreditAccount": {
|
|
1628
|
-
for (const group of routerCallGroups) {
|
|
1629
|
-
calls.push(...group);
|
|
1630
|
-
routerGroupsConsumed += 1;
|
|
1631
|
-
}
|
|
1632
|
-
calls.push(
|
|
1633
|
-
...this.#prepareDisableQuotas({
|
|
1634
|
-
creditFacade,
|
|
1635
|
-
tokens: Object.entries(creditAccount.initialQuotas).map(
|
|
1636
|
-
([token, { quota }]) => ({
|
|
1637
|
-
token,
|
|
1638
|
-
quota
|
|
1639
|
-
})
|
|
1640
|
-
)
|
|
1641
|
-
})
|
|
1642
|
-
);
|
|
1643
|
-
if (creditAccount.debt > 0n) {
|
|
1644
|
-
calls.push(
|
|
1645
|
-
...this.#prepareDecreaseDebt({
|
|
1646
|
-
creditFacade,
|
|
1647
|
-
debt: creditAccount.debt
|
|
1648
|
-
})
|
|
1649
|
-
);
|
|
1650
|
-
}
|
|
1651
|
-
const hasAssets = creditAccount.assets.some(
|
|
1652
|
-
(asset) => asset.balance > 0n
|
|
1653
|
-
);
|
|
1654
|
-
if (hasAssets) {
|
|
1655
|
-
calls.push(
|
|
1656
|
-
this.#prepareWithdrawToken(
|
|
1657
|
-
creditFacade,
|
|
1658
|
-
underlyingToken,
|
|
1659
|
-
MAX_UINT256,
|
|
1660
|
-
withdrawTo
|
|
1661
|
-
)
|
|
1662
|
-
);
|
|
1663
|
-
}
|
|
1664
|
-
break;
|
|
1665
|
-
}
|
|
1666
1600
|
default: {
|
|
1667
1601
|
const _exhaustive = op;
|
|
1668
1602
|
throw new Error(
|
|
1669
|
-
`
|
|
1603
|
+
`assembleCaOperations: unsupported operation ${JSON.stringify(_exhaustive)}`
|
|
1670
1604
|
);
|
|
1671
1605
|
}
|
|
1672
1606
|
}
|
|
1673
1607
|
}
|
|
1674
|
-
if (routerGroupsConsumed !== routerCallGroups.length) {
|
|
1675
|
-
throw new Error(
|
|
1676
|
-
`assembleCaUpdateCalls: router call group mismatch (consumed ${routerGroupsConsumed}, got ${routerCallGroups.length})`
|
|
1677
|
-
);
|
|
1678
|
-
}
|
|
1679
1608
|
return calls;
|
|
1680
1609
|
}
|
|
1681
1610
|
/**
|
|
@@ -1718,10 +1647,10 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1718
1647
|
return calls;
|
|
1719
1648
|
}
|
|
1720
1649
|
#prepareUpdateQuotas(creditFacade, { averageQuota, minQuota }) {
|
|
1721
|
-
const minRecord =
|
|
1650
|
+
const minRecord = new AssetsMap(minQuota);
|
|
1722
1651
|
const calls = averageQuota.map((q) => {
|
|
1723
|
-
const
|
|
1724
|
-
const min =
|
|
1652
|
+
const minBalance = minRecord.get(q.token);
|
|
1653
|
+
const min = minBalance && minBalance > 0n ? minBalance : 0n;
|
|
1725
1654
|
return {
|
|
1726
1655
|
target: creditFacade,
|
|
1727
1656
|
callData: encodeFunctionData({
|
|
@@ -1900,6 +1829,5 @@ class CreditAccountsServiceV310 extends SDKConstruct {
|
|
|
1900
1829
|
}
|
|
1901
1830
|
}
|
|
1902
1831
|
export {
|
|
1903
|
-
CreditAccountsServiceV310
|
|
1904
|
-
getWithdrawalCompressorAddress
|
|
1832
|
+
CreditAccountsServiceV310
|
|
1905
1833
|
};
|
|
@@ -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.getCurrentWithdrawals}
|
|
64
|
+
**/
|
|
65
|
+
async getCurrentWithdrawals(creditAccount) {
|
|
66
|
+
const [[claimable, pending], creditManager] = await this.client.multicall({
|
|
67
|
+
contracts: [
|
|
68
|
+
{
|
|
69
|
+
address: this.address,
|
|
70
|
+
abi: this.abi,
|
|
71
|
+
functionName: "getCurrentWithdrawals",
|
|
72
|
+
args: [creditAccount]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
address: creditAccount,
|
|
76
|
+
abi: iCreditAccountAbi,
|
|
77
|
+
functionName: "creditManager"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
allowFailure: false,
|
|
81
|
+
batchSize: 0
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
claimable: claimable.map(
|
|
85
|
+
(w) => toClaimableWithdrawal(w, creditManager, this.version >= 313)
|
|
86
|
+
),
|
|
87
|
+
pending: pending.map(toPendingWithdrawal).sort((a, b) => a.claimableAt < b.claimableAt ? -1 : 1)
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* {@inheritDoc IWithdrawalCompressorContract.getWithdrawalRequestResult}
|
|
92
|
+
**/
|
|
93
|
+
async getWithdrawalRequestResult(creditAccount, token, amount, intent) {
|
|
94
|
+
const resp = intent ? await this.#getWithdrawalRequestResultWithIntent(
|
|
95
|
+
creditAccount,
|
|
96
|
+
token,
|
|
97
|
+
amount,
|
|
98
|
+
intent
|
|
99
|
+
) : await this.common.read.getWithdrawalRequestResult([
|
|
100
|
+
creditAccount,
|
|
101
|
+
token,
|
|
102
|
+
amount
|
|
103
|
+
]);
|
|
104
|
+
return {
|
|
105
|
+
token: resp.token,
|
|
106
|
+
amountIn: resp.amountIn,
|
|
107
|
+
outputs: resp.outputs.map(toWithdrawalOutput),
|
|
108
|
+
requestCalls: resp.requestCalls.map(toMultiCall),
|
|
109
|
+
claimableAt: resp.claimableAt
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Previews a delayed withdrawal request with an intent attached as
|
|
114
|
+
* `extraData`. Only supported on v313+ compressors; on older versions,
|
|
115
|
+
* throws if `sdk.strictContractTypes` is `true`, otherwise logs a warning
|
|
116
|
+
* and previews the request without the intent.
|
|
117
|
+
*
|
|
118
|
+
* The contract overload accepting `extraData` also requires the withdrawal
|
|
119
|
+
* phantom token, which is resolved here the same way the 3-arg overload
|
|
120
|
+
* does it internally: via `getWithdrawableAssets` of the account's credit
|
|
121
|
+
* manager.
|
|
122
|
+
**/
|
|
123
|
+
async #getWithdrawalRequestResultWithIntent(creditAccount, token, amount, intent) {
|
|
124
|
+
if (this.version < 313) {
|
|
125
|
+
const message = `withdrawal intents are not supported by ${this.name} v${this.version}`;
|
|
126
|
+
if (this.#sdk.strictContractTypes) {
|
|
127
|
+
throw new Error(message);
|
|
128
|
+
}
|
|
129
|
+
this.logger?.warn(`${message}, requesting withdrawal without intent`);
|
|
130
|
+
return this.common.read.getWithdrawalRequestResult([
|
|
131
|
+
creditAccount,
|
|
132
|
+
token,
|
|
133
|
+
amount
|
|
134
|
+
]);
|
|
135
|
+
}
|
|
136
|
+
const extraData = encodeDelayedIntent(intent);
|
|
137
|
+
const creditManager = await this.client.readContract({
|
|
138
|
+
address: creditAccount,
|
|
139
|
+
abi: iCreditAccountAbi,
|
|
140
|
+
functionName: "creditManager"
|
|
141
|
+
});
|
|
142
|
+
const assets = await this.common.read.getWithdrawableAssets([
|
|
143
|
+
creditManager
|
|
144
|
+
]);
|
|
145
|
+
const asset = assets.find((a) => isAddressEqual(a.token, token));
|
|
146
|
+
if (!asset) {
|
|
147
|
+
throw new Error(
|
|
148
|
+
`token ${token} is not withdrawable from credit manager ${creditManager}`
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
return this.common.read.getWithdrawalRequestResult([
|
|
152
|
+
creditAccount,
|
|
153
|
+
token,
|
|
154
|
+
asset.withdrawalPhantomToken,
|
|
155
|
+
amount,
|
|
156
|
+
extraData
|
|
157
|
+
]);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
function toWithdrawalOutput(o) {
|
|
161
|
+
return { token: o.token, isDelayed: o.isDelayed, amount: o.amount };
|
|
162
|
+
}
|
|
163
|
+
function toMultiCall(c) {
|
|
164
|
+
return { target: c.target, callData: c.callData };
|
|
165
|
+
}
|
|
166
|
+
function toWithdrawableAsset(a, creditManager) {
|
|
167
|
+
return {
|
|
168
|
+
creditManager,
|
|
169
|
+
token: a.token,
|
|
170
|
+
withdrawalPhantomToken: a.withdrawalPhantomToken,
|
|
171
|
+
underlying: a.underlying,
|
|
172
|
+
withdrawalLength: a.withdrawalLength,
|
|
173
|
+
maxWithdrawals: a.maxWithdrawals
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
function toClaimableWithdrawal(w, creditManager, decodeIntent) {
|
|
177
|
+
let intent;
|
|
178
|
+
if (decodeIntent && w.extraData && w.extraData !== "0x") {
|
|
179
|
+
intent = { ...decodeDelayedIntent(w.extraData), creditManager };
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
token: w.token,
|
|
183
|
+
withdrawalPhantomToken: w.withdrawalPhantomToken,
|
|
184
|
+
withdrawalTokenSpent: w.withdrawalTokenSpent,
|
|
185
|
+
outputs: w.outputs.map(toWithdrawalOutput),
|
|
186
|
+
claimCalls: w.claimCalls.map(toMultiCall),
|
|
187
|
+
intent
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function toPendingWithdrawal(w) {
|
|
191
|
+
return {
|
|
192
|
+
token: w.token,
|
|
193
|
+
withdrawalPhantomToken: w.withdrawalPhantomToken,
|
|
194
|
+
expectedOutputs: w.expectedOutputs.map(toWithdrawalOutput),
|
|
195
|
+
claimableAt: w.claimableAt
|
|
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,28 @@
|
|
|
1
|
+
const WITHDRAWAL_COMPRESSORS = {
|
|
2
|
+
Mainnet: {
|
|
3
|
+
310: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
4
|
+
313: "0x9605D59E40963ADce8a6895Aa3Fa497320Ef3F3b"
|
|
5
|
+
},
|
|
6
|
+
Monad: {
|
|
7
|
+
310: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023"
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
function getWithdrawalCompressorAddress(network, version) {
|
|
11
|
+
const deployments = WITHDRAWAL_COMPRESSORS[network];
|
|
12
|
+
if (!deployments) {
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
if (version !== void 0) {
|
|
16
|
+
const address2 = deployments[version];
|
|
17
|
+
return address2 ? { address: address2, version } : void 0;
|
|
18
|
+
}
|
|
19
|
+
const latest = Object.keys(deployments).map(Number).sort((a, b) => b - a)[0];
|
|
20
|
+
if (latest === void 0) {
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
const address = deployments[latest];
|
|
24
|
+
return address ? { address, version: latest } : void 0;
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
getWithdrawalCompressorAddress
|
|
28
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
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, version) {
|
|
6
|
+
const location = getWithdrawalCompressorAddress(sdk.networkType, version);
|
|
7
|
+
if (!location) {
|
|
8
|
+
throw new Error(
|
|
9
|
+
`no withdrawal compressor${version ? ` v${version}` : ""} on ${sdk.networkType}`
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
const cached = sdk.getContract(
|
|
13
|
+
location.address
|
|
14
|
+
);
|
|
15
|
+
if (cached) {
|
|
16
|
+
return cached;
|
|
17
|
+
}
|
|
18
|
+
switch (location.version) {
|
|
19
|
+
case 310:
|
|
20
|
+
return new WithdrawalCompressorV310Contract(sdk, location.address);
|
|
21
|
+
case 311:
|
|
22
|
+
return new WithdrawalCompressorV311Contract(sdk, location.address);
|
|
23
|
+
case 313:
|
|
24
|
+
return new WithdrawalCompressorV313Contract(sdk, location.address);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
createWithdrawalCompressor
|
|
29
|
+
};
|
|
@@ -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";
|