@gearbox-protocol/sdk 14.12.0-next.2 → 14.12.0-next.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +229 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  3. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  4. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  5. package/dist/cjs/abi/compressors/withdrawalCompressor.js +45 -1
  6. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  7. package/dist/cjs/dev/AccountOpener.js +7 -13
  8. package/dist/cjs/dev/index.js +3 -1
  9. package/dist/cjs/dev/withdrawalAbi.js +2105 -0
  10. package/dist/cjs/dev/withdrawalUtils.js +271 -0
  11. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  12. package/dist/cjs/history/mapOperations.js +7 -0
  13. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  14. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  15. package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -10
  16. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  17. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  18. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  19. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  20. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +1015 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  40. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  41. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +26 -6
  42. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  52. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +4 -42
  53. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  54. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  55. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  56. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  57. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  58. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  59. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  60. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +21 -2
  61. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +17 -2
  62. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +22 -2
  63. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +20 -2
  64. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  65. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +4 -9
  66. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +4 -9
  67. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +4 -9
  68. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +4 -9
  69. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +4 -9
  70. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +16 -2
  71. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +24 -2
  72. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +16 -2
  73. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +17 -2
  74. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +23 -2
  75. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +3 -3
  76. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -3
  77. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +3 -3
  78. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +13 -2
  79. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  80. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +17 -2
  81. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +17 -2
  82. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +13 -2
  83. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +121 -0
  84. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -3
  85. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -3
  86. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -2
  87. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +13 -2
  88. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +28 -4
  89. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +19 -2
  90. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +12 -2
  91. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +12 -2
  92. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -2
  93. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -3
  94. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -3
  95. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +12 -2
  96. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +17 -2
  97. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  98. package/dist/cjs/plugins/adapters/createAdapter.js +3 -10
  99. package/dist/cjs/plugins/adapters/types.js +2 -11
  100. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +20 -37
  101. package/dist/cjs/preview/index.js +5 -3
  102. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  103. package/dist/cjs/preview/parse/index.js +2 -2
  104. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  105. package/dist/cjs/preview/parse/parseOperationCalldata.js +11 -9
  106. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  107. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  108. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  109. package/dist/cjs/preview/parse/types.js +9 -2
  110. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +20 -43
  111. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +25 -39
  112. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  113. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +71 -0
  114. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +55 -0
  115. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  116. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  117. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  118. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +85 -0
  119. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  120. package/dist/cjs/preview/prerequisites/index.js +4 -6
  121. package/dist/cjs/preview/preview/applyInnerOperations.js +141 -0
  122. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  123. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  124. package/dist/cjs/preview/preview/errors.js +52 -0
  125. package/dist/cjs/preview/preview/index.js +34 -0
  126. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +90 -0
  127. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  128. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -0
  129. package/dist/cjs/preview/preview/previewOperation.js +53 -0
  130. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  131. package/dist/cjs/preview/preview/types.js +16 -0
  132. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
  133. package/dist/cjs/preview/simulate/index.js +5 -2
  134. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  135. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  136. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  137. package/dist/cjs/preview/types.js +16 -0
  138. package/dist/cjs/sdk/OnchainSDK.js +11 -0
  139. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +76 -149
  140. package/dist/cjs/sdk/accounts/index.js +3 -1
  141. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +224 -0
  142. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  143. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  144. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +40 -0
  145. package/dist/cjs/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/addresses.js} +24 -20
  146. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +53 -0
  147. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +36 -0
  148. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  149. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
  150. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  151. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  152. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +56 -4
  153. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  154. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  155. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  156. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  157. package/dist/cjs/sdk/router/helpers.js +0 -5
  158. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  159. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  160. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  161. package/dist/cjs/sdk/utils/index.js +2 -0
  162. package/dist/esm/abi/IWithdrawalCompressorV313.js +205 -0
  163. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  164. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  165. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  166. package/dist/esm/abi/compressors/withdrawalCompressor.js +45 -1
  167. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  168. package/dist/esm/dev/AccountOpener.js +8 -13
  169. package/dist/esm/dev/index.js +1 -0
  170. package/dist/esm/dev/withdrawalAbi.js +2074 -0
  171. package/dist/esm/dev/withdrawalUtils.js +259 -0
  172. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  173. package/dist/esm/history/mapOperations.js +7 -0
  174. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  175. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  176. package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -10
  177. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  178. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  179. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  180. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  181. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  182. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  183. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  184. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  185. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  186. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  187. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  188. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  189. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  190. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  191. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  192. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  193. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  194. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  195. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  196. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  197. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +990 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  201. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  202. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +22 -2
  203. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  208. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  209. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  210. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  213. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +4 -44
  214. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  215. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  216. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  217. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  218. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  219. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  220. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  221. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +23 -2
  222. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +19 -2
  223. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +24 -2
  224. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +23 -2
  225. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  226. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +3 -8
  227. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +3 -8
  228. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +3 -8
  229. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +3 -8
  230. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +3 -8
  231. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +18 -2
  232. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +27 -2
  233. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +18 -2
  234. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -2
  235. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +25 -2
  236. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +4 -4
  237. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -4
  238. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +4 -4
  239. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +15 -2
  240. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +1 -1
  241. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +19 -2
  242. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +19 -2
  243. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +15 -2
  244. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +104 -0
  245. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +17 -5
  246. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +20 -6
  247. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -2
  248. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -3
  249. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +31 -5
  250. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +21 -2
  251. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +14 -2
  252. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +11 -1
  253. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -1
  254. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -3
  255. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +20 -4
  256. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +14 -2
  257. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +19 -2
  258. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  259. package/dist/esm/plugins/adapters/createAdapter.js +4 -13
  260. package/dist/esm/plugins/adapters/types.js +2 -11
  261. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +21 -39
  262. package/dist/esm/preview/index.js +2 -1
  263. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  264. package/dist/esm/preview/parse/index.js +1 -1
  265. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  266. package/dist/esm/preview/parse/parseOperationCalldata.js +12 -9
  267. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  268. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  269. package/dist/esm/preview/parse/types-rwa.js +0 -0
  270. package/dist/esm/preview/parse/types.js +6 -1
  271. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +21 -47
  272. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +26 -43
  273. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  274. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +47 -0
  275. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +33 -0
  276. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  277. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  278. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  279. package/dist/esm/preview/prerequisites/checkPrerequisites.js +61 -0
  280. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  281. package/dist/esm/preview/prerequisites/index.js +2 -3
  282. package/dist/esm/preview/preview/applyInnerOperations.js +122 -0
  283. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  284. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  285. package/dist/esm/preview/preview/errors.js +27 -0
  286. package/dist/esm/preview/preview/index.js +7 -0
  287. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +74 -0
  288. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  289. package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -0
  290. package/dist/esm/preview/preview/previewOperation.js +29 -0
  291. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  292. package/dist/esm/preview/preview/types.js +0 -0
  293. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  294. package/dist/esm/preview/simulate/index.js +3 -1
  295. package/dist/esm/preview/simulate/simulateOperation.js +5 -1
  296. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  297. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  298. package/dist/esm/preview/types.js +0 -0
  299. package/dist/esm/sdk/OnchainSDK.js +13 -1
  300. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +72 -144
  301. package/dist/esm/sdk/accounts/index.js +1 -0
  302. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +200 -0
  303. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  304. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  305. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +16 -0
  306. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +28 -0
  307. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +29 -0
  308. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +8 -0
  309. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  310. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +0 -0
  311. package/dist/esm/sdk/base/BaseContract.js +4 -2
  312. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  313. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +59 -5
  314. package/dist/esm/sdk/market/rwa/types.js +5 -2
  315. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  316. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  317. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  318. package/dist/esm/sdk/router/helpers.js +0 -4
  319. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  320. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  321. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  322. package/dist/esm/sdk/utils/index.js +1 -0
  323. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +289 -0
  324. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +77 -0
  325. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +77 -0
  326. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +77 -0
  327. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +77 -0
  328. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  329. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  330. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  331. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  332. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  333. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  334. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  335. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  336. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  337. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  338. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  339. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  340. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  341. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  342. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  343. package/dist/types/dev/abi.d.ts +4 -4
  344. package/dist/types/dev/index.d.ts +1 -0
  345. package/dist/types/dev/providers.d.ts +1 -1
  346. package/dist/types/dev/withdrawalAbi.d.ts +1584 -0
  347. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  348. package/dist/types/history/types.d.ts +4 -4
  349. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  350. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +77 -0
  351. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  352. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  353. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  354. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  355. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  356. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  357. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  358. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  359. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  360. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  361. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  362. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  363. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  364. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  365. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  366. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  367. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  368. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  369. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  370. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  371. package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +183 -0
  372. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  373. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  374. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +754 -0
  375. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  376. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  377. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  378. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  379. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts} +37 -1
  380. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  381. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  382. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  383. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  384. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  385. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  386. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  387. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  388. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  389. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  390. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  391. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  392. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  393. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  394. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  395. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
  396. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  397. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -7
  398. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -5
  399. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -7
  400. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -7
  401. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -11
  402. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +8 -11
  403. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +8 -11
  404. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +8 -11
  405. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  406. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +8 -11
  407. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -6
  408. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -6
  409. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -6
  410. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -6
  411. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -7
  412. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +3 -3
  413. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -5
  414. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +5 -5
  415. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -7
  416. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
  417. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -6
  418. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +9 -7
  419. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -5
  420. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +790 -0
  421. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -7
  422. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -7
  423. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -7
  424. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -6
  425. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +59 -7
  426. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -7
  427. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -7
  428. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -6
  429. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -6
  430. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -7
  431. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -7
  432. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -7
  433. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -5
  434. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  435. package/dist/types/plugins/adapters/types.d.ts +31 -13
  436. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  437. package/dist/types/preview/index.d.ts +2 -1
  438. package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
  439. package/dist/types/preview/parse/index.d.ts +1 -1
  440. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  441. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  442. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  443. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +13 -0
  444. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  445. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  446. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  447. package/dist/types/preview/parse/types-rwa.d.ts +36 -0
  448. package/dist/types/preview/parse/types.d.ts +11 -31
  449. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +16 -17
  450. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +21 -18
  451. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  452. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +51 -0
  453. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +14 -0
  454. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  455. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  456. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  457. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  458. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  459. package/dist/types/preview/prerequisites/index.d.ts +2 -3
  460. package/dist/types/preview/prerequisites/types.d.ts +13 -50
  461. package/dist/types/preview/preview/applyInnerOperations.d.ts +84 -0
  462. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  463. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
  464. package/dist/types/preview/preview/errors.d.ts +21 -0
  465. package/dist/types/preview/preview/index.d.ts +7 -0
  466. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  467. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  468. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  469. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  470. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  471. package/dist/types/preview/preview/types.d.ts +181 -0
  472. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  473. package/dist/types/preview/simulate/index.d.ts +2 -3
  474. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  475. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  476. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  477. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +12 -0
  478. package/dist/types/preview/simulate/types.d.ts +20 -51
  479. package/dist/types/preview/types.d.ts +52 -0
  480. package/dist/types/sdk/OnchainSDK.d.ts +10 -1
  481. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +15 -15
  482. package/dist/types/sdk/accounts/index.d.ts +1 -0
  483. package/dist/types/sdk/accounts/types.d.ts +100 -53
  484. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +34 -0
  485. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  486. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  487. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +300 -0
  488. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +21 -0
  489. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +11 -0
  490. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +8 -0
  491. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  492. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +283 -0
  493. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  494. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  495. package/dist/types/sdk/base/types.d.ts +18 -0
  496. package/dist/types/sdk/chain/chains.d.ts +8 -8
  497. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  498. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  499. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +17 -4
  500. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  501. package/dist/types/sdk/market/rwa/types.d.ts +39 -14
  502. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  503. package/dist/types/sdk/pools/types.d.ts +1 -1
  504. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  505. package/dist/types/sdk/router/helpers.d.ts +1 -2
  506. package/dist/types/sdk/router/types.d.ts +1 -15
  507. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  508. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  509. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  510. package/dist/types/sdk/utils/index.d.ts +1 -0
  511. package/package.json +11 -12
  512. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  513. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  514. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  515. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  516. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -221
  517. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  518. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  519. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  520. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  521. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  522. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  523. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -197
  524. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  525. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  526. package/dist/esm/preview/simulate/holders.js +0 -21
  527. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  528. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  529. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  530. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  531. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  532. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  533. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  534. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  535. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -1,26 +1,18 @@
