@gearbox-protocol/sdk 14.12.0-next.4 → 14.12.0-next.41

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.
Files changed (592) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +444 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  3. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  4. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  5. package/dist/cjs/abi/compressors/withdrawalCompressor.js +244 -3
  6. package/dist/cjs/abi/helpers/redemptionLogger.js +160 -0
  7. package/dist/cjs/abi/iRedemptionLoggerV310.js +119 -0
  8. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  9. package/dist/cjs/abi/router/midasWorker.js +4 -4
  10. package/dist/cjs/dev/AccountOpener.js +9 -15
  11. package/dist/cjs/dev/index.js +3 -1
  12. package/dist/cjs/dev/withdrawalAbi.js +2099 -0
  13. package/dist/cjs/dev/withdrawalUtils.js +278 -0
  14. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  15. package/dist/cjs/history/mapOperations.js +7 -0
  16. package/dist/cjs/history/populateContractsRegister.js +14 -11
  17. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  18. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  19. package/dist/cjs/plugins/adapters/abi/actionAbi.js +14 -15
  20. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  40. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +775 -0
  41. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  42. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  44. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  45. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +49 -14
  46. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  52. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  53. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  54. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  55. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  56. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +6 -43
  57. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  58. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  59. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  60. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  61. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  62. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  63. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
  64. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
  66. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
  67. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
  68. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
  69. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
  70. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
  71. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
  72. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
  73. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
  74. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
  75. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
  76. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
  77. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
  78. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
  79. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
  80. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
  81. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
  82. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
  83. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
  84. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
  85. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
  86. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
  87. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
  88. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +168 -0
  89. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
  90. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
  91. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
  92. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
  93. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +59 -6
  94. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
  95. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
  96. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
  97. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
  98. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
  99. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
  100. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
  101. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
  102. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  103. package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
  104. package/dist/cjs/plugins/adapters/types.js +2 -11
  105. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +25 -55
  106. package/dist/cjs/preview/index.js +5 -3
  107. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  108. package/dist/cjs/preview/parse/index.js +0 -2
  109. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  110. package/dist/cjs/preview/parse/parseOperationCalldata.js +8 -14
  111. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  112. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +18 -22
  113. package/dist/cjs/preview/parse/types.js +1 -1
  114. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +19 -42
  115. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +24 -38
  116. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  117. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +36 -31
  118. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +91 -0
  119. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  120. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  121. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  122. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +86 -0
  123. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  124. package/dist/cjs/preview/prerequisites/index.js +2 -6
  125. package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
  126. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  127. package/dist/cjs/preview/preview/buildDelayedPreview.js +151 -0
  128. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  129. package/dist/cjs/preview/preview/detectDelayedClaim.js +53 -0
  130. package/dist/cjs/preview/preview/detectDelayedOperation.js +70 -0
  131. package/dist/cjs/preview/preview/errors.js +36 -0
  132. package/dist/cjs/preview/preview/index.js +44 -0
  133. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
  134. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  135. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +84 -0
  136. package/dist/cjs/preview/preview/previewOperation.js +114 -0
  137. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  138. package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
  139. package/dist/cjs/preview/preview/replayMulticall.js +37 -0
  140. package/dist/cjs/preview/preview/types.js +49 -0
  141. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
  142. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  143. package/dist/cjs/preview/types.js +16 -0
  144. package/dist/cjs/rewards/rewards/extra-apy.js +8 -4
  145. package/dist/cjs/sdk/MultichainSDK.js +7 -0
  146. package/dist/cjs/sdk/OnchainSDK.js +29 -0
  147. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +172 -210
  148. package/dist/cjs/sdk/accounts/index.js +5 -1
  149. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +228 -0
  150. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +91 -0
  151. package/dist/cjs/sdk/accounts/liquidations/helpers.js +90 -0
  152. package/dist/cjs/sdk/accounts/liquidations/index.js +28 -0
  153. package/dist/cjs/sdk/accounts/liquidations/types.js +16 -0
  154. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +292 -0
  155. package/dist/cjs/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +72 -0
  156. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  157. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  158. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +222 -0
  159. package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
  160. package/dist/cjs/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/createRedemptionLogger.js} +16 -21
  161. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +45 -0
  162. package/dist/cjs/sdk/accounts/withdrawal-compressor/errors.js +38 -0
  163. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +42 -0
  164. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  165. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +36 -0
  166. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  167. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  168. package/dist/cjs/sdk/constants/address-provider.js +3 -0
  169. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  170. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  171. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  172. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  173. package/dist/cjs/sdk/router/helpers.js +0 -5
  174. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  175. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  176. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  177. package/dist/cjs/sdk/utils/index.js +2 -0
  178. package/dist/esm/abi/IWithdrawalCompressorV313.js +420 -0
  179. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  180. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  181. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  182. package/dist/esm/abi/compressors/withdrawalCompressor.js +244 -3
  183. package/dist/esm/abi/helpers/redemptionLogger.js +136 -0
  184. package/dist/esm/abi/iRedemptionLoggerV310.js +95 -0
  185. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  186. package/dist/esm/abi/router/midasWorker.js +4 -4
  187. package/dist/esm/dev/AccountOpener.js +10 -15
  188. package/dist/esm/dev/index.js +1 -0
  189. package/dist/esm/dev/withdrawalAbi.js +2068 -0
  190. package/dist/esm/dev/withdrawalUtils.js +266 -0
  191. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  192. package/dist/esm/history/mapOperations.js +7 -0
  193. package/dist/esm/history/populateContractsRegister.js +17 -12
  194. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  195. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  196. package/dist/esm/plugins/adapters/abi/actionAbi.js +14 -15
  197. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  201. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  202. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  203. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  208. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  209. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  210. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  213. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  214. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  215. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  216. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  217. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +750 -0
  218. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  219. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  220. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  221. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  222. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +45 -10
  223. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  224. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  225. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  226. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  227. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  228. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  229. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  230. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  231. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  232. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  233. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +6 -45
  234. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  235. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  236. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  237. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  238. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  239. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  240. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
  241. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  242. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
  243. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
  244. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
  245. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
  246. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
  247. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
  248. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
  249. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
  250. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
  251. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
  252. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
  253. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
  254. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
  255. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
  256. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
  257. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
  258. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
  259. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
  260. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
  261. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
  262. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
  263. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
  264. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
  265. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +154 -0
  266. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
  267. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
  268. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
  269. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
  270. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +63 -7
  271. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
  272. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
  273. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
  274. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
  275. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
  276. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
  277. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
  278. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
  279. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  280. package/dist/esm/plugins/adapters/createAdapter.js +43 -52
  281. package/dist/esm/plugins/adapters/types.js +2 -11
  282. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +26 -60
  283. package/dist/esm/preview/index.js +2 -1
  284. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  285. package/dist/esm/preview/parse/index.js +0 -1
  286. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  287. package/dist/esm/preview/parse/parseOperationCalldata.js +8 -14
  288. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  289. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +18 -22
  290. package/dist/esm/preview/parse/types.js +1 -1
  291. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +20 -46
  292. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +25 -42
  293. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  294. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +38 -33
  295. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +72 -0
  296. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  297. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  298. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  299. package/dist/esm/preview/prerequisites/checkPrerequisites.js +62 -0
  300. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  301. package/dist/esm/preview/prerequisites/index.js +1 -3
  302. package/dist/esm/preview/preview/CreditAccountState.js +133 -0
  303. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  304. package/dist/esm/preview/preview/buildDelayedPreview.js +130 -0
  305. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  306. package/dist/esm/preview/preview/detectDelayedClaim.js +30 -0
  307. package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
  308. package/dist/esm/preview/preview/errors.js +12 -0
  309. package/dist/esm/preview/preview/index.js +12 -0
  310. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
  311. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  312. package/dist/esm/preview/preview/previewOpenCreditAccount.js +68 -0
  313. package/dist/esm/preview/preview/previewOperation.js +95 -0
  314. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  315. package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
  316. package/dist/esm/preview/preview/replayMulticall.js +16 -0
  317. package/dist/esm/preview/preview/types.js +18 -0
  318. package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
  319. package/dist/esm/preview/simulate/simulateOperation.js +1 -4
  320. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  321. package/dist/esm/preview/types.js +0 -0
  322. package/dist/esm/rewards/rewards/extra-apy.js +8 -4
  323. package/dist/esm/sdk/MultichainSDK.js +7 -0
  324. package/dist/esm/sdk/OnchainSDK.js +33 -1
  325. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +168 -205
  326. package/dist/esm/sdk/accounts/index.js +2 -0
  327. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +210 -0
  328. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +67 -0
  329. package/dist/esm/sdk/accounts/liquidations/helpers.js +62 -0
  330. package/dist/esm/sdk/accounts/liquidations/index.js +4 -0
  331. package/dist/esm/sdk/accounts/liquidations/types.js +0 -0
  332. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +264 -0
  333. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +48 -0
  334. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  335. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  336. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +204 -0
  337. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
  338. package/dist/esm/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +23 -0
  339. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +21 -0
  340. package/dist/esm/sdk/accounts/withdrawal-compressor/errors.js +14 -0
  341. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +11 -0
  342. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  343. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +12 -0
  344. package/dist/esm/sdk/base/BaseContract.js +4 -2
  345. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  346. package/dist/esm/sdk/constants/address-provider.js +2 -0
  347. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  348. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  349. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  350. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  351. package/dist/esm/sdk/router/helpers.js +0 -4
  352. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  353. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  354. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  355. package/dist/esm/sdk/utils/index.js +1 -0
  356. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +596 -0
  357. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +198 -0
  358. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +198 -0
  359. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +198 -0
  360. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +355 -0
  361. package/dist/types/abi/helpers/redemptionLogger.d.ts +167 -0
  362. package/dist/types/abi/iRedemptionLoggerV310.d.ts +122 -0
  363. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  364. package/dist/types/abi/router/midasWorker.d.ts +4 -4
  365. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  366. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  367. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  368. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  369. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  370. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  371. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  372. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  373. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  374. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  375. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  376. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  377. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  378. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  379. package/dist/types/dev/abi.d.ts +4 -4
  380. package/dist/types/dev/index.d.ts +1 -0
  381. package/dist/types/dev/providers.d.ts +1 -1
  382. package/dist/types/dev/withdrawalAbi.d.ts +1580 -0
  383. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  384. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  385. package/dist/types/history/types.d.ts +4 -4
  386. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  387. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +355 -0
  388. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  389. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  390. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  391. package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
  392. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  393. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  394. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  395. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  396. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  397. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  398. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  399. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  400. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  401. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  402. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  403. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  404. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  405. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  406. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  407. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  408. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  409. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iMellow4626VaultAdapter.d.ts} +81 -83
  410. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  411. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  412. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +568 -0
  413. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  414. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  415. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  416. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  417. package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +251 -0
  418. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  419. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  420. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  421. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  422. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  423. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  424. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  425. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  426. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  427. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  428. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  429. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  430. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  431. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  432. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  433. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +66 -4
  434. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
  435. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  436. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
  437. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
  438. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
  439. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
  440. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
  441. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
  442. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
  443. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
  444. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
  445. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
  446. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
  447. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
  448. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
  449. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
  450. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
  451. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
  452. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
  453. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
  454. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
  455. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
  456. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
  457. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
  458. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
  459. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +614 -0
  460. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
  461. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
  462. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
  463. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
  464. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +110 -15
  465. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
  466. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
  467. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
  468. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
  469. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
  470. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
  471. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
  472. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
  473. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  474. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  475. package/dist/types/plugins/adapters/types.d.ts +54 -14
  476. package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +7 -7
  477. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  478. package/dist/types/preview/index.d.ts +2 -1
  479. package/dist/types/preview/parse/index.d.ts +0 -1
  480. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  481. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  482. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  483. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +5 -14
  484. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  485. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  486. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  487. package/dist/types/preview/parse/types-rwa.d.ts +12 -36
  488. package/dist/types/preview/parse/types.d.ts +0 -25
  489. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +15 -14
  490. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +20 -15
  491. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  492. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +40 -25
  493. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +15 -0
  494. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  495. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  496. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  497. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  498. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  499. package/dist/types/preview/prerequisites/index.d.ts +1 -3
  500. package/dist/types/preview/prerequisites/types.d.ts +24 -55
  501. package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
  502. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  503. package/dist/types/preview/preview/buildDelayedPreview.d.ts +47 -0
  504. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +20 -0
  505. package/dist/types/preview/preview/detectDelayedClaim.d.ts +45 -0
  506. package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
  507. package/dist/types/preview/preview/errors.d.ts +9 -0
  508. package/dist/types/preview/preview/index.d.ts +12 -0
  509. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  510. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  511. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  512. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  513. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  514. package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
  515. package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
  516. package/dist/types/preview/preview/types.d.ts +334 -0
  517. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
  518. package/dist/types/preview/simulate/index.d.ts +1 -4
  519. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  520. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  521. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  522. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -16
  523. package/dist/types/preview/simulate/types.d.ts +20 -51
  524. package/dist/types/preview/types.d.ts +63 -0
  525. package/dist/types/rewards/rewards/extra-apy.d.ts +3 -1
  526. package/dist/types/sdk/MultichainSDK.d.ts +6 -0
  527. package/dist/types/sdk/OnchainSDK.d.ts +17 -1
  528. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
  529. package/dist/types/sdk/accounts/index.d.ts +2 -0
  530. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +24 -0
  531. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +27 -0
  532. package/dist/types/sdk/accounts/liquidations/helpers.d.ts +46 -0
  533. package/dist/types/sdk/accounts/liquidations/index.d.ts +4 -0
  534. package/dist/types/sdk/accounts/liquidations/types.d.ts +227 -0
  535. package/dist/types/sdk/accounts/types.d.ts +177 -53
  536. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +112 -0
  537. package/dist/types/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +149 -0
  538. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  539. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  540. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +629 -0
  541. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
  542. package/dist/types/sdk/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +10 -0
  543. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +10 -0
  544. package/dist/types/sdk/accounts/withdrawal-compressor/errors.d.ts +13 -0
  545. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +11 -0
  546. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  547. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +438 -0
  548. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  549. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  550. package/dist/types/sdk/base/types.d.ts +18 -0
  551. package/dist/types/sdk/chain/chains.d.ts +8 -8
  552. package/dist/types/sdk/constants/address-provider.d.ts +1 -0
  553. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  554. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  555. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +11 -3
  556. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  557. package/dist/types/sdk/market/rwa/types.d.ts +26 -9
  558. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  559. package/dist/types/sdk/pools/types.d.ts +1 -1
  560. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  561. package/dist/types/sdk/router/helpers.d.ts +1 -2
  562. package/dist/types/sdk/router/types.d.ts +1 -15
  563. package/dist/types/sdk/types/state.d.ts +8 -0
  564. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  565. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  566. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  567. package/dist/types/sdk/utils/index.d.ts +1 -0
  568. package/package.json +11 -12
  569. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  570. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  571. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  572. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  573. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -293
  574. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  575. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  576. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  577. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  578. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  579. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  580. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -271
  581. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  582. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  583. package/dist/esm/preview/simulate/holders.js +0 -21
  584. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  585. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  586. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  587. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  588. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  589. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  590. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  591. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  592. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -0,0 +1,227 @@
