@gearbox-protocol/sdk 14.12.0-next.3 → 14.12.0-next.30

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 (554) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +230 -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 +47 -2
  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 +278 -0
  11. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  12. package/dist/cjs/history/mapOperations.js +7 -0
  13. package/dist/cjs/history/populateContractsRegister.js +14 -11
  14. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  15. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  16. package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -10
  17. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  18. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  19. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  20. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +1015 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  40. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  41. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  42. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +26 -6
  43. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  52. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  53. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +4 -42
  54. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  55. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  56. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  57. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  58. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  59. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +80 -2
  60. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
  61. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  62. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
  63. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
  64. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
  65. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
  66. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
  67. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
  68. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
  69. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
  70. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
  71. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
  72. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
  73. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
  74. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
  75. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
  76. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
  77. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
  78. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
  79. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
  80. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
  81. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
  82. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
  83. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
  84. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
  85. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +155 -0
  86. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
  87. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
  88. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
  89. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
  90. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +43 -6
  91. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
  92. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
  93. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
  94. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
  95. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
  96. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
  97. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
  98. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
  99. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  100. package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
  101. package/dist/cjs/plugins/adapters/types.js +2 -11
  102. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +18 -39
  103. package/dist/cjs/preview/index.js +5 -3
  104. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  105. package/dist/cjs/preview/parse/index.js +0 -2
  106. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  107. package/dist/cjs/preview/parse/parseOperationCalldata.js +9 -15
  108. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  109. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +24 -12
  110. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  111. package/dist/cjs/preview/parse/types.js +9 -2
  112. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +20 -43
  113. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +25 -39
  114. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  115. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +71 -0
  116. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +55 -0
  117. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  118. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  119. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  120. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +85 -0
  121. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  122. package/dist/cjs/preview/prerequisites/index.js +4 -6
  123. package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
  124. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  125. package/dist/cjs/preview/preview/buildDelayedPreview.js +111 -0
  126. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  127. package/dist/cjs/preview/preview/detectDelayedOperation.js +71 -0
  128. package/dist/cjs/preview/preview/errors.js +53 -0
  129. package/dist/cjs/preview/preview/index.js +42 -0
  130. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
  131. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +79 -0
  132. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +84 -0
  133. package/dist/cjs/preview/preview/previewOperation.js +94 -0
  134. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  135. package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
  136. package/dist/cjs/preview/preview/replayMulticall.js +37 -0
  137. package/dist/cjs/preview/preview/types.js +49 -0
  138. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
  139. package/dist/cjs/preview/simulate/index.js +5 -2
  140. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  141. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  142. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  143. package/dist/cjs/preview/types.js +16 -0
  144. package/dist/cjs/sdk/OnchainSDK.js +8 -0
  145. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +157 -210
  146. package/dist/cjs/sdk/accounts/index.js +3 -1
  147. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +224 -0
  148. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  149. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  150. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +40 -0
  151. package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
  152. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +51 -0
  153. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +36 -0
  154. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  155. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
  156. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  157. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  158. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +40 -8
  159. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  160. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  161. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  162. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  163. package/dist/cjs/sdk/router/helpers.js +0 -5
  164. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  165. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  166. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  167. package/dist/cjs/sdk/utils/index.js +2 -0
  168. package/dist/esm/abi/IWithdrawalCompressorV313.js +206 -0
  169. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  170. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  171. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  172. package/dist/esm/abi/compressors/withdrawalCompressor.js +47 -2
  173. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  174. package/dist/esm/dev/AccountOpener.js +8 -13
  175. package/dist/esm/dev/index.js +1 -0
  176. package/dist/esm/dev/withdrawalAbi.js +2074 -0
  177. package/dist/esm/dev/withdrawalUtils.js +266 -0
  178. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  179. package/dist/esm/history/mapOperations.js +7 -0
  180. package/dist/esm/history/populateContractsRegister.js +17 -12
  181. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  182. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  183. package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -10
  184. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  185. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  186. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  187. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  188. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  189. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  190. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  191. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  192. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  193. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  194. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  195. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  196. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  197. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  201. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  202. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  203. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +990 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  208. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  209. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +22 -2
  210. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  213. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  214. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  215. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  216. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  217. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  218. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  219. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  220. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +4 -44
  221. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  222. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  223. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  224. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  225. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  226. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +80 -2
  227. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
  228. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  229. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
  230. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
  231. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
  232. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
  233. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
  234. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
  235. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
  236. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
  237. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
  238. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
  239. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
  240. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
  241. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
  242. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
  243. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
  244. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
  245. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
  246. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
  247. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
  248. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
  249. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
  250. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
  251. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
  252. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +140 -0
  253. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
  254. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
  255. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
  256. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
  257. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +47 -7
  258. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
  259. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
  260. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
  261. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
  262. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
  263. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
  264. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
  265. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
  266. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  267. package/dist/esm/plugins/adapters/createAdapter.js +43 -52
  268. package/dist/esm/plugins/adapters/types.js +2 -11
  269. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +19 -44
  270. package/dist/esm/preview/index.js +2 -1
  271. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  272. package/dist/esm/preview/parse/index.js +0 -1
  273. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  274. package/dist/esm/preview/parse/parseOperationCalldata.js +10 -16
  275. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  276. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +27 -13
  277. package/dist/esm/preview/parse/types-rwa.js +0 -0
  278. package/dist/esm/preview/parse/types.js +6 -1
  279. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +21 -47
  280. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +26 -43
  281. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  282. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +47 -0
  283. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +33 -0
  284. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  285. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  286. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  287. package/dist/esm/preview/prerequisites/checkPrerequisites.js +61 -0
  288. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  289. package/dist/esm/preview/prerequisites/index.js +2 -3
  290. package/dist/esm/preview/preview/CreditAccountState.js +133 -0
  291. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  292. package/dist/esm/preview/preview/buildDelayedPreview.js +90 -0
  293. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  294. package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
  295. package/dist/esm/preview/preview/errors.js +28 -0
  296. package/dist/esm/preview/preview/index.js +11 -0
  297. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
  298. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +57 -0
  299. package/dist/esm/preview/preview/previewOpenCreditAccount.js +68 -0
  300. package/dist/esm/preview/preview/previewOperation.js +75 -0
  301. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  302. package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
  303. package/dist/esm/preview/preview/replayMulticall.js +16 -0
  304. package/dist/esm/preview/preview/types.js +18 -0
  305. package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
  306. package/dist/esm/preview/simulate/index.js +3 -1
  307. package/dist/esm/preview/simulate/simulateOperation.js +5 -1
  308. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  309. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  310. package/dist/esm/preview/types.js +0 -0
  311. package/dist/esm/sdk/OnchainSDK.js +10 -1
  312. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +153 -205
  313. package/dist/esm/sdk/accounts/index.js +1 -0
  314. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +200 -0
  315. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  316. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  317. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +16 -0
  318. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
  319. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +27 -0
  320. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +8 -0
  321. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  322. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +0 -0
  323. package/dist/esm/sdk/base/BaseContract.js +4 -2
  324. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  325. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +40 -8
  326. package/dist/esm/sdk/market/rwa/types.js +5 -2
  327. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  328. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  329. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  330. package/dist/esm/sdk/router/helpers.js +0 -4
  331. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  332. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  333. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  334. package/dist/esm/sdk/utils/index.js +1 -0
  335. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +293 -0
  336. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +77 -0
  337. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +77 -0
  338. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +77 -0
  339. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +81 -0
  340. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  341. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  342. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  343. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  344. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  345. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  346. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  347. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  348. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  349. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  350. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  351. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  352. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  353. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  354. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  355. package/dist/types/dev/abi.d.ts +4 -4
  356. package/dist/types/dev/index.d.ts +1 -0
  357. package/dist/types/dev/providers.d.ts +1 -1
  358. package/dist/types/dev/withdrawalAbi.d.ts +1584 -0
  359. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  360. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  361. package/dist/types/history/types.d.ts +4 -4
  362. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  363. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +81 -0
  364. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  365. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  366. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  367. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  368. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  369. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  370. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  371. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  372. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  373. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  374. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  375. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  376. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  377. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  378. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  379. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  380. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  381. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  382. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  383. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  384. package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +183 -0
  385. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  386. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  387. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +754 -0
  388. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  389. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  390. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  391. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  392. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts} +37 -1
  393. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  394. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  395. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  396. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  397. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  398. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  399. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  400. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  401. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  402. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  403. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  404. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  405. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  406. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  407. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  408. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +56 -4
  409. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
  410. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  411. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
  412. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
  413. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
  414. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
  415. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
  416. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
  417. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
  418. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
  419. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
  420. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
  421. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
  422. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
  423. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
  424. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
  425. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
  426. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
  427. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
  428. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
  429. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
  430. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
  431. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
  432. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
  433. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
  434. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +797 -0
  435. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
  436. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
  437. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
  438. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
  439. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +67 -8
  440. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
  441. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
  442. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
  443. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
  444. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
  445. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
  446. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
  447. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
  448. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  449. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  450. package/dist/types/plugins/adapters/types.d.ts +43 -14
  451. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  452. package/dist/types/preview/index.d.ts +2 -1
  453. package/dist/types/preview/parse/index.d.ts +0 -1
  454. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  455. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  456. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  457. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +9 -19
  458. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  459. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  460. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  461. package/dist/types/preview/parse/types-rwa.d.ts +36 -0
  462. package/dist/types/preview/parse/types.d.ts +11 -31
  463. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +16 -17
  464. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +21 -18
  465. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  466. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +51 -0
  467. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +14 -0
  468. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  469. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  470. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  471. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  472. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  473. package/dist/types/preview/prerequisites/index.d.ts +2 -3
  474. package/dist/types/preview/prerequisites/types.d.ts +13 -50
  475. package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
  476. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  477. package/dist/types/preview/preview/buildDelayedPreview.d.ts +41 -0
  478. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
  479. package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
  480. package/dist/types/preview/preview/errors.d.ts +24 -0
  481. package/dist/types/preview/preview/index.d.ts +11 -0
  482. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  483. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  484. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  485. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  486. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  487. package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
  488. package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
  489. package/dist/types/preview/preview/types.d.ts +317 -0
  490. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
  491. package/dist/types/preview/simulate/index.d.ts +2 -3
  492. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  493. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  494. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  495. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +12 -0
  496. package/dist/types/preview/simulate/types.d.ts +20 -51
  497. package/dist/types/preview/types.d.ts +63 -0
  498. package/dist/types/sdk/OnchainSDK.d.ts +7 -1
  499. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
  500. package/dist/types/sdk/accounts/index.d.ts +1 -0
  501. package/dist/types/sdk/accounts/types.d.ts +171 -53
  502. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +38 -0
  503. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  504. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  505. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +304 -0
  506. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
  507. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +9 -0
  508. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +8 -0
  509. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  510. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +296 -0
  511. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  512. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  513. package/dist/types/sdk/base/types.d.ts +18 -0
  514. package/dist/types/sdk/chain/chains.d.ts +8 -8
  515. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  516. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  517. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +15 -3
  518. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  519. package/dist/types/sdk/market/rwa/types.d.ts +39 -14
  520. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  521. package/dist/types/sdk/pools/types.d.ts +1 -1
  522. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  523. package/dist/types/sdk/router/helpers.d.ts +1 -2
  524. package/dist/types/sdk/router/types.d.ts +1 -15
  525. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  526. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  527. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  528. package/dist/types/sdk/utils/index.d.ts +1 -0
  529. package/package.json +11 -12
  530. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  531. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  532. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  533. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  534. package/dist/cjs/preview/parse/extractExpectedBalanceChanges.js +0 -48
  535. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -234
  536. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  537. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  538. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  539. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  540. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  541. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  542. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -210
  543. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  544. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  545. package/dist/esm/preview/simulate/holders.js +0 -21
  546. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  547. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  548. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  549. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  550. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  551. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  552. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  553. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  554. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -1,60 +1,23 @@
