@gearbox-protocol/sdk 14.12.0-next.2 → 14.12.0-next.21
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 +108 -165
- 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 +104 -160
- 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 +19 -15
- package/dist/types/sdk/accounts/index.d.ts +1 -0
- package/dist/types/sdk/accounts/types.d.ts +128 -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
|
@@ -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";
|
|
@@ -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
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
decodeAbiParameters
|
|
3
|
+
} from "viem";
|
|
2
4
|
import { iSecuritizeRWAFactoryAbi } from "../../../../abi/rwa/iSecuritizeRWAFactory.js";
|
|
3
5
|
import { BaseContract } from "../../../base/index.js";
|
|
4
6
|
import { AddressMap, AddressSet } from "../../../utils/index.js";
|
|
@@ -49,6 +51,30 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
49
51
|
operators: [...t.operators]
|
|
50
52
|
}));
|
|
51
53
|
}
|
|
54
|
+
parseFunctionParamsV2(params, strict) {
|
|
55
|
+
switch (params.functionName) {
|
|
56
|
+
case "openCreditAccount": {
|
|
57
|
+
const [creditManager, calls, tokensToRegister, signaturesToCache] = params.args;
|
|
58
|
+
return {
|
|
59
|
+
creditManager,
|
|
60
|
+
calls: this.register.parseMultiCallV2([...calls], strict),
|
|
61
|
+
tokensToRegister,
|
|
62
|
+
signaturesToCache
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
case "multicall": {
|
|
66
|
+
const [creditAccount, calls, tokensToRegister, signaturesToCache] = params.args;
|
|
67
|
+
return {
|
|
68
|
+
creditAccount,
|
|
69
|
+
calls: this.register.parseMultiCallV2([...calls], strict),
|
|
70
|
+
tokensToRegister,
|
|
71
|
+
signaturesToCache
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
default:
|
|
75
|
+
return super.parseFunctionParamsV2(params, strict);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
52
78
|
/**
|
|
53
79
|
* {@inheritDoc IRWAFactory.decodeInvestorData}
|
|
54
80
|
*/
|
|
@@ -104,6 +130,12 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
104
130
|
})
|
|
105
131
|
};
|
|
106
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* {@inheritDoc IRWAFactory.getTokens}
|
|
135
|
+
*/
|
|
136
|
+
getTokens() {
|
|
137
|
+
return this.dsTokens.map((t) => t.address);
|
|
138
|
+
}
|
|
107
139
|
/**
|
|
108
140
|
* {@inheritDoc IRWAFactory.getInvestor}
|
|
109
141
|
*/
|
|
@@ -138,8 +170,8 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
138
170
|
/**
|
|
139
171
|
* {@inheritDoc IRWAFactory.multicall}
|
|
140
172
|
*/
|
|
141
|
-
multicall(creditAccount, calls,
|
|
142
|
-
const { tokensToRegister = [], signaturesToCache = [] } =
|
|
173
|
+
multicall(creditAccount, calls, args) {
|
|
174
|
+
const { tokensToRegister = [], signaturesToCache = [] } = args ?? {};
|
|
143
175
|
return this.createRawTx({
|
|
144
176
|
functionName: "multicall",
|
|
145
177
|
args: [creditAccount, calls, tokensToRegister, signaturesToCache]
|
|
@@ -169,11 +201,33 @@ class SecuritizeRWAFactory extends BaseContract {
|
|
|
169
201
|
requiredSignatures
|
|
170
202
|
};
|
|
171
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
|
+
}
|
|
172
226
|
/**
|
|
173
227
|
* {@inheritDoc IRWAFactory.openCreditAccount}
|
|
174
228
|
*/
|
|
175
|
-
openCreditAccount(creditManager, calls,
|
|
176
|
-
const { tokensToRegister = [], signaturesToCache = [] } =
|
|
229
|
+
openCreditAccount(creditManager, calls, args) {
|
|
230
|
+
const { tokensToRegister = [], signaturesToCache = [] } = args ?? {};
|
|
177
231
|
return this.createRawTx({
|
|
178
232
|
functionName: "openCreditAccount",
|
|
179
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) {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { getAddress } from "viem";
|
|
2
2
|
import { gearboxRouterAbi } from "../../abi/router/gearboxRouter.js";
|
|
3
|
-
import { AddressMap } from "../utils/AddressMap.js";
|
|
4
3
|
import { formatBN } from "../utils/formatter.js";
|
|
5
|
-
import { isDust } from "../utils/index.js";
|
|
4
|
+
import { AddressMap, AssetsMap, isDust } from "../utils/index.js";
|
|
6
5
|
import { AbstractRouterContract } from "./AbstractRouterContract.js";
|
|
7
|
-
import {
|
|
6
|
+
import { limitLeftover } from "./helpers.js";
|
|
8
7
|
const abi = gearboxRouterAbi;
|
|
9
8
|
class RouterV310Contract extends AbstractRouterContract {
|
|
10
9
|
#numSplits = new AddressMap();
|
|
@@ -71,8 +70,8 @@ class RouterV310Contract extends AbstractRouterContract {
|
|
|
71
70
|
slippage
|
|
72
71
|
} = props;
|
|
73
72
|
const [expectedMap, leftoverMap] = [
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
new AssetsMap(expectedBalances),
|
|
74
|
+
new AssetsMap(leftoverBalances)
|
|
76
75
|
];
|
|
77
76
|
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances);
|
|
78
77
|
const tData = cm.collateralTokens.map(
|
|
@@ -157,22 +156,22 @@ class RouterV310Contract extends AbstractRouterContract {
|
|
|
157
156
|
} = props;
|
|
158
157
|
const { expectedBalances, leftoverBalances, tokensToClaim } = this.getExpectedAndLeftover(ca, cm, {
|
|
159
158
|
balances: balances ? {
|
|
160
|
-
expectedBalances:
|
|
161
|
-
leftoverBalances:
|
|
162
|
-
tokensToClaim:
|
|
159
|
+
expectedBalances: new AssetsMap(balances.expectedBalances),
|
|
160
|
+
leftoverBalances: new AssetsMap(balances.leftoverBalances),
|
|
161
|
+
tokensToClaim: new AssetsMap(balances.tokensToClaim || [])
|
|
163
162
|
} : void 0,
|
|
164
163
|
keepAssets: balances ? void 0 : keepAssets,
|
|
165
164
|
debtOnly
|
|
166
165
|
});
|
|
167
|
-
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.
|
|
166
|
+
const getNumSplits = this.#numSplitsGetter(cm, expectedBalances.toAssets());
|
|
168
167
|
const tData = [];
|
|
169
168
|
for (const token of cm.collateralTokens) {
|
|
170
169
|
tData.push({
|
|
171
170
|
token,
|
|
172
|
-
balance: expectedBalances.get(token)
|
|
173
|
-
leftoverBalance: limitLeftover(leftoverBalances.get(token)
|
|
171
|
+
balance: expectedBalances.get(token) || 0n,
|
|
172
|
+
leftoverBalance: limitLeftover(leftoverBalances.get(token), token) ?? 0n,
|
|
174
173
|
numSplits: getNumSplits(token),
|
|
175
|
-
claimRewards:
|
|
174
|
+
claimRewards: tokensToClaim.has(token)
|
|
176
175
|
});
|
|
177
176
|
}
|
|
178
177
|
this.logger?.debug(
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { AddressMap } from "../utils/index.js";
|
|
2
|
-
function balancesMap(assets) {
|
|
3
|
-
return new AddressMap(assets.map(({ token, balance }) => [token, balance]));
|
|
4
|
-
}
|
|
5
2
|
function assetsMap(assets) {
|
|
6
3
|
return new AddressMap(assets.map((a) => [a.token, a]));
|
|
7
4
|
}
|
|
@@ -16,6 +13,5 @@ function limitLeftover(balance, token) {
|
|
|
16
13
|
}
|
|
17
14
|
export {
|
|
18
15
|
assetsMap,
|
|
19
|
-
balancesMap,
|
|
20
16
|
limitLeftover
|
|
21
17
|
};
|
|
@@ -113,6 +113,12 @@ class AddressMap {
|
|
|
113
113
|
keys() {
|
|
114
114
|
return Array.from(this.#map.keys());
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Returns an unfrozen shallow copy of the map.
|
|
118
|
+
**/
|
|
119
|
+
clone() {
|
|
120
|
+
return new AddressMap(this.entries(), this.name);
|
|
121
|
+
}
|
|
116
122
|
/**
|
|
117
123
|
* Converts the map to a plain `Record<Address, T>` object.
|
|
118
124
|
**/
|
|
@@ -15,6 +15,13 @@ class AddressSet extends Set {
|
|
|
15
15
|
has(value) {
|
|
16
16
|
return super.has(getAddress(value));
|
|
17
17
|
}
|
|
18
|
+
difference(other) {
|
|
19
|
+
const result = new AddressSet(this.keys());
|
|
20
|
+
for (const key of other) {
|
|
21
|
+
result.delete(getAddress(key));
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
18
25
|
/**
|
|
19
26
|
* Returns all addresses as an array.
|
|
20
27
|
**/
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { AddressMap } from "./AddressMap.js";
|
|
2
|
+
class AssetsMap extends AddressMap {
|
|
3
|
+
/**
|
|
4
|
+
* @param entries - Optional initial entries as `[address, balance]` tuples or {@link Asset} objects.
|
|
5
|
+
* @param name - Optional label used in error messages when a lookup fails.
|
|
6
|
+
*/
|
|
7
|
+
constructor(entries, name) {
|
|
8
|
+
super(
|
|
9
|
+
entries?.map((e) => Array.isArray(e) ? e : [e.token, e.balance]),
|
|
10
|
+
name
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Looks up a token balance, treating a missing key as `0n`.
|
|
15
|
+
*/
|
|
16
|
+
getOrZero(address) {
|
|
17
|
+
return this.get(address) ?? 0n;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Adds `amount` to the token balance, treating a missing key as `0n`.
|
|
21
|
+
*/
|
|
22
|
+
inc(address, amount) {
|
|
23
|
+
this.upsert(address, this.getOrZero(address) + amount);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Subtracts `amount` from the token balance, treating a missing key as `0n`.
|
|
27
|
+
*/
|
|
28
|
+
dec(address, amount) {
|
|
29
|
+
this.inc(address, -amount);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Per-token difference `this - before`, non-zero entries only.
|
|
33
|
+
*
|
|
34
|
+
* Assumes this map's keys are a superset of `before`'s keys; tokens present
|
|
35
|
+
* only in `before` are not reported.
|
|
36
|
+
*/
|
|
37
|
+
difference(before) {
|
|
38
|
+
const result = new AssetsMap();
|
|
39
|
+
for (const [token, balance] of this.entries()) {
|
|
40
|
+
const change = balance - before.getOrZero(token);
|
|
41
|
+
if (change !== 0n) {
|
|
42
|
+
result.upsert(token, change);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Sums `fn` over all entries.
|
|
49
|
+
*/
|
|
50
|
+
sum(fn) {
|
|
51
|
+
return this.entries().reduce(
|
|
52
|
+
(acc, [token, balance]) => acc + fn(token, balance),
|
|
53
|
+
0n
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Converts the map to an array of {@link Asset} objects.
|
|
58
|
+
* @param minBalance - If provided, keeps only entries with a balance
|
|
59
|
+
* strictly greater than this threshold (e.g. `1n` to filter out dust).
|
|
60
|
+
*/
|
|
61
|
+
toAssets(minBalance) {
|
|
62
|
+
const abs = (balance) => balance > 0n ? balance : -balance;
|
|
63
|
+
return this.entries().filter(
|
|
64
|
+
([, balance]) => minBalance === void 0 || abs(balance) > minBalance
|
|
65
|
+
).map(([token, balance]) => ({ token, balance }));
|
|
66
|
+
}
|
|
67
|
+
clone() {
|
|
68
|
+
return new AssetsMap(this.entries(), this.name);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
AssetsMap
|
|
73
|
+
};
|