1
+ import type { Address } from "viem";
2
+ import type { Asset } from "../../base/index.js";
3
+ import type { NetworkType } from "../../chain/index.js";
4
+ /**
5
+ * Filters for {@link ILiquidationsService.getLiquidatableAccounts}.
6
+ * All filters are optional and applied after liquidatable accounts are fetched.
7
+ **/
8
+ export interface GetLiquidatableAccountsProps {
9
+ /**
10
+ * Networks to query. On {@link MultichainLiquidationsService} selects which
11
+ * chains to query; a single-chain service returns an empty list when its
12
+ * own network is excluded.
13
+ **/
14
+ networks?: NetworkType[];
15
+ /**
16
+ * Only return accounts whose main liquidated {@link LiquidatableAccount.asset}
17
+ * is one of these tokens.
18
+ **/
19
+ assets?: Address[];
20
+ /**
21
+ * When set, only return accounts with (`true`) or without (`false`)
22
+ * delayed (phantom-token) withdrawals.
23
+ **/
24
+ delayed?: boolean;
25
+ }
26
+ /**
27
+ * A credit account that can be liquidated, with amounts precomputed for
28
+ * manual liquidation via the frontend.
29
+ **/
30
+ export interface LiquidatableAccount {
31
+ /**
32
+ * Credit account address.
33
+ **/
34
+ creditAccount: Address;
35
+ /**
36
+ * Credit manager the account is opened in.
37
+ **/
38
+ creditManager: Address;
39
+ /**
40
+ * Network the account lives on.
41
+ **/
42
+ network: NetworkType;
43
+ /**
44
+ * Main asset being liquidated: the most valuable enabled non-underlying
45
+ * collateral token. For delayed-withdrawal phantom tokens, the source
46
+ * asset (e.g. ACRED) is reported instead of the phantom token. Falls back
47
+ * to the underlying when the account holds no other collateral.
48
+ **/
49
+ asset: Address;
50
+ /**
51
+ * Account total value. The token is the unwrapped asset (e.g. USDC) for
52
+ * RWA credit managers (1:1 with the wrapped underlying), the credit
53
+ * manager underlying otherwise.
54
+ **/
55
+ totalValue: Asset;
56
+ /**
57
+ * Account total value in USD (8 decimals).
58
+ **/
59
+ totalValueUSD: bigint;
60
+ /**
61
+ * Estimated amount the liquidator pays to fully liquidate the account:
62
+ * `totalValue * liquidationDiscount`. Same token as {@link totalValue}.
63
+ **/
64
+ repaymentAmount: Asset;
65
+ /**
66
+ * Estimated liquidator profit: `totalValue * (1 - liquidationDiscount)`.
67
+ * Same token as {@link totalValue}.
68
+ **/
69
+ estimatedProfit: Asset;
70
+ /**
71
+ * `true` when the account holds a delayed-withdrawal phantom token above
72
+ * dust, i.e. the liquidation transfers withdrawal redeemers into the
73
+ * liquidator's ownership instead of instantly receivable tokens.
74
+ **/
75
+ isDelayed: boolean;
76
+ }
77
+ /**
78
+ * Props for {@link ILiquidationsService.getLiquidationDetails}.
79
+ **/
80
+ export interface GetLiquidationDetailsProps {
81
+ /**
82
+ * Network the credit account lives on.
83
+ **/
84
+ network: NetworkType;
85
+ /**
86
+ * Credit account to get liquidation details for.
87
+ **/
88
+ creditAccount: Address;
89
+ /**
90
+ * Liquidator wallet address. Reserved for future RWA KYC gating;
91
+ * accepted but not checked yet.
92
+ **/
93
+ liquidator?: Address;
94
+ }
95
+ /**
96
+ * A token received directly from the credit account balance upon liquidation.
97
+ **/
98
+ export interface InstantReceivedAsset {
99
+ isDelayed: false;
100
+ /**
101
+ * Token received by the liquidator.
102
+ **/
103
+ token: Address;
104
+ /**
105
+ * Amount of `token` received.
106
+ **/
107
+ amount: bigint;
108
+ }
109
+ /**
110
+ * A token produced by a delayed withdrawal whose redeemer is transferred to
111
+ * the liquidator upon liquidation.
112
+ **/
113
+ export interface DelayedReceivedAsset {
114
+ isDelayed: true;
115
+ /**
116
+ * Receivable token (e.g. USDC).
117
+ **/
118
+ token: Address;
119
+ /**
120
+ * Amount of `token`: exact for claimable withdrawals, estimated for
121
+ * pending ones.
122
+ **/
123
+ amount: bigint;
124
+ /**
125
+ * Source asset spent by the delayed withdrawal (e.g. ACRED).
126
+ **/
127
+ sourceToken: Address;
128
+ /**
129
+ * Estimated unix timestamp (in seconds) when a pending withdrawal becomes
130
+ * claimable. `undefined` means the withdrawal is claimable now.
131
+ **/
132
+ claimableAt?: bigint;
133
+ }
134
+ /**
135
+ * A single asset the liquidator receives when fully liquidating an account.
136
+ **/
137
+ export type ReceivedAsset = InstantReceivedAsset | DelayedReceivedAsset;
138
+ /**
139
+ * Props for {@link ILiquidationsService.getLiquidatorWithdrawals}.
140
+ **/
141
+ export interface GetLiquidatorWithdrawalsProps {
142
+ /**
143
+ * Networks to query. On {@link MultichainLiquidationsService} selects which
144
+ * chains to query; a single-chain service returns an empty list when its
145
+ * own network is excluded.
146
+ **/
147
+ networks?: NetworkType[];
148
+ /**
149
+ * Liquidator wallet that owns the redemption receipts (redeemer contracts
150
+ * received as a result of liquidations).
151
+ **/
152
+ liquidator: Address;
153
+ }
154
+ /**
155
+ * A single delayed-withdrawal position owned by the liquidator.
156
+ *
157
+ * The redeemer contract address is not included: it is not part of the
158
+ * on-chain withdrawal structs returned by the withdrawal compressor. It can
159
+ * be surfaced later if the compressor structs are extended.
160
+ **/
161
+ export interface LiquidatorWithdrawal {
162
+ /**
163
+ * Network the withdrawal lives on.
164
+ **/
165
+ network: NetworkType;
166
+ /**
167
+ * Source asset spent by the delayed withdrawal (e.g. ACRED).
168
+ **/
169
+ sourceToken: Address;
170
+ /**
171
+ * Receivable asset (e.g. USDC).
172
+ **/
173
+ token: Address;
174
+ /**
175
+ * Amount of `token` receivable: exact for claimable withdrawals, estimated
176
+ * for pending ones.
177
+ **/
178
+ amount: bigint;
179
+ /**
180
+ * Estimated unix timestamp (in seconds) when a pending withdrawal becomes
181
+ * claimable. `undefined` means the withdrawal is claimable now.
182
+ **/
183
+ claimableAt?: bigint;
184
+ }
185
+ /**
186
+ * Detailed information about a liquidatable credit account, extending the
187
+ * list row with the full breakdown of assets the liquidator receives.
188
+ **/
189
+ export interface LiquidationDetails extends LiquidatableAccount {
190
+ /**
191
+ * Assets the liquidator receives upon full liquidation: direct credit
192
+ * account balances plus outputs of delayed withdrawals (claimable and
193
+ * pending).
194
+ **/
195
+ receivedAssets: ReceivedAsset[];
196
+ }
197
+ /**
198
+ * Service for discovering liquidatable credit accounts and previewing manual
199
+ * liquidations. Implemented per-chain by {@link LiquidationsService} and
200
+ * across all configured chains by {@link MultichainLiquidationsService}.
201
+ **/
202
+ export interface ILiquidationsService {
203
+ /**
204
+ * Returns all liquidatable credit accounts: accounts with health factor
205
+ * below 1 plus accounts of expired credit managers with outstanding debt.
206
+ * Accounts whose collateral computation failed are excluded.
207
+ *
208
+ * @param props - Optional filters, see {@link GetLiquidatableAccountsProps}
209
+ **/
210
+ getLiquidatableAccounts(props?: GetLiquidatableAccountsProps): Promise<LiquidatableAccount[]>;
211
+ /**
212
+ * Returns detailed information about a liquidatable credit account,
213
+ * including the full list of assets the liquidator receives.
214
+ *
215
+ * @param props - See {@link GetLiquidationDetailsProps}
216
+ * @throws When the account is not found or its collateral computation fails.
217
+ **/
218
+ getLiquidationDetails(props: GetLiquidationDetailsProps): Promise<LiquidationDetails>;
219
+ /**
220
+ * Returns the status of delayed-withdrawal positions (redemption receipts)
221
+ * owned by a liquidator wallet: what is receivable, how much, and when it
222
+ * becomes claimable.
223
+ *
224
+ * @param props - See {@link GetLiquidatorWithdrawalsProps}
225
+ **/
226
+ getLiquidatorWithdrawals(props: GetLiquidatorWithdrawalsProps): Promise<LiquidatorWithdrawal[]>;
227
+ }
@@ -1,12 +1,12 @@
1
- import type { Address, ContractFunctionArgs, GetContractReturnType, Hex, PublicClient } from "viem";
1
+ import type { Address, ContractFunctionArgs, Hex } from "viem";
2
2
  import type { creditAccountCompressorAbi } from "../../abi/compressors/creditAccountCompressor.js";