1
- import { type ContractFunctionParameters } from "viem";
2
- import type { PrerequisiteContext, PrerequisiteDetail, PrerequisiteError, PrerequisiteKind, PrerequisiteResult } from "./types.js";
1
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteResult } from "./types.js";
3
2
  /**
4
- * One entry of a viem `multicall({ allowFailure: true })` response: either a
5
- * decoded `result` or the `error` that the call reverted with.
3
+ * A single verifiable prerequisite for a transaction. Subclasses implement
4
+ * {@link check} to perform whatever async reads they need (an ERC-20
5
+ * `readContract`, a compressor call, ...) and map the outcome into a
6
+ * {@link PrerequisiteResult}.
6
7
  */
7
- export type MulticallCallResult = {
8
- status: "success";
9
- result: unknown;
10
- error?: undefined;
11
- } | {
12
- status: "failure";
13
- result?: undefined;
14
- error: Error;
15
- };
16
- /**
17
- * Decodes an unknown error into a {@link PrerequisiteError} with a
18
- * human-readable revert reason. Mirrors the SDK's `extractCallError`: walk the
19
- * viem error chain for a {@link ContractFunctionRevertedError} and use its
20
- * `errorName`, otherwise fall back to the error's short message / name.
21
- */
22
- export declare function toPrerequisiteError(cause: unknown): PrerequisiteError;
23
- /**
24
- * A single verifiable prerequisite for a transaction. Subclasses describe the
25
- * on-chain reads they need ({@link calls}) and how to turn the multicall slice
26
- * into a {@link PrerequisiteResult} ({@link resolve}).
27
- *
28
- * Identity (`id`, `kind`, `title`) and build-time `detail` are exposed as
29
- * read-only accessors; subclasses back them with private fields. The shared
30
- * {@link satisfiedResult}/{@link errorResult} helpers are `protected` so each
31
- * subclass builds results consistently.
32
- *
33
- * The same instance can be verified standalone via {@link verify} or batched
34
- * together with others by `verifyPrerequisites`.
35
- */
36
- export declare abstract class Prerequisite<K extends PrerequisiteKind> {
37
- /** Stable identifier, used as a React key and for deduplication. */
38
- abstract get id(): string;
39
- /** Discriminant tying this check to its detail payload. */
40
- abstract get kind(): K;
41
- /** Human-readable label shown in the UI. */
42
- abstract get title(): string;
43
- /** Inputs known before reading the chain (no `actual` yet). */
44
- abstract get detail(): PrerequisiteDetail<K>;
45
- /** Contract reads this check needs (usually one). */
46
- abstract calls(ctx: PrerequisiteContext): ContractFunctionParameters[];
47
- /** Maps this check's slice of the multicall response into a result. */
48
- abstract resolve(slice: MulticallCallResult[]): PrerequisiteResult<K>;
8
+ export declare abstract class Prerequisite {
9
+ /**
10
+ * Verifies this prerequisite. Never rejects: any error thrown by
11
+ * {@link check} (revert, RPC/network failure, compressor error) is
12
+ * normalized into an `error` result.
13
+ */
14
+ verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
49
15
  /**
50
- * Verifies this prerequisite on its own using an `allowFailure` multicall.
51
- * Prefer `verifyPrerequisites` to batch several checks into one round-trip.
16
+ * Performs the reads this prerequisite needs and maps them into a result.
17
+ * May throw on read failure; {@link verify} converts throws into `error`
18
+ * results.
52
19
  */
53
- verify(ctx: PrerequisiteContext): Promise<PrerequisiteResult<K>>;
54
- /** Builds a successful result; `detail` carries the on-chain `actual`. */
55
- protected satisfiedResult(satisfied: boolean, detail: PrerequisiteDetail<K>): PrerequisiteResult<K>;
56
- /** Builds a failed result from a decoded read error. */
57
- protected errorResult(error: PrerequisiteError): PrerequisiteResult<K>;
20
+ protected abstract check(ctx: PrerequisiteContext): Promise<PrerequisiteResult>;
21
+ /** Builds this prerequisite's failed result from a normalized read error. */
22
+ protected abstract errorResult(error: PrerequisiteError): PrerequisiteResult;
58
23
  }
59
- /** Any prerequisite regardless of its kind, used for heterogeneous lists. */
60
- export type AnyPrerequisite = Prerequisite<PrerequisiteKind>;
@@ -0,0 +1,51 @@
1
+ import type { Address } from "viem";
2
+ import type { RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs } from "../../sdk/index.js";
3
+ import { Prerequisite } from "./Prerequisite.js";
4
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
5
+ /**
6
+ * RWA (e.g. Securitize) open-account requirements: off-chain token
7
+ * registration and/or EIP-712 signatures the borrower must provide before
8
+ * opening a credit account in an RWA market.
9
+ */
10
+ export interface RWAOpenRequirementsDetail {
11
+ /** RWA token (e.g. Securitize DSToken) the requirements are checked for. */
12
+ token: Address;
13
+ /** Credit manager of the RWA market. */
14
+ creditManager: Address;
15
+ /** RWA factory that gates the token. */
16
+ factory: Address;
17
+ /**
18
+ * Full requirements fetched at verify time via
19
+ * `sdk.accounts.getOpenAccountRequirements`; only present when the read
20
+ * succeeded and the factory gates the token.
21
+ */
22
+ requirements?: RWAOpenAccountRequirements;
23
+ /**
24
+ * Subset of `requirements` still unfulfilled, computed by the RWA
25
+ * factory at verify time (`IRWAFactory.getMissingRequirements`);
26
+ * `undefined` when everything is satisfied.
27
+ */
28
+ missing?: RWAMissingOpenAccountRequirements;
29
+ }
30
+ export type RWAOpenRequirementsResult = PrerequisiteOutcome & {
31
+ kind: "rwaOpenRequirements";
32
+ detail: RWAOpenRequirementsDetail;
33
+ };
34
+ /**
35
+ * Checks that the borrower has fulfilled the RWA factory's open-account
36
+ * requirements (issuer-side token registration, EIP-712 signatures).
37
+ *
38
+ * The requirements are fetched at verify time via
39
+ * `sdk.accounts.getOpenAccountRequirements`, so re-running verification picks
40
+ * up off-chain progress (the borrower registering on the issuer's website or
41
+ * signing the factory's message) without rebuilding the prerequisites. The
42
+ * unfulfilled subset is computed by the factory itself
43
+ * (`IRWAFactory.getMissingRequirements`) and exposed on the result's
44
+ * `detail.missing`; the full requirements are kept on `detail.requirements`.
45
+ */
46
+ export declare class RWAOpenRequirementsPrerequisite extends Prerequisite {
47
+ #private;
48
+ constructor(detail: Omit<RWAOpenRequirementsDetail, "requirements" | "missing">, providedArgs?: RWAOperationArgs);
49
+ protected check(ctx: PrerequisiteContext): Promise<RWAOpenRequirementsResult>;
50
+ protected errorResult(error: PrerequisiteError): RWAOpenRequirementsResult;
51
+ }
@@ -0,0 +1,14 @@
1
+ import { type GetApprovalAddressProps } from "../../sdk/index.js";
2
+ import type { InnerOperation } from "../parse/index.js";
3
+ import type { Prerequisite } from "./Prerequisite.js";
4
+ import type { PrerequisiteContext } from "./types.js";
5
+ /**
6
+ * For every `addCollateral` inside a multicall, requires the wallet to approve
7
+ * and hold the collateral token for the collateral spender.
8
+ *
9
+ * The approval spender is resolved via {@link OnchainSDK.accounts.getApprovalAddress}:
10
+ * the credit manager for classic markets, but a per-investor "special wallet"
11
+ * for RWA markets. The resolution happens at build time because the spender is
12
+ * part of the prerequisite's identity and UI detail.
13
+ */
14
+ export declare function buildCollateralPrerequisites(spenderOptions: GetApprovalAddressProps, multicall: InnerOperation[], ctx: PrerequisiteContext): Promise<Prerequisite[]>;
@@ -0,0 +1,8 @@
1
+ import type { PartialLiquidationOperation } from "../parse/index.js";
2
+ import type { Prerequisite } from "./Prerequisite.js";
3
+ import type { PrerequisiteContext } from "./types.js";
4
+ /**
5
+ * Partial liquidation pulls the repaid underlying from the liquidator: they
6
+ * must have approved it to the credit manager and hold enough of it.
7
+ */
8
+ export declare function buildPartialLiquidationPrerequisites(tx: PartialLiquidationOperation, ctx: PrerequisiteContext): Prerequisite[];
@@ -0,0 +1,8 @@
1
+ import { type Address } from "viem";
2
+ import type { PoolOperation } from "../parse/index.js";
3
+ import type { Prerequisite } from "./Prerequisite.js";
4
+ /**
5
+ * Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
6
+ * either direct or zapper-routed.
7
+ */
8
+ export declare function buildPoolPrerequisites(tx: PoolOperation, wallet: Address): Prerequisite[];
@@ -0,0 +1,21 @@
1
+ import type { Address } from "viem";
2
+ import { type RWAOperationArgs } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "../parse/index.js";
4
+ import type { Prerequisite } from "./Prerequisite.js";
5
+ import type { PrerequisiteContext } from "./types.js";
6
+ /**
7
+ * For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
8
+ * builds a prerequisite per RWA token the multicall touches; each one checks
9
+ * the factory's open-account requirements (issuer-side token registration,
10
+ * EIP-712 signatures) at verify time.
11
+ *
12
+ * The `providedArgs` params are the registration values decoded from the
13
+ * transaction calldata itself: signatures already included there satisfy the
14
+ * signature requirement, so a fully built transaction is not reported as
15
+ * missing signatures. In the template flow they are empty and the verified
16
+ * result's `detail.missing` describes what is still unfulfilled; acting on it
17
+ * (signing, rebuilding calldata) is up to the consumer.
18
+ *
19
+ * Returns nothing for non-RWA markets.
20
+ */
21
+ export declare function buildRWAPrerequisites(multicall: InnerOperation[], creditManager: Address, providedArgs: RWAOperationArgs, ctx: PrerequisiteContext): Prerequisite[];
@@ -0,0 +1,19 @@
1
+ import type { PluginsMap } from "../../sdk/index.js";
2
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
3
+ import type { PrerequisiteResult } from "./types.js";
4
+ /**
5
+ * Derives and verifies the on-chain prerequisites for an operation given its
6
+ * raw calldata: the conditions that must hold for the call not to revert and
7
+ * that we can verify with the SDK (token approvals, wallet balances, RWA
8
+ * open-account requirements).
9
+ *
10
+ * Each prerequisite performs its own reads and resolves into a
11
+ * {@link PrerequisiteResult} (`satisfied` or `error`).
12
+ *
13
+ * Only *sender-actionable* prerequisites belong here: conditions the LP
14
+ * provider or borrower can fix themselves before retrying (e.g. approve a
15
+ * token, sign the RWA factory's messages). Non-actionable protocol/admin state
16
+ * (e.g. pool is paused) is intentionally out of scope, since the user cannot
17
+ * resolve it.
18
+ */
19
+ export declare function checkPrerequisites<P extends PluginsMap>(input: PreviewOperationInput<P>, options?: PreviewOperationOptions): Promise<PrerequisiteResult[]>;
@@ -0,0 +1,7 @@
1
+ import { type AllowanceDetail } from "./AllowancePrerequisite.js";
2
+ import type { Prerequisite } from "./Prerequisite.js";
3
+ /**
4
+ * The most common prerequisite pair: `owner` must have approved `spender` for
5
+ * `required` of `token` and must hold at least that much of it.
6
+ */
7
+ export declare function allowanceAndBalance(props: Omit<AllowanceDetail, "actual">): Prerequisite[];
@@ -1,7 +1,6 @@
1
1
  export * from "./AllowancePrerequisite.js";
2
2
  export * from "./BalancePrerequisite.js";
3
- export * from "./buildPrerequisites.js";
3
+ export * from "./checkPrerequisites.js";
4
4
  export * from "./Prerequisite.js";
5
- export * from "./prepareAction.js";
6
- export * from "./runPrerequisites.js";
5
+ export * from "./RWAOpenRequirementsPrerequisite.js";
7
6
  export * from "./types.js";
@@ -1,40 +1,8 @@
1
1
  import type { Address } from "viem";
2
2
  import type { OnchainSDK } from "../../sdk/index.js";
3
- /**
4
- * Extension point that ties each prerequisite kind to its detail payload.
5
- *
6
- * Adding a new prerequisite kind only requires a new entry here: the generic
7
- * machinery below and the UI renderer registry both key off this map, so TS
8
- * forces every consumer to handle the new kind.
9
- *
10
- * IMPORTANT: only add prerequisites that are *actionable by the transaction
11
- * sender* (the LP provider or borrower). A valid prerequisite is one the user
12
- * can resolve themselves before retrying, e.g. approve a token (`allowance`)
13
- * or acquire/free up funds (`balance`). Do NOT add protocol- or admin-level
14
- * state the user cannot change, such as pool pause status or available pool
15
- * liquidity; those are not actionable and must not be listed as prerequisites.
16
- */
17
- export interface PrerequisiteDetailMap {
18
- /** ERC-20 allowance from `owner` to `spender` must cover `required`. */
19
- allowance: {
20
- token: Address;
21
- owner: Address;
22
- spender: Address;
23
- required: bigint;
24
- /** On-chain allowance read; only present when the read succeeded. */
25
- actual?: bigint;
26
- };
27
- /** ERC-20 balance of `owner` must cover `required`. */
28
- balance: {
29
- token: Address;
30
- owner: Address;
31
- required: bigint;
32
- /** On-chain balance read; only present when the read succeeded. */
33
- actual?: bigint;
34
- };
35
- }
36
- export type PrerequisiteKind = keyof PrerequisiteDetailMap;
37
- export type PrerequisiteDetail<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteDetailMap[K];
3
+ import type { AllowanceResult } from "./AllowancePrerequisite.js";
4
+ import type { BalanceResult } from "./BalancePrerequisite.js";
5
+ import type { RWAOpenRequirementsResult } from "./RWAOpenRequirementsPrerequisite.js";
38
6
  /** Failure of the underlying on-chain read (revert, decode error, RPC error). */
39
7
  export interface PrerequisiteError {
40
8
  /** Decoded revert reason / error name, human-readable. */
@@ -42,32 +10,27 @@ export interface PrerequisiteError {
42
10
  /** Original error, kept for debugging. */
43
11
  cause?: unknown;
44
12
  }
45
- export interface PrerequisiteBase<K extends PrerequisiteKind> {
46
- id: string;
47
- kind: K;
48
- title: string;
49
- detail: PrerequisiteDetail<K>;
50
- }
51
13
  /**
52
14
  * Outcome of verifying a single prerequisite: either the read succeeded (a
53
15
  * `satisfied` boolean) or it reverted/failed (an `error` with the revert
54
- * reason). The two variants are mutually exclusive.
16
+ * reason).
55
17
  */
56
- export type PrerequisiteResult<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteBase<K> & ({
18
+ export type PrerequisiteOutcome = {
57
19
  satisfied: boolean;
58
20
  error?: undefined;
59
21
  } | {
60
22
  satisfied?: undefined;
61
23
  error: PrerequisiteError;
62
- });
24
+ };
63
25
  /**
64
- * Discriminated union over every prerequisite kind. Switching on `kind`
65
- * narrows `detail` to the matching payload, so React components can render
66
- * kind-specific details with full type safety.
26
+ * Discriminated union over every prerequisite kind
27
+ *
28
+ * Only add prerequisites that are actionable by tx sender.
29
+ * A valid prerequisite is one the user can resolve themselves before retrying,
30
+ * e.g. approve a token (`allowance`) or perform offchain KYC verification.
67
31
  */
68
- export type AnyPrerequisiteResult = {
69
- [K in PrerequisiteKind]: PrerequisiteResult<K>;
70
- }[PrerequisiteKind];
32
+ export type PrerequisiteResult = AllowanceResult | BalanceResult | RWAOpenRequirementsResult;
33
+ export type PrerequisiteKind = PrerequisiteResult["kind"];
71
34
  /** Shared inputs for building and verifying prerequisites. */
72
35
  export interface PrerequisiteContext {
73
36
  sdk: OnchainSDK;
@@ -0,0 +1,83 @@
1
+ import type { Address } from "viem";
2
+ import { AssetsMap, type CreditAccountData } from "../../sdk/index.js";
3
+ /**
4
+ * Constructor properties of {@link CreditAccountState}.
5
+ */
6
+ export interface CreditAccountStateProps {
7
+ creditAccount: Address;
8
+ creditManager: Address;
9
+ underlying: Address;
10
+ balances?: AssetsMap;
11
+ quotas?: AssetsMap;
12
+ debt?: bigint;
13
+ totalDebt?: bigint;
14
+ }
15
+ /**
16
+ * A snapshot of a credit account's economic state (balances, quotas, debt)
17
+ * as used by operation previews, together with the account's identity.
18
+ *
19
+ * Used both as the pre-state seed of a multicall replay and as the running
20
+ * post-state mutated by it; changes are derived by diffing two snapshots.
21
+ */
22
+ export declare class CreditAccountState {
23
+ creditAccount: Address;
24
+ creditManager: Address;
25
+ /**
26
+ * Credit manager underlying
27
+ */
28
+ underlying: Address;
29
+ /**
30
+ * Per-token balances
31
+ */
32
+ balances: AssetsMap;
33
+ /**
34
+ * Per-token quotas
35
+ */
36
+ quotas: AssetsMap;
37
+ /**
38
+ * Debt principal
39
+ */
40
+ debt: bigint;
41
+ /**
42
+ * Total debt: principal + accrued interest + accrued fees.
43
+ * `decreaseDebt` amounts operate on total debt (interest and fees are
44
+ * repaid before principal), so principal alone is not enough to resolve
45
+ * either the underlying balance decrement or the final principal.
46
+ */
47
+ totalDebt: bigint;
48
+ constructor(props: CreditAccountStateProps);
49
+ /**
50
+ * The account-opening seed: everything zero/empty. The account doesn't
51
+ * exist yet at preview time, so `creditAccount` is the zero address;
52
+ * opening previews take identity from the parsed operation instead.
53
+ */
54
+ static beforeOpen(creditManager: Address, underlying: Address): CreditAccountState;
55
+ /**
56
+ * Pre-state of an existing account from its on-chain data, with dust
57
+ * balances and quotas (≤ 1 wei) filtered out.
58
+ */
59
+ static fromCreditAccountData(ca: CreditAccountData): CreditAccountState;
60
+ clone(): CreditAccountState;
61
+ /**
62
+ * Borrows `amount` of underlying: debt, total debt and the underlying
63
+ * balance all increase by it.
64
+ */
65
+ increaseDebt(amount: bigint): void;
66
+ /**
67
+ * Repays up to `amount` of underlying against the debt, clamped to the
68
+ * total debt (the facade never repays more than is owed). Interest and
69
+ * fees are repaid before principal (CreditLogic.calcDecrease), so
70
+ * principal only decreases once total debt drops below it. The underlying
71
+ * balance decreases by the repaid amount.
72
+ *
73
+ * @returns The actually repaid (post-clamp) amount.
74
+ */
75
+ repay(amount: bigint): bigint;
76
+ /**
77
+ * Applies a relative `updateQuota` change to the token's quota:
78
+ * `MIN_INT96` is the facade "disable quota" sentinel and zeroes it, other
79
+ * changes are added with the result clamped at zero (quotas cannot go
80
+ * negative on-chain).
81
+ */
82
+ updateQuota(token: Address, change: bigint): void;
83
+ }
@@ -0,0 +1,13 @@
1
+ import { type Hex } from "viem";
2
+ import type { ERC4626AdapterContract } from "../../plugins/adapters/index.js";
3
+ import type { AssetsMap } from "../../sdk/index.js";
4
+ /**
5
+ * Applies an RWA wrap/unwrap adapter call (ERC4626 `deposit`/`redeem` and
6
+ * their diff variants, as emitted by `CreditAccountsServiceV310`) to the
7
+ * running credit-account balances.
8
+ *
9
+ * RWA underlyings always convert 1-to-1 with their vault asset, so the
10
+ * counterpart amount equals the input amount and no on-chain preview read is
11
+ * needed.
12
+ */
13
+ export declare function applyRWAWrapUnwrap(adapter: ERC4626AdapterContract, calldata: Hex, balances: AssetsMap): void;
@@ -0,0 +1,41 @@
1
+ import { type Address } from "viem";
2
+ import type { CreditAccountState } from "./CreditAccountState.js";
3
+ import type { DetectedDelayedOperation } from "./detectDelayedOperation.js";
4
+ import { type InstantOperationPreview } from "./types.js";
5
+ /**
6
+ * Oracle conversion, injected so unit tests don't need a market
7
+ */
8
+ export type ConvertFn = (token: Address, to: Address, amount: bigint) => bigint;
9
+ /**
10
+ * Builds the best-effort preview of the account state after the detected
11
+ * delayed withdrawal is claimed and its intent (if any) is resumed.
12
+ *
13
+ * Pure function: reads the post-instant account state, never mutates it and
14
+ * performs no network access. Swaps that the resume flow would route through
15
+ * the router are estimated with the injected oracle conversion; tokens the
16
+ * oracle cannot price contribute nothing and set a non-fatal
17
+ * `ERROR_UNPRICEABLE_TOKEN` error on the preview.
18
+ *
19
+ * Common claim step (all intents): the phantom token is burned (balance and
20
+ * quota zeroed) and the claim token is credited with the same amount 1:1.
21
+ *
22
+ * Intent-specific resume:
23
+ * - `CLOSE_ACCOUNT`: everything is swapped into the underlying, the debt is
24
+ * fully repaid and the rest is withdrawn to the user.
25
+ * - `DECREASE_LEVERAGE`: the claimed amount is swapped into the underlying
26
+ * and used to decrease the debt.
27
+ * - `WITHDRAW_COLLATERAL`: the recorded amount of the recorded token is
28
+ * withdrawn to the user, the rest of the claimed amount decreases the debt.
29
+ * - other intents and `intent: undefined`: claim-only, the post-claim swap
30
+ * target is not recoverable from the intent.
31
+ *
32
+ * The changes (`debtChange`, `quotasChange`, `assetsChange`) are reported
33
+ * relative to the account state before the whole transaction, not the
34
+ * post-instant state: to the user the delayed preview answers "where will
35
+ * the account end up compared to now", so the transient phantom token
36
+ * (minted by the instant part, burned by the claim) nets out to nothing.
37
+ *
38
+ * @param state - Account state after the instant part of the transaction.
39
+ * @param before - Account state before the transaction (the diff base).
40
+ */
41
+ export declare function buildDelayedPreview(state: CreditAccountState, before: CreditAccountState, detected: DetectedDelayedOperation, convert: ConvertFn): InstantOperationPreview;
@@ -0,0 +1,18 @@
1
+ import type { Address } from "viem";
2
+ import type { InnerOperation } from "../parse/index.js";
3
+ /**
4
+ * Detects whether a credit-facade multicall fully closes or repays the
5
+ * account.
6
+ *
7
+ * Note that closing/repaying an account whose debt is already zero emits no
8
+ * `decreaseDebt` call at all and is not detected (previews as an adjustment).
9
+ */
10
+ export declare function isCloseOrRepay(multicall: InnerOperation[]): boolean;
11
+ /**
12
+ * Distinguishes a closure from a repayment by how collateral leaves the
13
+ * account:
14
+ * - close swaps all assets into underlying and withdraws only the underlying
15
+ * - repay returns collateral in-kind: it adds collateral from the wallet to
16
+ * cover the debt and/or withdraws non-underlying tokens.
17
+ */
18
+ export declare function classifyCloseOrRepay(multicall: InnerOperation[], underlying: Address): "close" | "repay";
@@ -0,0 +1,29 @@
1
+ import { type DelayedWithdrawalRequest, type SdkWithAdapters } from "../../plugins/adapters/index.js";
2
+ import { type DelayedIntent, type PluginsMap } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "../parse/index.js";
4
+ /**
5
+ * A delayed-withdrawal request detected in a credit-facade multicall,
6
+ * produced by `detectDelayedOperation`.
7
+ */
8
+ export interface DetectedDelayedOperation {
9
+ /**
10
+ * Phantom/claim tokens from the adapter's `parseDelayedWithdrawalRequest`
11
+ */
12
+ request: DelayedWithdrawalRequest;
13
+ /**
14
+ * Decoded delayed intent; undefined when the request carries none, in
15
+ * which case the delayed preview is claim-only
16
+ */
17
+ intent?: DelayedIntent;
18
+ }
19
+ /**
20
+ * Scans a credit-facade multicall for a delayed-withdrawal request.
21
+ *
22
+ * @param sdk - SDK with the adapters plugin attached.
23
+ * @param multicall - Parsed inner operations of the multicall.
24
+ * @returns The detected request, or `undefined` when
25
+ * the multicall contains no delayed-withdrawal request.
26
+ * @throws InvalidDelayedIntentError when a request carries non-empty
27
+ * `extraData` that cannot be decoded as a `DelayedIntent`.
28
+ */
29
+ export declare function detectDelayedOperation<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[]): DetectedDelayedOperation | undefined;
@@ -0,0 +1,24 @@
1
+ import type { Address, Hex } from "viem";
2
+ /**
3
+ * Thrown by `previewOperation` for parsed operations it cannot preview yet.
4
+ * Currently only pool operations and credit account opening are supported.
5
+ */
6
+ export declare class UnsupportedOperationError extends Error {
7
+ /** The parsed operation kind (the `operation` discriminant). */
8
+ readonly operation: string;
9
+ constructor(operation: string);
10
+ }
11
+ /**
12
+ * Thrown when a delayed-withdrawal request carries non-empty `extraData`
13
+ * that cannot be decoded as a `DelayedIntent`. Requests produced by our
14
+ * stack always encode a valid intent, so garbage here means a
15
+ * malformed/foreign transaction that must not be previewed as if it were
16
+ * fine.
17
+ */
18
+ export declare class InvalidDelayedIntentError extends Error {
19
+ /** Adapter the withdrawal request was addressed to. */
20
+ readonly adapter: Address;
21
+ /** Raw `extraData` that failed to decode. */
22
+ readonly extraData: Hex;
23
+ constructor(adapter: Address, extraData: Hex, cause?: unknown);
24
+ }
@@ -0,0 +1,11 @@
1
+ export * from "./buildDelayedPreview.js";
2
+ export * from "./CreditAccountState.js";
3
+ export * from "./detectCloseOrRepay.js";
4
+ export * from "./detectDelayedOperation.js";
5
+ export * from "./errors.js";
6
+ export * from "./previewAdjustCreditAccount.js";
7
+ export * from "./previewCloseOrRepayCreditAccount.js";
8
+ export * from "./previewOperation.js";
9
+ export * from "./replayInnerOperations.js";
10
+ export * from "./replayMulticall.js";
11
+ export * from "./types.js";
@@ -0,0 +1,12 @@
1
+ import { type PluginsMap } from "../../sdk/index.js";
2
+ import type { MulticallOperation, RWAMulticallOperation } from "../parse/index.js";
3
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
4
+ import { type AdjustCreditAccountPreview } from "./types.js";
5
+ /**
6
+ * Previews a `multicall`/`botMulticall` operation on an existing credit
7
+ * account: threads the multicall through {@link replayMulticall} over the
8
+ * pre-resolved account state (`options.creditAccount`) and reports the
9
+ * minimal guaranteed post-state alongside the changes relative to the
10
+ * pre-state.
11
+ */
12
+ export declare function previewAdjustCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: MulticallOperation | RWAMulticallOperation, options: PreviewOperationOptions<true>): Promise<AdjustCreditAccountPreview>;
@@ -0,0 +1,11 @@
1
+ import { type PluginsMap } from "../../sdk/index.js";
2
+ import type { CloseCreditAccountOperation, MulticallOperation, RWAMulticallOperation } from "../parse/index.js";
3
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
4
+ import type { CloseCreditAccountPreview, RepayCreditAccountPreview } from "./types.js";
5
+ /**
6
+ * Any parsed operation that fully closes or repays a credit account: the
7
+ * facade `closeCreditAccount` entry point (permanent closure) or a plain
8
+ * multicall detected by `isCloseOrRepay` (zero-debt closure/repay).
9
+ */
10
+ export type CloseOrRepayOperation = CloseCreditAccountOperation | MulticallOperation | RWAMulticallOperation;
11
+ export declare function previewCloseOrRepayCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: CloseOrRepayOperation, permanent: boolean, options: PreviewOperationOptions<true>): Promise<CloseCreditAccountPreview | RepayCreditAccountPreview>;
@@ -0,0 +1,5 @@
1
+ import { type PluginsMap } from "../../sdk/index.js";
2
+ import type { OpenCreditAccountOperation, RWAOpenCreditAccountOperation } from "../parse/index.js";
3
+ import type { PreviewOperationInput } from "../types.js";
4
+ import { type OpenCreditAccountPreview } from "./types.js";
5
+ export declare function previewOpenCreditAccount<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: OpenCreditAccountOperation | RWAOpenCreditAccountOperation): Promise<OpenCreditAccountPreview>;
@@ -0,0 +1,8 @@
1
+ import type { PluginsMap } from "../../sdk/index.js";
2
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
3
+ import type { OperationPreview } from "./types.js";
4
+ /**
5
+ * Previews a raw operation calldata: decodes it into a typed operation and
6
+ * assembles an operation-specific, human-displayable preview.
7
+ */
8
+ export declare function previewOperation<P extends PluginsMap = PluginsMap>(input: PreviewOperationInput<P>, options?: PreviewOperationOptions): Promise<OperationPreview>;
@@ -0,0 +1,5 @@
1
+ import type { PluginsMap } from "../../sdk/index.js";
2
+ import type { PoolOperation } from "../parse/index.js";
3
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
4
+ import type { PoolOperationPreview } from "./types.js";
5
+ export declare function previewPoolOperation<P extends PluginsMap>(input: PreviewOperationInput<P>, operation: PoolOperation, options?: PreviewOperationOptions): Promise<PoolOperationPreview>;
@@ -0,0 +1,44 @@
1
+ import { type SdkWithAdapters } from "../../plugins/adapters/index.js";
2
+ import { AssetsMap, type PluginsMap } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "../parse/index.js";
4
+ import type { CreditAccountState } from "./CreditAccountState.js";
5
+ import { type OperationPreviewError } from "./types.js";
6
+ /**
7
+ * Running state threaded through a credit-facade multicall by
8
+ * {@link replayInnerOperations}: the account's post-state being mutated in
9
+ * facade execution order, plus per-multicall bookkeeping that is not account
10
+ * state (what was added from / withdrawn to the wallet).
11
+ */
12
+ export interface ReplayState {
13
+ /**
14
+ * Running account state, mutated in facade execution order. Seeded by the
15
+ * caller: `CreditAccountState.beforeOpen` for account opening, a clone of
16
+ * `CreditAccountState.fromCreditAccountData` for an existing account.
17
+ */
18
+ account: CreditAccountState;
19
+ /**
20
+ * Cumulative amounts added via `addCollateral`.
21
+ */
22
+ collateralAdded: AssetsMap;
23
+ /**
24
+ * Cumulative amounts withdrawn via `withdrawCollateral`, with `MAX_UINT256`
25
+ * resolved against the running balance at the point of the call.
26
+ */
27
+ collateralWithdrawn: AssetsMap;
28
+ }
29
+ /**
30
+ * Creates a {@link ReplayState} around the given account seed, with empty
31
+ * bookkeeping.
32
+ */
33
+ export declare function makeReplayState(account: CreditAccountState): ReplayState;
34
+ /**
35
+ * Replays a credit-facade multicall over `state`, mutating it in place in
36
+ * facade execution order. The result is the *minimal guaranteed* post-state.
37
+ *
38
+ * The function assumes that the call was generated by our frontend using
39
+ * router/withdrawal compressor, otherwise it returns an error, but still
40
+ * proceeds best-effort.
41
+ *
42
+ * @returns `undefined` on success, the error on a malformed multicall.
43
+ */
44
+ export declare function replayInnerOperations<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[], state: ReplayState): Promise<OperationPreviewError | undefined>;