1
- import type { Address } from "viem";
2
1
  import type { PoolOperation } from "../parse/index.js";
3
- import type { AddressBalanceChanges, OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput } from "./types.js";
4
- /** Reads a watched holder's "before" balance of a token. */
5
- export type BalanceLookup = (token: Address, holder: Address) => bigint;
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
6
4
  /**
7
5
  * Simulates a pool deposit/mint/withdraw/redeem (direct or zapper-routed) and
8
- * returns the resulting balance changes, or a decoded failure.
6
+ * returns the resulting token amounts going in and out. Throws a
7
+ * {@link PreviewSimulationError} with the decoded revert when the preview read
8
+ * fails.
9
9
  *
10
- * Reads the watched holders' "before" balances together with the matching
11
- * preview (the pool's ERC4626 `previewDeposit`/`previewMint`/`previewWithdraw`/
12
- * `previewRedeem`, or the zapper's `previewDeposit`/`previewRedeem`) in a single
13
- * multicall, then computes the theoretical balance changes via
14
- * {@link computePoolOpBalanceChanges}. It works on every network the SDK
15
- * supports.
10
+ * Performs the matching preview read (the pool's ERC4626
11
+ * `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
12
+ * zapper's `previewDeposit`/`previewRedeem`) to convert the calldata-known
13
+ * amount into its counterpart. It works on every network the SDK supports.
16
14
  *
17
15
  * It does not execute the calldata, so it ignores balance/allowance
18
16
  * prerequisites (preview reads succeed regardless).
19
17
  */