3
- import type { iWithdrawalCompressorV310Abi } from "../../abi/IWithdrawalCompressorV310.js";
4
- import type { ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
5
- import type { CreditSuite, PriceUpdate, RWAOperationParams } from "../market/index.js";
3
+ import type { Asset, ConnectedBotData, Construct, CreditAccountData } from "../base/index.js";
4
+ import type { CreditSuite, PriceUpdate, RWAOperationArgs } from "../market/index.js";
6
5
  import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
7
6
  import type { OnchainSDK } from "../OnchainSDK.js";
8
- import type { Asset, RouterCASlice, RouterCloseResult } from "../router/index.js";
7
+ import type { RouterCASlice, RouterCloseResult } from "../router/index.js";
9
8
  import type { MultiCall, RawTx } from "../types/index.js";
9
+ import type { ClaimableWithdrawal, DelayedIntent, PendingWithdrawal, RequestableWithdrawal } from "./withdrawal-compressor/index.js";
10
10
  /**
11
11
  * @internal
12
12
  * Arguments tuple for the credit account compressor's `getCreditAccounts` view method.
@@ -182,16 +182,27 @@ export interface CloseCreditAccountProps {
182
182
  */
183
183
  closePath?: RouterCloseResult;
184
184
  }
185
- export interface RepayCreditAccountProps extends RepayAndLiquidateCreditAccountProps {
185
+ /**
186
+ * Input for {@link ICreditAccountsService.assembleCloseCreditAccountCalls}.
187
+ */
188
+ export type AssembleCloseCreditAccountCallsProps = {
186
189
  /**
187
- * Swap calls for repay
190
+ * Minimal credit account data on which operation is performed.
188
191
  */
189
- calls?: Array<MultiCall>;
192
+ creditAccount: RouterCASlice;
190
193
  /**
191
- * close or zeroDebt
194
+ * Pathfinder close router calls (`closePath.calls`).
192
195
  */
193
- operation: CloseOptions;
194
- }
196
+ routerCalls: Array<MultiCall>;
197
+ /**
198
+ * Tokens to withdraw from credit account after close path swaps.
199
+ */
200
+ assetsToWithdraw: Array<Address>;
201
+ /**
202
+ * Wallet address to withdraw tokens to.
203
+ */
204
+ to: Address;
205
+ };
195
206
  export interface RepayAndLiquidateCreditAccountProps {
196
207
  /**
197
208
  * Tokens to repay debt.
@@ -220,6 +231,31 @@ export interface RepayAndLiquidateCreditAccountProps {
220
231
  permits: Record<string, PermitResult>;
221
232
  tokensToClaim: Asset[];
222
233
  }
234
+ /**
235
+ * Input for {@link ICreditAccountsService.assembleRepayCreditAccountCalls}.
236
+ */
237
+ export type AssembleRepayCreditAccountCallsProps = {
238
+ collateralAssets: Array<Asset>;
239
+ assetsToWithdraw: Array<Asset>;
240
+ creditAccount: RouterCASlice;
241
+ to: Address;
242
+ permits: Record<string, PermitResult>;
243
+ tokensToClaim: Asset[];
244
+ /**
245
+ * RWA wrap multicall entries (from getRWAWrapCalls).
246
+ */
247
+ calls?: Array<MultiCall>;
248
+ };
249
+ export interface RepayCreditAccountProps extends RepayAndLiquidateCreditAccountProps {
250
+ /**
251
+ * RWA wrap multicall entries (from getRWAWrapCalls).
252
+ */
253
+ calls?: Array<MultiCall>;
254
+ /**
255
+ * close or zeroDebt
256
+ */
257
+ operation: CloseOptions;
258
+ }
223
259
  export interface PrepareUpdateQuotasProps {
224
260
  /**
225
261
  * average quota for desired token
@@ -304,6 +340,13 @@ export interface PreviewDelayedWithdrawalProps {
304
340
  * Minimal credit account data on which operation is performed
305
341
  */
306
342
  creditAccount: Address;
343
+ /**
344
+ * Withdrawal phantom token that selects a specific withdrawal config when
345
+ * the source token has more than one. When omitted, the first matching
346
+ * config is used
347
+ */
348
+ withdrawalPhantomToken?: Address;
349
+ intent?: DelayedIntent;
307
350
  }
308
351
  export interface GetPendingWithdrawalsProps {
309
352
  /**
@@ -311,20 +354,6 @@ export interface GetPendingWithdrawalsProps {
311
354
  */
312
355
  creditAccount: Address;
313
356
  }
314
- type WithdrawalCompressorV310InstanceType = GetContractReturnType<typeof iWithdrawalCompressorV310Abi, PublicClient>;
315
- /**
316
- * Result of previewing a delayed withdrawal request, as returned by the withdrawal compressor.
317
- **/
318
- export type PreviewDelayedWithdrawalResult = Awaited<ReturnType<WithdrawalCompressorV310InstanceType["read"]["getWithdrawalRequestResult"]>>;
319
- type PendingWithdrawalResult = Awaited<ReturnType<WithdrawalCompressorV310InstanceType["read"]["getCurrentWithdrawals"]>>;
320
- /**
321
- * A single pending delayed withdrawal that is not yet claimable.
322
- **/
323
- export type PendingWithdrawal = PendingWithdrawalResult[1][number];
324
- /**
325
- * A single delayed withdrawal that is ready to be claimed.
326
- **/
327
- export type ClaimableWithdrawal = PendingWithdrawalResult[0][number];
328
357
  /**
329
358
  * Aggregated delayed withdrawal status, split into immediately claimable and still-pending entries.
330
359
  **/
@@ -338,11 +367,40 @@ export interface GetPendingWithdrawalsResult {
338
367
  **/
339
368
  pending: Array<PendingWithdrawal>;
340
369
  }
370
+ /**
371
+ * Input for {@link ICreditAccountsService.assembleStartDelayedWithdrawalCalls}.
372
+ */
373
+ export type AssembleStartDelayedWithdrawalCallsProps = {
374
+ /**
375
+ * Credit facade that receives `storeExpectedBalances` / `compareBalances`.
376
+ */
377
+ creditFacade: Address;
378
+ /**
379
+ * Withdrawal preview: `outputs` for expected balances, `token`/`amountIn`
380
+ * for the negative source-token delta, `requestCalls` for the body.
381
+ */
382
+ preview: Pick<RequestableWithdrawal, "outputs" | "requestCalls" | "token" | "amountIn">;
383
+ };
384
+ /**
385
+ * Input for {@link ICreditAccountsService.assembleClaimDelayedCalls}.
386
+ */
387
+ export type AssembleClaimDelayedCallsProps = {
388
+ /**
389
+ * Credit facade that receives `storeExpectedBalances` / `compareBalances`.
390
+ */
391
+ creditFacade: Address;
392
+ /**
393
+ * Claimable withdrawal: `outputs` for expected balances,
394
+ * `withdrawalPhantomToken`/`withdrawalTokenSpent` for the negative
395
+ * phantom-burn delta, `claimCalls` for the body.
396
+ */
397
+ claimableNow: Pick<ClaimableWithdrawal, "outputs" | "claimCalls" | "withdrawalPhantomToken" | "withdrawalTokenSpent">;
398
+ };
341
399
  export interface StartDelayedWithdrawalProps extends PrepareUpdateQuotasProps {
342
400
  /**
343
401
  * Withdrawal preview
344
402
  */
345
- preview: PreviewDelayedWithdrawalResult;
403
+ preview: RequestableWithdrawal;
346
404
  /**
347
405
  * Minimal credit account data on which operation is performed
348
406
  */
@@ -431,11 +489,11 @@ export interface OpenCAProps extends PrepareUpdateQuotasProps {
431
489
  * RWA options to open credit account with, required for RWA factories
432
490
  * First we ask for getOpenAccountRequirements,
433
491
  * then perform necessary actions (e.g. for Securitize, convert requiredSignatures to signaturesToCache)
434
- * to produce RWAOperationParams
492
+ * to produce RWAOperationArgs
435
493
  * If getOpenAccountRequirements returned undefined, we need to pass undefined here too;
436
494
  * It means that no RWA actions are required (e.g. when we open second credit account)
437
495
  */
438
- rwaOptions?: RWAOperationParams;
496
+ rwaOptions?: RWAOperationArgs;
439
497
  }
440
498
  export interface ChangeDeptProps {
441
499
  /**
@@ -673,12 +731,14 @@ export type GetApprovalAddressProps = {
673
731
  creditAccount: Address;
674
732
  };
675
733
  /**
676
- * A single step in a generic credit account update operation chain.
734
+ * An enriched credit-account operation ready for encoding.
735
+ * Each op carries everything needed to build facade / adapter multicalls —
736
+ * swap / wrap / unwrap attach concrete `calls` (no external routerCallGroups).
677
737
  *
678
- * Used by {@link ICreditAccountsService.assembleCaUpdateCalls} to build the
679
- * underlying credit facade multicall calls.
738
+ * Used by {@link ICreditAccountsService.assembleCaOperations}. Does not include
739
+ * close / repay (use dedicated assemblers).
680
740
  */
681
- export type CreditAccountUpdateOperation = {
741
+ export type EncodableCreditAccountOperation = {
682
742
  type: "increaseDebt";
683
743
  amount: bigint;
684
744
  } | {
@@ -692,32 +752,27 @@ export type CreditAccountUpdateOperation = {
692
752
  type: "withdrawCollateral";
693
753
  token: Address;
694
754
  amount: bigint;
755
+ to: Address;
695
756
  } | {
696
757
  type: "swap";
758
+ calls: Array<MultiCall>;
759
+ } | {
760
+ type: "wrapRwaCollateral";
761
+ calls: Array<MultiCall>;
762
+ } | {
763
+ type: "unwrapRwaCollateral";
764
+ calls: Array<MultiCall>;
697
765
  } | {
698
766
  type: "changeQuota";
699
767
  quotaIncrease: Array<Asset>;
700
768
  quotaDecrease: Array<Asset>;
701
- } | {
702
- type: "closeCreditAccount";
703
769
  };
704
770
  /**
705
- * Input for {@link ICreditAccountsService.assembleCaUpdateCalls}.
771
+ * Input for {@link ICreditAccountsService.assembleCaOperations}.
706
772
  */
707
- export type AssembleCaUpdateCallsProps = {
708
- operations: Array<CreditAccountUpdateOperation>;
709
- /** One group per swap leg (in order), or a single group for the close path. */
710
- routerCallGroups: Array<Array<MultiCall>>;
773
+ export type AssembleCaOperationsProps = {
774
+ operations: Array<EncodableCreditAccountOperation>;
711
775
  creditFacade: Address;
712
- withdrawTo: Address;
713
- creditAccount: {
714
- debt: bigint;
715
- assets: Array<Asset>;
716
- initialQuotas: Record<Address, {
717
- quota: bigint;
718
- }>;
719
- };
720
- underlyingToken: Address;
721
776
  };
722
777
  export interface ICreditAccountsService extends Construct {
723
778
  sdk: OnchainSDK;
@@ -798,6 +853,17 @@ export interface ICreditAccountsService extends Construct {
798
853
  * @returns Raw transaction ready to be signed and sent
799
854
  */
800
855
  partiallyLiquidate(props: PartiallyLiquidateProps): Promise<RawTx>;
856
+ /**
857
+ * Builds close multicall calls without price feed updates.
858
+ *
859
+ * Same operation sequence as {@link closeCreditAccount} (close path swaps,
860
+ * disable quotas, decrease debt, withdraw assets), but does not prepend
861
+ * price updates and does not build the facade transaction.
862
+ *
863
+ * @param props - {@link AssembleCloseCreditAccountCallsProps}
864
+ * @returns Raw facade multicall payload for close (before price feed updates)
865
+ */
866
+ assembleCloseCreditAccountCalls(props: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
801
867
  /**
802
868
  * Closes credit account or closes credit account and keeps it open with zero debt.
803
869
  * - Ca is closed in the following order: price update -> close path to swap all tokens into underlying ->
@@ -841,12 +907,51 @@ export interface ICreditAccountsService extends Construct {
841
907
  * @returns All necessary data to execute the transaction (call, credit facade)
842
908
  */
843
909
  startDelayedWithdrawal(props: StartDelayedWithdrawalProps): Promise<CreditAccountOperationResult>;
910
+ /**
911
+ * Builds start-delayed-withdrawal multicall calls without price feed updates
912
+ * or quota updates.
913
+ *
914
+ * Same balance bracket as {@link startDelayedWithdrawal}:
915
+ * `storeExpectedBalances` → `preview.requestCalls` → `compareBalances`.
916
+ *
917
+ * Besides the positive output deltas, the bracket carries a negative delta
918
+ * of the spent source token (`preview.token` / `-preview.amountIn`). It
919
+ * makes the input-side balance decrease previewable from the calldata alone and lets
920
+ * `compareBalances` assert the balance doesn't drop by more than predicted.
921
+ *
922
+ * Does not prepend price updates and does not build the facade transaction.
923
+ *
924
+ * @param props - {@link AssembleStartDelayedWithdrawalCallsProps}
925
+ * @returns Raw facade multicall payload for the delayed-withdrawal request
926
+ */
927
+ assembleStartDelayedWithdrawalCalls(props: AssembleStartDelayedWithdrawalCallsProps): Array<MultiCall>;
928
+ /**
929
+ * Builds claim-delayed-withdrawal multicall calls without price feed updates
930
+ * or quota updates.
931
+ *
932
+ * Same balance bracket as {@link claimDelayed}:
933
+ * `storeExpectedBalances` → `claimableNow.claimCalls` → `compareBalances`.
934
+ *
935
+ * Besides the positive output deltas, the bracket carries a negative delta
936
+ * of the burned withdrawal phantom token (`claimableNow.withdrawalPhantomToken`
937
+ * / `-claimableNow.withdrawalTokenSpent`). It makes the phantom burn
938
+ * previewable from the calldata alone and lets `compareBalances` assert the
939
+ * balance doesn't drop by more than predicted.
940
+ *
941
+ * Does not prepend price updates, does not update quotas, and does not build
942
+ * the facade transaction. Use for resume / intent assembly where claim is
943
+ * followed by other ops and quotas/prices are applied separately.
944
+ *
945
+ * @param props - {@link AssembleClaimDelayedCallsProps}
946
+ * @returns Raw facade multicall payload for the claim
947
+ */
948
+ assembleClaimDelayedCalls(props: AssembleClaimDelayedCallsProps): Array<MultiCall>;
844
949
  /**
845
950
  * Preview delayed withdrawal for given token
846
951
  * @param props - {@link PreviewDelayedWithdrawalProps}
847
952
  * @returns
848
953
  */
849
- previewDelayedWithdrawal(props: PreviewDelayedWithdrawalProps): Promise<PreviewDelayedWithdrawalResult>;
954
+ previewDelayedWithdrawal(props: PreviewDelayedWithdrawalProps): Promise<RequestableWithdrawal>;
850
955
  /**
851
956
  * Get claimable and pending withdrawals of an account
852
957
  * @param props - {@link GetPendingWithdrawalsProps}
@@ -943,12 +1048,20 @@ export interface ICreditAccountsService extends Construct {
943
1048
  ignoreReservePrices?: boolean;
944
1049
  }): Promise<Array<MultiCall>>;
945
1050
  /**
946
- * Builds the credit facade multicall calls for a chain of update operations.
1051
+ * Builds credit facade multicall calls from an enriched operation list.
1052
+ * Each operation must already carry concrete encoding data (e.g. swap/wrap
1053
+ * `calls`). Unknown operation types throw.
947
1054
  *
948
- * @param props - Operation chain, router call groups and account context
949
- * @returns Array of facade multicall calls (without price feed updates)
1055
+ * Does not handle close, repay, start delayed withdrawal, or claim delayed —
1056
+ * use {@link ICreditAccountsService.assembleCloseCreditAccountCalls} /
1057
+ * {@link ICreditAccountsService.assembleRepayCreditAccountCalls} /
1058
+ * {@link ICreditAccountsService.assembleStartDelayedWithdrawalCalls} /
1059
+ * {@link ICreditAccountsService.assembleClaimDelayedCalls}.
1060
+ *
1061
+ * @param props - Encodable operations and account context
1062
+ * @returns Array of facade / adapter multicall calls (without price feed updates)
950
1063
  */
951
- assembleCaUpdateCalls(props: AssembleCaUpdateCallsProps): Array<MultiCall>;
1064
+ assembleCaOperations(props: AssembleCaOperationsProps): Array<MultiCall>;
952
1065
  /**
953
1066
  * Executes a credit account update: prepends price feed updates and builds the raw
954
1067
  * multicall transaction. Uses the RWA factory when applicable.
@@ -1009,6 +1122,17 @@ export interface ICreditAccountsService extends Construct {
1009
1122
  * @return All necessary data to execute the transaction (call, credit facade)
1010
1123
  */
1011
1124
  withdrawCollateral(props: WithdrawCollateralProps): Promise<CreditAccountOperationResult>;
1125
+ /**
1126
+ * Builds repay multicall calls without price feed updates.
1127
+ *
1128
+ * Same operation sequence as {@link repayCreditAccount} (add collateral, wrap calls,
1129
+ * disable quotas, decrease debt, redeem/unwrap, claim rewards, withdraw assets),
1130
+ * but does not prepend price updates and does not build the facade transaction.
1131
+ *
1132
+ * @param props - {@link AssembleRepayCreditAccountCallsProps}
1133
+ * @returns Raw facade multicall payload for repay (before price feed updates)
1134
+ */
1135
+ assembleRepayCreditAccountCalls(props: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
1012
1136
  /**
1013
1137
  * Fully repays credit account or repays credit account and keeps it open with zero debt
1014
1138
  * - Repays in the following order: price update -> add collateral to cover the debt ->
@@ -0,0 +1,112 @@
1
+ import type { Abi, Address, ContractFunctionReturnType } from "viem";
2
+ import type { iWithdrawalCompressorV313Abi } from "../../../abi/IWithdrawalCompressorV313.js";
3
+ import type { BaseContractArgs } from "../../base/index.js";
4
+ import { BaseContract } from "../../base/index.js";
5
+ import type { OnchainSDK } from "../../OnchainSDK.js";
6
+ import type { ClaimableWithdrawal, CurrentWithdrawals, GetWithdrawalRequestResultProps, IWithdrawalCompressorContract, PendingWithdrawal, RequestableWithdrawal, WithdrawableAsset, WithdrawalStatus, WithdrawalsState } from "./types.js";
7
+ export declare const iCreditAccountAbi: readonly [{
8
+ readonly type: "function";
9
+ readonly name: "creditManager";
10
+ readonly inputs: readonly [];
11
+ readonly outputs: readonly [{
12
+ readonly name: "";
13
+ readonly type: "address";
14
+ readonly internalType: "address";
15
+ }];
16
+ readonly stateMutability: "view";
17
+ }];
18
+ /**
19
+ * v313 ABI is a type-level superset of v310/v311 for the read methods used
20
+ * here. Fields missing in older versions (`maxWithdrawals`, `extraData`) are
21
+ * required in the inferred types but absent at runtime on v310/v311, so the
22
+ * normalization helpers must not assume their presence.
23
+ **/
24
+ type CommonAbi = typeof iWithdrawalCompressorV313Abi;
25
+ type OnchainCurrentWithdrawals = ContractFunctionReturnType<CommonAbi, "view", "getCurrentWithdrawals">;
26
+ type OnchainClaimableWithdrawal = OnchainCurrentWithdrawals[0][number];
27
+ type OnchainPendingWithdrawal = OnchainCurrentWithdrawals[1][number];
28
+ /**
29
+ * Base class for WithdrawalCompressor contracts of different versions.
30
+ * Implements version-agnostic reads, normalizing results to common types.
31
+ * Withdrawable assets are cached for the lifetime of the instance (which is
32
+ * reused across calls via the SDK's contracts register).
33
+ **/
34
+ export declare abstract class AbstractWithdrawalCompressorContract<abi extends Abi> extends BaseContract<abi> implements IWithdrawalCompressorContract {
35
+ #private;
36
+ constructor(sdk: OnchainSDK, args: BaseContractArgs<abi>);
37
+ /**
38
+ * {@inheritDoc IWithdrawalCompressorContract.hydrate}
39
+ **/
40
+ hydrate(state: WithdrawalsState): void;
41
+ /**
42
+ * The contract is instantiated with the actual versioned ABI,
43
+ * this cast is type-level only (see {@link CommonAbi}).
44
+ **/
45
+ private get common();
46
+ /**
47
+ * {@inheritDoc IWithdrawalCompressorContract.state}
48
+ **/
49
+ get state(): WithdrawalsState | undefined;
50
+ /**
51
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssets}
52
+ **/
53
+ getWithdrawableAssets(...creditManagers: Address[]): WithdrawableAsset[];
54
+ /**
55
+ * {@inheritDoc IWithdrawalCompressorContract.loadWithdrawableAssets}
56
+ **/
57
+ loadWithdrawableAssets(force?: boolean): Promise<WithdrawableAsset[]>;
58
+ /**
59
+ * {@inheritDoc IWithdrawalCompressorContract.findWithdrawableAssets}
60
+ **/
61
+ findWithdrawableAssets(creditManager: Address, token: Address): Promise<WithdrawableAsset[]>;
62
+ /**
63
+ * {@inheritDoc IWithdrawalCompressorContract.findWithdrawableAssetsByPhantomToken}
64
+ **/
65
+ findWithdrawableAssetsByPhantomToken(withdrawalPhantomToken: Address): Promise<WithdrawableAsset[]>;
66
+ /**
67
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalPhantomToken}
68
+ **/
69
+ getWithdrawalPhantomToken(creditManager: Address, token: Address): Promise<Address>;
70
+ /**
71
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalSourceToken}
72
+ **/
73
+ getWithdrawalSourceToken(withdrawalPhantomToken: Address): Address | undefined;
74
+ /**
75
+ * {@inheritDoc IWithdrawalCompressorContract.getCurrentWithdrawals}
76
+ **/
77
+ getCurrentWithdrawals(creditAccount: Address): Promise<CurrentWithdrawals>;
78
+ /**
79
+ * {@inheritDoc IWithdrawalCompressorContract.getExternalAccountCurrentWithdrawals}
80
+ **/
81
+ getExternalAccountCurrentWithdrawals(_account: Address, ..._withdrawalTokens: Address[]): Promise<CurrentWithdrawals>;
82
+ /**
83
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalStatus}
84
+ **/
85
+ getWithdrawalStatus(...redeemers: Address[]): Promise<WithdrawalStatus[]>;
86
+ /**
87
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalRequestResult}
88
+ *
89
+ * Legacy compressors only support the 3-arg overload: `intent` and
90
+ * `withdrawalPhantomToken` are reported as unsupported (in non-strict mode
91
+ * the request is previewed without them).
92
+ **/
93
+ getWithdrawalRequestResult({ creditAccount, token, amount, withdrawalPhantomToken, intent, }: GetWithdrawalRequestResultProps): Promise<RequestableWithdrawal>;
94
+ }
95
+ export type OnchainRequestableWithdrawal = ContractFunctionReturnType<CommonAbi, "view", "getWithdrawalRequestResult", readonly [Address, Address, bigint]>;
96
+ /**
97
+ * Normalizes a previewed withdrawal request.
98
+ **/
99
+ export declare function toRequestableWithdrawal(resp: OnchainRequestableWithdrawal): RequestableWithdrawal;
100
+ /**
101
+ * Normalizes a claimable withdrawal. The intent is decoded from `extraData`
102
+ * only when `creditManager` is provided (it is required to build
103
+ * {@link DelayedIntentExtended} and is only meaningful for credit account
104
+ * withdrawals on v313+ compressors).
105
+ **/
106
+ export declare function toClaimableWithdrawal(w: OnchainClaimableWithdrawal, creditManager: Address | undefined): ClaimableWithdrawal;
107
+ /**
108
+ * Normalizes a pending withdrawal, see {@link toClaimableWithdrawal} for
109
+ * intent decoding rules.
110
+ **/
111
+ export declare function toPendingWithdrawal(w: OnchainPendingWithdrawal, creditManager: Address | undefined): PendingWithdrawal;
112
+ export {};