20
- export declare function simulatePoolOperation(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
21
- /**
22
- * Pure computation of {@link AddressBalanceChanges} for a pool operation from
23
- * its preview result and the watched holders' "before" balances. Legs sharing
24
- * the same address are grouped together.
25
- */
26
- export declare function computePoolOpBalanceChanges(operation: PoolOperation, wallet: Address, previewAmount: bigint, before: BalanceLookup): AddressBalanceChanges[];
18
+ export declare function simulatePoolOperation(input: SimulationInput<PoolOperation>, options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -0,0 +1,12 @@
1
+ import type { RWAOperation } from "../parse/index.js";
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
4
+ /**
5
+ * Simulates an RWA-factory operation.
6
+ *
7
+ * Not yet implemented: like credit-facade simulation, it requires
8
+ * multicall-aware balance/transfer accounting that the pool simulation does
9
+ * not cover. The signature mirrors {@link simulatePoolOperation} so the
10
+ * {@link simulateOperation} wrapper can delegate uniformly once implemented.
11
+ */
12
+ export declare function simulateRWAOperation(_input: SimulationInput<RWAOperation>, _options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,66 +1,35 @@
1
1
  import type { Address, Hex } from "viem";
2
2
  import type { OnchainSDK } from "../../sdk/index.js";
3
- import type { ILogger } from "../../sdk/types/logger.js";
4
- import type { PoolOperation } from "../parse/index.js";
5
- import type { PreviewSimulationError } from "./errors.js";
3
+ import type { Operation } from "../parse/index.js";
6
4
  /**
7
- * Change in an address's balance of a single token over the simulated call.
8
- * `delta` is `after - before` (negative when the address spent the token).
5
+ * Input of the simulation functions, generic over the parsed operation kind
6
+ * so each specialized simulation narrows `operation` while sharing the same
7
+ * shape.
9
8
  */
10
- export interface TokenBalanceChange {
11
- token: Address;
12
- before: bigint;
13
- after: bigint;
14
- delta: bigint;
15
- }
16
- /**
17
- * Balance changes for a single watched address (e.g. the wallet or the
18
- * operation recipient). Keyed purely by address; UI labeling is resolved
19
- * separately by the presentation layer.
20
- */
21
- export interface AddressBalanceChanges {
22
- address: Address;
23
- changes: TokenBalanceChange[];
24
- }
25
- export interface PoolOperationSimulationInput {
9
+ export interface SimulationInput<Op extends Operation = Operation> {
26
10
  /** Only `client`/`networkType` are used, so any OnchainSDK works. */
27
11
  sdk: OnchainSDK;
28
- /** Parsed operation, used to resolve the underlying and pool tokens. */
29
- operation: PoolOperation;
30
- /** Target contract the calldata is sent to (the pool). */
12
+ /** Parsed operation to simulate. */
13
+ operation: Op;
14
+ /** Target contract the calldata is sent to. */
31
15
  to: Address;
32
- /** Raw deposit/mint/withdraw/redeem calldata to simulate. */
16
+ /** Raw operation calldata to simulate. */
33
17
  calldata: Hex;
34
- /** Wallet whose balance changes and transfers we track. */
35
- wallet: Address;
36
- }
37
- export interface OperationSimulationOptions {
38
- /** Block to simulate at; defaults to latest. */
39
- blockNumber?: bigint;
40
- /**
41
- * Optional logger.
42
- **/
43
- logger?: ILogger;
44
18
  }
45
19
  /**
46
- * Successful simulation of a pool operation: the balance changes grouped by
47
- * watched address. This is the success payload of
48
- * {@link PoolOperationSimulation} without the `status` discriminant.
20
+ * Result of simulating a pool operation: the amounts of tokens going in
21
+ * and out. One side comes from calldata, the other from the matching ERC4626
22
+ * preview read.
49
23
  */
50
24
  export interface PoolOperationSimulationResult {
51
25
  /**
52
- * Balance changes grouped by watched address (wallet, recipient, owner).
26
+ * Amount of tokens going from the user to the pool (underlying or zapper
27
+ * input token for deposit/mint, pool shares for withdraw/redeem).
28
+ **/
29
+ amountIn: bigint;
30
+ /**
31
+ * Amount of tokens going from the pool to the user (pool shares or zapper
32
+ * output token for deposit/mint, underlying for withdraw/redeem).
53
33
  **/
54
- balanceChanges: AddressBalanceChanges[];
34
+ amountOut: bigint;
55
35
  }
56
- /**
57
- * Outcome of simulating a pool operation. On success it carries a
58
- * {@link PoolOperationSimulationResult}; on failure it carries a
59
- * {@link PreviewSimulationError}.
60
- */
61
- export type PoolOperationSimulation = ({
62
- status: "success";
63
- } & PoolOperationSimulationResult) | {
64
- status: "failure";
65
- error: PreviewSimulationError;
66
- };
@@ -0,0 +1,52 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { SdkWithAdapters } from "../plugins/adapters/index.js";
3
+ import type { CreditAccountData, PluginsMap } from "../sdk/index.js";
4
+ import type { ILogger } from "../sdk/types/logger.js";
5
+ /**
6
+ * Raw-calldata operation input shared by `parseOperationCalldata`,
7
+ * `previewOperation` and `checkPrerequisites`.
8
+ */
9
+ export interface PreviewOperationInput<P extends PluginsMap = PluginsMap> {
10
+ /**
11
+ * Already-attached SDK; chain, RPC and block are baked in at attach time.
12
+ * Must be created with the adapters plugin (enforced at compile time) so
13
+ * adapter contracts resolve during multicall classification.
14
+ */
15
+ sdk: SdkWithAdapters<P>;
16
+ /**
17
+ * Contract address that was called
18
+ */
19
+ to: Address;
20
+ /**
21
+ * Raw calldata of the operation
22
+ */
23
+ calldata: Hex;
24
+ /**
25
+ * Transaction sender
26
+ */
27
+ sender: Address;
28
+ /**
29
+ * Transaction `msg.value`, required for native-token zapper deposits.
30
+ **/
31
+ value?: bigint;
32
+ }
33
+ /**
34
+ * Options shared by the preview, simulation and prerequisite-check flows.
35
+ * Each flow uses the subset it needs and ignores the rest.
36
+ */
37
+ export interface PreviewOperationOptions {
38
+ /**
39
+ * Block to read/simulate at; defaults to latest. Only set for testnet
40
+ * forks.
41
+ */
42
+ blockNumber?: bigint;
43
+ /**
44
+ * Optional logger.
45
+ **/
46
+ logger?: ILogger;
47
+ /**
48
+ * @internal
49
+ * Credit account state for testing purposes
50
+ */
51
+ creditAccount?: CreditAccountData;
52
+ }
@@ -1,7 +1,7 @@
1
1
  import type { Address } from "viem";
2
2
  import { type PublicClient, type Transport } from "viem";
3
3
  import type { HttpRpcClientOptions } from "viem/utils";
4
- import { type ICreditAccountsService } from "./accounts/index.js";
4
+ import { type ICreditAccountsService, type IWithdrawalCompressorContract, type WithdrawalCompressorVersion } from "./accounts/index.js";
5
5
  import type { BaseState, IBaseContract } from "./base/index.js";
6
6
  import { ChainContractsRegister } from "./base/index.js";
7
7
  import type { GearboxChain, NetworkType } from "./chain/chains.js";
@@ -286,4 +286,13 @@ export declare class OnchainSDK<const Plugins extends PluginsMap = {}> extends C
286
286
  } | {
287
287
  creditFacade: Address | BaseState | IBaseContract;
288
288
  } | VersionRange): IRouterContract;
289
+ /**
290
+ * Lazily returns a withdrawal compressor contract for the current chain.
291
+ *
292
+ * @param version - Desired compressor version; when omitted, the latest
293
+ * version supported on the current chain is used.
294
+ * @throws If no withdrawal compressor of the given version is supported
295
+ * on the current chain.
296
+ **/
297
+ withdrawalCompressor(version?: WithdrawalCompressorVersion): IWithdrawalCompressorContract;
289
298
  }
@@ -4,9 +4,10 @@ import { SDKConstruct } from "../base/index.js";
4
4
  import { type PriceUpdate } from "../market/index.js";
5
5
  import type { RWAOpenAccountRequirements } from "../market/rwa/index.js";
6
6
  import type { OnchainSDK } from "../OnchainSDK.js";
7
- import { type RouterCASlice } from "../router/index.js";
7
+ import type { RouterCASlice } from "../router/index.js";
8
8
  import type { MultiCall, RawTx } from "../types/index.js";
9
- import type { AccountToCheck, AddCollateralProps, AssembleCaUpdateCallsProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, PreviewDelayedWithdrawalResult, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
9
+ import type { AccountToCheck, AddCollateralProps, AssembleCaOperationsProps, AssembleCloseCreditAccountCallsProps, AssembleRepayCreditAccountCallsProps, ChangeDeptProps, ClaimDelayedProps, ClaimFarmRewardsProps, CloseCreditAccountProps, CloseCreditAccountResult, CreditAccountOperationResult, CreditAccountTokensSlice, CreditManagerOperationResult, DefaultPartialLiquidationParams, ExecuteSwapProps, FullyLiquidateProps, FullyLiquidateResult, GetApprovalAddressProps, GetConnectedBotsResult, GetConnectedMigrationBotsResult, GetCreditAccountsOptions, GetOpenAccountRequirementsProps, GetPendingWithdrawalsProps, GetPendingWithdrawalsResult, ICreditAccountsService, OpenCAProps, PartiallyLiquidateProps, PreviewDelayedWithdrawalProps, RepayAndLiquidateCreditAccountProps, RepayCreditAccountProps, Rewards, SetBotProps, StartDelayedWithdrawalProps, UpdateQuotasProps, WithdrawCollateralProps } from "./types.js";
10
+ import type { RequestableWithdrawal } from "./withdrawal-compressor/index.js";
10
11
  /**
11
12
  * Options for configuring the credit account service.
12
13
  **/
@@ -17,15 +18,6 @@ export interface CreditAccountServiceOptions {
17
18
  **/
18
19
  batchSize?: number;
19
20
  }
20
- /**
21
- * Returns the withdrawal compressor contract address for the given chain, or `undefined` if none is configured.
22
- * @param chainId - Numeric chain ID.
23
- * @returns Withdrawal compressor address, or `undefined`.
24
- **/
25
- export declare function getWithdrawalCompressorAddress(chainId: number): {
26
- address: Address;
27
- version: 311 | 310;
28
- };
29
21
  /**
30
22
  * Service for querying and operating on Gearbox credit accounts.
31
23
  *
@@ -79,6 +71,10 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
79
71
  * {@inheritDoc ICreditAccountsService.closeCreditAccount}
80
72
  **/
81
73
  closeCreditAccount({ operation, assetsToWithdraw, creditAccount: ca, to, slippage, closePath, }: CloseCreditAccountProps): Promise<CloseCreditAccountResult>;
74
+ /**
75
+ * {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
76
+ */
77
+ assembleCloseCreditAccountCalls({ creditAccount: ca, routerCalls, assetsToWithdraw, to, }: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
82
78
  /**
83
79
  * {@inheritDoc ICreditAccountsService.updateQuotas}
84
80
  **/
@@ -98,7 +94,7 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
98
94
  /**
99
95
  * {@inheritDoc ICreditAccountsService.previewDelayedWithdrawal}
100
96
  **/
101
- previewDelayedWithdrawal({ creditAccount, amount, token, }: PreviewDelayedWithdrawalProps): Promise<PreviewDelayedWithdrawalResult>;
97
+ previewDelayedWithdrawal({ creditAccount, amount, token, }: PreviewDelayedWithdrawalProps): Promise<RequestableWithdrawal>;
102
98
  /**
103
99
  * {@inheritDoc ICreditAccountsService.getPendingWithdrawals}
104
100
  **/
@@ -178,7 +174,11 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
178
174
  /**
179
175
  * {@inheritDoc ICreditAccountsService.repayCreditAccount}
180
176
  */
181
- repayCreditAccount({ operation, collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls, }: RepayCreditAccountProps): Promise<CreditAccountOperationResult>;
177
+ repayCreditAccount(props: RepayCreditAccountProps): Promise<CreditAccountOperationResult>;
178
+ /**
179
+ * {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
180
+ */
181
+ assembleRepayCreditAccountCalls({ collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls, }: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
182
182
  /**
183
183
  * {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
184
184
  */
@@ -211,9 +211,9 @@ export declare class CreditAccountsServiceV310 extends SDKConstruct implements I
211
211
  ignoreReservePrices?: boolean;
212
212
  }): Promise<MultiCall[]>;
213
213
  /**
214
- * {@inheritDoc ICreditAccountsService.assembleCaUpdateCalls}
214
+ * {@inheritDoc ICreditAccountsService.assembleCaOperations}
215
215
  */
216
- assembleCaUpdateCalls({ operations, routerCallGroups, creditFacade, withdrawTo, creditAccount, underlyingToken, }: AssembleCaUpdateCallsProps): MultiCall[];
216
+ assembleCaOperations({ operations, creditFacade, }: AssembleCaOperationsProps): MultiCall[];
217
217
  /**
218
218
  * {@inheritDoc ICreditAccountsService.executeCaUpdate}
219
219
  */
@@ -1,2 +1,3 @@
1
1
  export * from "./CreditAccountsServiceV310.js";
2
2
  export * from "./types.js";
3
+ export * from "./withdrawal-compressor/index.js";
@@ -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, 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
@@ -311,20 +347,6 @@ export interface GetPendingWithdrawalsProps {
311
347
  */
312
348
  creditAccount: Address;
313
349
  }
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
350
  /**
329
351
  * Aggregated delayed withdrawal status, split into immediately claimable and still-pending entries.
330
352
  **/
@@ -342,7 +364,7 @@ export interface StartDelayedWithdrawalProps extends PrepareUpdateQuotasProps {
342
364
  /**
343
365
  * Withdrawal preview
344
366
  */
345
- preview: PreviewDelayedWithdrawalResult;
367
+ preview: RequestableWithdrawal;
346
368
  /**
347
369
  * Minimal credit account data on which operation is performed
348
370
  */
@@ -431,11 +453,11 @@ export interface OpenCAProps extends PrepareUpdateQuotasProps {
431
453
  * RWA options to open credit account with, required for RWA factories
432
454
  * First we ask for getOpenAccountRequirements,
433
455
  * then perform necessary actions (e.g. for Securitize, convert requiredSignatures to signaturesToCache)
434
- * to produce RWAOperationParams
456
+ * to produce RWAOperationArgs
435
457
  * If getOpenAccountRequirements returned undefined, we need to pass undefined here too;
436
458
  * It means that no RWA actions are required (e.g. when we open second credit account)
437
459
  */
438
- rwaOptions?: RWAOperationParams;
460
+ rwaOptions?: RWAOperationArgs;
439
461
  }
440
462
  export interface ChangeDeptProps {
441
463
  /**
@@ -673,12 +695,14 @@ export type GetApprovalAddressProps = {
673
695
  creditAccount: Address;
674
696
  };
675
697
  /**
676
- * A single step in a generic credit account update operation chain.
698
+ * An enriched credit-account operation ready for encoding.
699
+ * Each op carries everything needed to build facade / adapter multicalls —
700
+ * swap / wrap / unwrap attach concrete `calls` (no external routerCallGroups).
677
701
  *
678
- * Used by {@link ICreditAccountsService.assembleCaUpdateCalls} to build the
679
- * underlying credit facade multicall calls.
702
+ * Used by {@link ICreditAccountsService.assembleCaOperations}. Does not include
703
+ * close / repay (use dedicated assemblers).
680
704
  */
681
- export type CreditAccountUpdateOperation = {
705
+ export type EncodableCreditAccountOperation = {
682
706
  type: "increaseDebt";
683
707
  amount: bigint;
684
708
  } | {
@@ -692,32 +716,27 @@ export type CreditAccountUpdateOperation = {
692
716
  type: "withdrawCollateral";
693
717
  token: Address;
694
718
  amount: bigint;
719
+ to: Address;
695
720
  } | {
696
721
  type: "swap";
722
+ calls: Array<MultiCall>;
723
+ } | {
724
+ type: "wrapRwaCollateral";
725
+ calls: Array<MultiCall>;
726
+ } | {
727
+ type: "unwrapRwaCollateral";
728
+ calls: Array<MultiCall>;
697
729
  } | {
698
730
  type: "changeQuota";
699
731
  quotaIncrease: Array<Asset>;
700
732
  quotaDecrease: Array<Asset>;
701
- } | {
702
- type: "closeCreditAccount";
703
733
  };
704
734
  /**
705
- * Input for {@link ICreditAccountsService.assembleCaUpdateCalls}.
735
+ * Input for {@link ICreditAccountsService.assembleCaOperations}.
706
736
  */
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>>;
737
+ export type AssembleCaOperationsProps = {
738
+ operations: Array<EncodableCreditAccountOperation>;
711
739
  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
740
  };
722
741
  export interface ICreditAccountsService extends Construct {
723
742
  sdk: OnchainSDK;
@@ -798,6 +817,17 @@ export interface ICreditAccountsService extends Construct {
798
817
  * @returns Raw transaction ready to be signed and sent
799
818
  */
800
819
  partiallyLiquidate(props: PartiallyLiquidateProps): Promise<RawTx>;
820
+ /**
821
+ * Builds close multicall calls without price feed updates.
822
+ *
823
+ * Same operation sequence as {@link closeCreditAccount} (close path swaps,
824
+ * disable quotas, decrease debt, withdraw assets), but does not prepend
825
+ * price updates and does not build the facade transaction.
826
+ *
827
+ * @param props - {@link AssembleCloseCreditAccountCallsProps}
828
+ * @returns Raw facade multicall payload for close (before price feed updates)
829
+ */
830
+ assembleCloseCreditAccountCalls(props: AssembleCloseCreditAccountCallsProps): Promise<Array<MultiCall>>;
801
831
  /**
802
832
  * Closes credit account or closes credit account and keeps it open with zero debt.
803
833
  * - Ca is closed in the following order: price update -> close path to swap all tokens into underlying ->
@@ -846,7 +876,7 @@ export interface ICreditAccountsService extends Construct {
846
876
  * @param props - {@link PreviewDelayedWithdrawalProps}
847
877
  * @returns
848
878
  */
849
- previewDelayedWithdrawal(props: PreviewDelayedWithdrawalProps): Promise<PreviewDelayedWithdrawalResult>;
879
+ previewDelayedWithdrawal(props: PreviewDelayedWithdrawalProps): Promise<RequestableWithdrawal>;
850
880
  /**
851
881
  * Get claimable and pending withdrawals of an account
852
882
  * @param props - {@link GetPendingWithdrawalsProps}
@@ -943,12 +973,18 @@ export interface ICreditAccountsService extends Construct {
943
973
  ignoreReservePrices?: boolean;
944
974
  }): Promise<Array<MultiCall>>;
945
975
  /**
946
- * Builds the credit facade multicall calls for a chain of update operations.
976
+ * Builds credit facade multicall calls from an enriched operation list.
977
+ * Each operation must already carry concrete encoding data (e.g. swap/wrap
978
+ * `calls`). Unknown operation types throw.
947
979
  *
948
- * @param props - Operation chain, router call groups and account context
949
- * @returns Array of facade multicall calls (without price feed updates)
980
+ * Does not handle close or repay use
981
+ * {@link ICreditAccountsService.assembleCloseCreditAccountCalls} /
982
+ * {@link ICreditAccountsService.assembleRepayCreditAccountCalls}.
983
+ *
984
+ * @param props - Encodable operations and account context
985
+ * @returns Array of facade / adapter multicall calls (without price feed updates)
950
986
  */
951
- assembleCaUpdateCalls(props: AssembleCaUpdateCallsProps): Array<MultiCall>;
987
+ assembleCaOperations(props: AssembleCaOperationsProps): Array<MultiCall>;
952
988
  /**
953
989
  * Executes a credit account update: prepends price feed updates and builds the raw
954
990
  * multicall transaction. Uses the RWA factory when applicable.
@@ -1009,6 +1045,17 @@ export interface ICreditAccountsService extends Construct {
1009
1045
  * @return All necessary data to execute the transaction (call, credit facade)
1010
1046
  */
1011
1047
  withdrawCollateral(props: WithdrawCollateralProps): Promise<CreditAccountOperationResult>;
1048
+ /**
1049
+ * Builds repay multicall calls without price feed updates.
1050
+ *
1051
+ * Same operation sequence as {@link repayCreditAccount} (add collateral, wrap calls,
1052
+ * disable quotas, decrease debt, redeem/unwrap, claim rewards, withdraw assets),
1053
+ * but does not prepend price updates and does not build the facade transaction.
1054
+ *
1055
+ * @param props - {@link AssembleRepayCreditAccountCallsProps}
1056
+ * @returns Raw facade multicall payload for repay (before price feed updates)
1057
+ */
1058
+ assembleRepayCreditAccountCalls(props: AssembleRepayCreditAccountCallsProps): Promise<Array<MultiCall>>;
1012
1059
  /**
1013
1060
  * Fully repays credit account or repays credit account and keeps it open with zero debt
1014
1061
  * - Repays in the following order: price update -> add collateral to cover the debt ->
@@ -0,0 +1,34 @@
1
+ import type { Abi, Address } from "viem";
2
+ import type { BaseContractArgs } from "../../base/index.js";
3
+ import { BaseContract } from "../../base/index.js";
4
+ import type { OnchainSDK } from "../../OnchainSDK.js";
5
+ import type { CurrentWithdrawals, DelayedIntent, IWithdrawalCompressorContract, RequestableWithdrawal, WithdrawableAsset } from "./types.js";
6
+ /**
7
+ * Base class for WithdrawalCompressor contracts of different versions.
8
+ * Implements version-agnostic reads, normalizing results to common types.
9
+ **/
10
+ export declare abstract class AbstractWithdrawalCompressorContract<abi extends Abi> extends BaseContract<abi> implements IWithdrawalCompressorContract {
11
+ #private;
12
+ constructor(sdk: OnchainSDK, args: BaseContractArgs<abi>);
13
+ /**
14
+ * The contract is instantiated with the actual versioned ABI,
15
+ * this cast is type-level only (see {@link CommonAbi}).
16
+ **/
17
+ private get common();
18
+ /**
19
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssets}
20
+ **/
21
+ getWithdrawableAssets(creditManager: Address): Promise<WithdrawableAsset[]>;
22
+ /**
23
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawableAssetsBatch}
24
+ **/
25
+ getWithdrawableAssetsBatch(creditManagers?: Address[]): Promise<WithdrawableAsset[]>;
26
+ /**
27
+ * {@inheritDoc IWithdrawalCompressorContract.getCurrentWithdrawals}
28
+ **/
29
+ getCurrentWithdrawals(creditAccount: Address): Promise<CurrentWithdrawals>;
30
+ /**
31
+ * {@inheritDoc IWithdrawalCompressorContract.getWithdrawalRequestResult}
32
+ **/
33
+ getWithdrawalRequestResult(creditAccount: Address, token: Address, amount: bigint, intent?: DelayedIntent): Promise<RequestableWithdrawal>;
34
+ }