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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +444 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  3. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  4. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  5. package/dist/cjs/abi/compressors/withdrawalCompressor.js +244 -3
  6. package/dist/cjs/abi/helpers/redemptionLogger.js +160 -0
  7. package/dist/cjs/abi/iRedemptionLoggerV310.js +119 -0
  8. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  9. package/dist/cjs/abi/router/midasWorker.js +4 -4
  10. package/dist/cjs/dev/AccountOpener.js +9 -15
  11. package/dist/cjs/dev/index.js +3 -1
  12. package/dist/cjs/dev/withdrawalAbi.js +2099 -0
  13. package/dist/cjs/dev/withdrawalUtils.js +278 -0
  14. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  15. package/dist/cjs/history/mapOperations.js +7 -0
  16. package/dist/cjs/history/populateContractsRegister.js +14 -11
  17. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  18. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  19. package/dist/cjs/plugins/adapters/abi/actionAbi.js +14 -15
  20. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  40. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +775 -0
  41. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  42. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  44. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  45. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +49 -14
  46. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  52. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  53. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  54. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  55. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  56. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +6 -43
  57. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  58. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  59. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  60. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  61. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  62. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  63. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +69 -0
  64. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  65. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +25 -4
  66. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +21 -4
  67. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +21 -4
  68. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +24 -4
  69. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +32 -4
  70. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +6 -11
  71. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +6 -11
  72. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +6 -11
  73. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +6 -11
  74. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +6 -11
  75. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +20 -4
  76. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +42 -4
  77. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +20 -4
  78. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -4
  79. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +28 -4
  80. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +5 -5
  81. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -5
  82. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +5 -5
  83. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +16 -4
  84. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +26 -4
  85. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +21 -4
  86. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +57 -4
  87. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +16 -4
  88. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +168 -0
  89. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +16 -5
  90. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +18 -5
  91. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -4
  92. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -4
  93. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +59 -6
  94. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +23 -4
  95. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +15 -4
  96. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +15 -4
  97. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -4
  98. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -5
  99. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +21 -5
  100. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +15 -4
  101. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +21 -4
  102. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  103. package/dist/cjs/plugins/adapters/createAdapter.js +42 -49
  104. package/dist/cjs/plugins/adapters/types.js +2 -11
  105. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +25 -55
  106. package/dist/cjs/preview/index.js +5 -3
  107. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  108. package/dist/cjs/preview/parse/index.js +0 -2
  109. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  110. package/dist/cjs/preview/parse/parseOperationCalldata.js +8 -14
  111. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  112. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +18 -22
  113. package/dist/cjs/preview/parse/types.js +1 -1
  114. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +19 -42
  115. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +24 -38
  116. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  117. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +36 -31
  118. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +91 -0
  119. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  120. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  121. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  122. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +86 -0
  123. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  124. package/dist/cjs/preview/prerequisites/index.js +2 -6
  125. package/dist/cjs/preview/preview/CreditAccountState.js +154 -0
  126. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  127. package/dist/cjs/preview/preview/buildDelayedPreview.js +151 -0
  128. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  129. package/dist/cjs/preview/preview/detectDelayedClaim.js +53 -0
  130. package/dist/cjs/preview/preview/detectDelayedOperation.js +70 -0
  131. package/dist/cjs/preview/preview/errors.js +36 -0
  132. package/dist/cjs/preview/preview/index.js +44 -0
  133. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +78 -0
  134. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  135. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +84 -0
  136. package/dist/cjs/preview/preview/previewOperation.js +114 -0
  137. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  138. package/dist/cjs/preview/preview/replayInnerOperations.js +153 -0
  139. package/dist/cjs/preview/preview/replayMulticall.js +37 -0
  140. package/dist/cjs/preview/preview/types.js +49 -0
  141. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +51 -0
  142. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  143. package/dist/cjs/preview/types.js +16 -0
  144. package/dist/cjs/rewards/rewards/extra-apy.js +8 -4
  145. package/dist/cjs/sdk/MultichainSDK.js +7 -0
  146. package/dist/cjs/sdk/OnchainSDK.js +29 -0
  147. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +172 -210
  148. package/dist/cjs/sdk/accounts/index.js +5 -1
  149. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +207 -0
  150. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +65 -0
  151. package/dist/cjs/sdk/accounts/liquidations/helpers.js +63 -0
  152. package/dist/cjs/sdk/accounts/liquidations/index.js +28 -0
  153. package/dist/cjs/sdk/accounts/liquidations/types.js +16 -0
  154. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +292 -0
  155. package/dist/cjs/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +72 -0
  156. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  157. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  158. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +222 -0
  159. package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +40 -0
  160. package/dist/cjs/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/createRedemptionLogger.js} +16 -21
  161. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +45 -0
  162. package/dist/cjs/sdk/accounts/withdrawal-compressor/errors.js +38 -0
  163. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +42 -0
  164. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  165. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +36 -0
  166. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  167. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  168. package/dist/cjs/sdk/constants/address-provider.js +3 -0
  169. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  170. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  171. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  172. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  173. package/dist/cjs/sdk/router/helpers.js +0 -5
  174. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  175. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  176. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  177. package/dist/cjs/sdk/utils/index.js +2 -0
  178. package/dist/esm/abi/IWithdrawalCompressorV313.js +420 -0
  179. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +130 -2
  180. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +130 -2
  181. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +130 -2
  182. package/dist/esm/abi/compressors/withdrawalCompressor.js +244 -3
  183. package/dist/esm/abi/helpers/redemptionLogger.js +136 -0
  184. package/dist/esm/abi/iRedemptionLoggerV310.js +95 -0
  185. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  186. package/dist/esm/abi/router/midasWorker.js +4 -4
  187. package/dist/esm/dev/AccountOpener.js +10 -15
  188. package/dist/esm/dev/index.js +1 -0
  189. package/dist/esm/dev/withdrawalAbi.js +2068 -0
  190. package/dist/esm/dev/withdrawalUtils.js +266 -0
  191. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  192. package/dist/esm/history/mapOperations.js +7 -0
  193. package/dist/esm/history/populateContractsRegister.js +17 -12
  194. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  195. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  196. package/dist/esm/plugins/adapters/abi/actionAbi.js +14 -15
  197. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  201. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  202. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  203. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  208. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  209. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  210. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  213. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  214. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  215. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  216. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  217. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +750 -0
  218. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  219. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  220. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  221. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  222. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +45 -10
  223. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  224. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  225. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  226. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  227. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  228. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  229. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  230. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  231. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  232. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  233. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +6 -45
  234. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  235. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  236. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  237. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  238. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  239. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +92 -2
  240. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +45 -0
  241. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +2 -2
  242. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +27 -4
  243. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +23 -4
  244. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +23 -4
  245. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +27 -4
  246. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +34 -4
  247. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +5 -10
  248. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +5 -10
  249. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +5 -10
  250. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +5 -10
  251. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +5 -10
  252. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +22 -4
  253. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +45 -4
  254. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +22 -4
  255. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +21 -4
  256. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +30 -4
  257. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +6 -6
  258. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +19 -6
  259. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +6 -6
  260. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +18 -4
  261. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +28 -4
  262. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +23 -4
  263. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +60 -4
  264. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +18 -4
  265. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +154 -0
  266. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +20 -7
  267. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +23 -8
  268. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -4
  269. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +19 -5
  270. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +63 -7
  271. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +25 -4
  272. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +17 -4
  273. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +14 -3
  274. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +20 -3
  275. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +22 -5
  276. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +24 -6
  277. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +17 -4
  278. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +23 -4
  279. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  280. package/dist/esm/plugins/adapters/createAdapter.js +43 -52
  281. package/dist/esm/plugins/adapters/types.js +2 -11
  282. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +26 -60
  283. package/dist/esm/preview/index.js +2 -1
  284. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  285. package/dist/esm/preview/parse/index.js +0 -1
  286. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  287. package/dist/esm/preview/parse/parseOperationCalldata.js +8 -14
  288. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  289. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +18 -22
  290. package/dist/esm/preview/parse/types.js +1 -1
  291. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +20 -46
  292. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +25 -42
  293. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  294. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +38 -33
  295. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +72 -0
  296. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  297. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  298. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  299. package/dist/esm/preview/prerequisites/checkPrerequisites.js +62 -0
  300. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  301. package/dist/esm/preview/prerequisites/index.js +1 -3
  302. package/dist/esm/preview/preview/CreditAccountState.js +133 -0
  303. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  304. package/dist/esm/preview/preview/buildDelayedPreview.js +130 -0
  305. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  306. package/dist/esm/preview/preview/detectDelayedClaim.js +30 -0
  307. package/dist/esm/preview/preview/detectDelayedOperation.js +51 -0
  308. package/dist/esm/preview/preview/errors.js +12 -0
  309. package/dist/esm/preview/preview/index.js +12 -0
  310. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +57 -0
  311. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  312. package/dist/esm/preview/preview/previewOpenCreditAccount.js +68 -0
  313. package/dist/esm/preview/preview/previewOperation.js +95 -0
  314. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  315. package/dist/esm/preview/preview/replayInnerOperations.js +137 -0
  316. package/dist/esm/preview/preview/replayMulticall.js +16 -0
  317. package/dist/esm/preview/preview/types.js +18 -0
  318. package/dist/esm/preview/preview/unwrapNativeCollateral.js +29 -0
  319. package/dist/esm/preview/simulate/simulateOperation.js +1 -4
  320. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  321. package/dist/esm/preview/types.js +0 -0
  322. package/dist/esm/rewards/rewards/extra-apy.js +8 -4
  323. package/dist/esm/sdk/MultichainSDK.js +7 -0
  324. package/dist/esm/sdk/OnchainSDK.js +33 -1
  325. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +168 -205
  326. package/dist/esm/sdk/accounts/index.js +2 -0
  327. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +188 -0
  328. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +41 -0
  329. package/dist/esm/sdk/accounts/liquidations/helpers.js +36 -0
  330. package/dist/esm/sdk/accounts/liquidations/index.js +4 -0
  331. package/dist/esm/sdk/accounts/liquidations/types.js +0 -0
  332. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +264 -0
  333. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +48 -0
  334. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  335. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  336. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +204 -0
  337. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +16 -0
  338. package/dist/esm/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +23 -0
  339. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +21 -0
  340. package/dist/esm/sdk/accounts/withdrawal-compressor/errors.js +14 -0
  341. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +11 -0
  342. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  343. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +12 -0
  344. package/dist/esm/sdk/base/BaseContract.js +4 -2
  345. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  346. package/dist/esm/sdk/constants/address-provider.js +2 -0
  347. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +26 -4
  348. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  349. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  350. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  351. package/dist/esm/sdk/router/helpers.js +0 -4
  352. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  353. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  354. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  355. package/dist/esm/sdk/utils/index.js +1 -0
  356. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +596 -0
  357. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +198 -0
  358. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +198 -0
  359. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +198 -0
  360. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +355 -0
  361. package/dist/types/abi/helpers/redemptionLogger.d.ts +167 -0
  362. package/dist/types/abi/iRedemptionLoggerV310.d.ts +122 -0
  363. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  364. package/dist/types/abi/router/midasWorker.d.ts +4 -4
  365. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  366. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  367. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  368. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  369. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  370. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  371. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  372. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  373. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  374. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  375. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  376. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  377. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  378. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  379. package/dist/types/dev/abi.d.ts +4 -4
  380. package/dist/types/dev/index.d.ts +1 -0
  381. package/dist/types/dev/providers.d.ts +1 -1
  382. package/dist/types/dev/withdrawalAbi.d.ts +1580 -0
  383. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  384. package/dist/types/history/populateContractsRegister.d.ts +1 -1
  385. package/dist/types/history/types.d.ts +4 -4
  386. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  387. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +355 -0
  388. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  389. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  390. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  391. package/dist/types/plugins/adapters/abi/actionAbi.d.ts +1 -1
  392. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  393. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  394. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  395. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  396. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  397. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  398. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  399. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  400. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  401. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  402. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  403. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  404. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  405. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  406. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  407. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  408. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  409. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iMellow4626VaultAdapter.d.ts} +81 -83
  410. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  411. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  412. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +568 -0
  413. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  414. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  415. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  416. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  417. package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +251 -0
  418. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  419. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  420. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  421. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  422. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  423. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  424. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  425. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  426. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  427. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  428. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  429. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  430. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  431. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  432. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  433. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +66 -4
  434. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +17 -0
  435. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  436. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -8
  437. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -6
  438. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -8
  439. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -8
  440. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -12
  441. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +9 -12
  442. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +9 -12
  443. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +9 -12
  444. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +4 -7
  445. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +9 -12
  446. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -7
  447. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -7
  448. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -7
  449. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -7
  450. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -8
  451. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +5 -5
  452. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -6
  453. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +7 -7
  454. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -8
  455. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +7 -6
  456. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -7
  457. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +22 -8
  458. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -6
  459. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +614 -0
  460. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -8
  461. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -8
  462. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -8
  463. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -7
  464. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +110 -15
  465. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -8
  466. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -8
  467. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -7
  468. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -7
  469. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -8
  470. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -8
  471. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -8
  472. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -6
  473. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  474. package/dist/types/plugins/adapters/createAdapter.d.ts +2 -2
  475. package/dist/types/plugins/adapters/types.d.ts +54 -14
  476. package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +7 -7
  477. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  478. package/dist/types/preview/index.d.ts +2 -1
  479. package/dist/types/preview/parse/index.d.ts +0 -1
  480. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  481. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  482. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  483. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +5 -14
  484. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  485. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  486. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  487. package/dist/types/preview/parse/types-rwa.d.ts +12 -36
  488. package/dist/types/preview/parse/types.d.ts +0 -25
  489. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +15 -14
  490. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +20 -15
  491. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  492. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +40 -25
  493. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +15 -0
  494. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  495. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  496. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  497. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  498. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  499. package/dist/types/preview/prerequisites/index.d.ts +1 -3
  500. package/dist/types/preview/prerequisites/types.d.ts +24 -55
  501. package/dist/types/preview/preview/CreditAccountState.d.ts +83 -0
  502. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  503. package/dist/types/preview/preview/buildDelayedPreview.d.ts +47 -0
  504. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +20 -0
  505. package/dist/types/preview/preview/detectDelayedClaim.d.ts +45 -0
  506. package/dist/types/preview/preview/detectDelayedOperation.d.ts +29 -0
  507. package/dist/types/preview/preview/errors.d.ts +9 -0
  508. package/dist/types/preview/preview/index.d.ts +12 -0
  509. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  510. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  511. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  512. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  513. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  514. package/dist/types/preview/preview/replayInnerOperations.d.ts +44 -0
  515. package/dist/types/preview/preview/replayMulticall.d.ts +38 -0
  516. package/dist/types/preview/preview/types.d.ts +334 -0
  517. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +35 -0
  518. package/dist/types/preview/simulate/index.d.ts +1 -4
  519. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  520. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  521. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  522. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +3 -16
  523. package/dist/types/preview/simulate/types.d.ts +20 -51
  524. package/dist/types/preview/types.d.ts +63 -0
  525. package/dist/types/rewards/rewards/extra-apy.d.ts +3 -1
  526. package/dist/types/sdk/MultichainSDK.d.ts +6 -0
  527. package/dist/types/sdk/OnchainSDK.d.ts +17 -1
  528. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +23 -15
  529. package/dist/types/sdk/accounts/index.d.ts +2 -0
  530. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +20 -0
  531. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +23 -0
  532. package/dist/types/sdk/accounts/liquidations/helpers.d.ts +34 -0
  533. package/dist/types/sdk/accounts/liquidations/index.d.ts +4 -0
  534. package/dist/types/sdk/accounts/liquidations/types.d.ts +172 -0
  535. package/dist/types/sdk/accounts/types.d.ts +177 -53
  536. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +112 -0
  537. package/dist/types/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +149 -0
  538. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  539. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  540. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +629 -0
  541. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +20 -0
  542. package/dist/types/sdk/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +10 -0
  543. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +10 -0
  544. package/dist/types/sdk/accounts/withdrawal-compressor/errors.d.ts +13 -0
  545. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +11 -0
  546. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  547. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +438 -0
  548. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  549. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  550. package/dist/types/sdk/base/types.d.ts +18 -0
  551. package/dist/types/sdk/chain/chains.d.ts +8 -8
  552. package/dist/types/sdk/constants/address-provider.d.ts +1 -0
  553. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  554. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  555. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +11 -3
  556. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  557. package/dist/types/sdk/market/rwa/types.d.ts +26 -9
  558. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  559. package/dist/types/sdk/pools/types.d.ts +1 -1
  560. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  561. package/dist/types/sdk/router/helpers.d.ts +1 -2
  562. package/dist/types/sdk/router/types.d.ts +1 -15
  563. package/dist/types/sdk/types/state.d.ts +8 -0
  564. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  565. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  566. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  567. package/dist/types/sdk/utils/index.d.ts +1 -0
  568. package/package.json +11 -12
  569. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  570. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  571. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  572. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  573. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -293
  574. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  575. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  576. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  577. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  578. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  579. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  580. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -271
  581. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  582. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  583. package/dist/esm/preview/simulate/holders.js +0 -21
  584. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  585. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  586. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  587. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  588. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  589. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  590. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  591. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  592. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -1,21 +1,26 @@
1
- import { type Address, type ContractFunctionParameters } from "viem";
2
- import { type MulticallCallResult, Prerequisite } from "./Prerequisite.js";
3
- import type { PrerequisiteDetail, PrerequisiteResult } from "./types.js";
4
- export interface BalancePrerequisiteProps {
1
+ import { type Address } from "viem";
2
+ import { Prerequisite } from "./Prerequisite.js";
3
+ import type { PrerequisiteContext, PrerequisiteError, PrerequisiteOutcome } from "./types.js";
4
+ /** ERC-20 balance of `owner` must cover `required`. */
5
+ export interface BalanceDetail {
5
6
  token: Address;
6
7
  owner: Address;
7
8
  required: bigint;
8
- title?: string;
9
- id?: string;
9
+ /** On-chain balance read; only present when the read succeeded. */
10
+ actual?: bigint;
10
11
  }
11
- /** Checks that `owner` holds an ERC-20 balance >= `required`. */
12
- export declare class BalancePrerequisite extends Prerequisite<"balance"> {
12
+ export type BalanceResult = PrerequisiteOutcome & {
13
+ kind: "balance";
14
+ detail: BalanceDetail;
15
+ };
16
+ /**
17
+ * Checks that `owner` holds a token balance >= `required`. The token is read
18
+ * as an ERC-20, except for the native pseudo-address ({@link NATIVE_ADDRESS},
19
+ * e.g. ETH-zapper deposits) whose balance is read via `getBalance`.
20
+ */
21
+ export declare class BalancePrerequisite extends Prerequisite {
13
22
  #private;
14
- constructor(props: BalancePrerequisiteProps);
15
- get id(): string;
16
- get kind(): "balance";
17
- get title(): string;
18
- get detail(): PrerequisiteDetail<"balance">;
19
- calls(): ContractFunctionParameters[];
20
- resolve(slice: MulticallCallResult[]): PrerequisiteResult<"balance">;
23
+ constructor(detail: Omit<BalanceDetail, "actual">);
24
+ protected check(ctx: PrerequisiteContext): Promise<BalanceResult>;
25
+ protected errorResult(error: PrerequisiteError): BalanceResult;
21
26
  }
@@ -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>;
@@ -1,36 +1,51 @@
1
- import type { Address, ContractFunctionParameters } from "viem";
2
- import type { RWAOpenAccountRequirements } from "../../sdk/index.js";
1
+ import type { Address } from "viem";
2
+ import type { RWAMissingOpenAccountRequirements, RWAOpenAccountRequirements, RWAOperationArgs } from "../../sdk/index.js";
3
3
  import { Prerequisite } from "./Prerequisite.js";
4
- import type { PrerequisiteDetail, PrerequisiteResult } from "./types.js";
5
- export interface RWAOpenRequirementsPrerequisiteProps {
6
- /** Requirements already resolved via `sdk.accounts.getOpenAccountRequirements`. */
7
- requirements: RWAOpenAccountRequirements;
8
- /** RWA token (e.g. Securitize DSToken) the requirements were computed for. */
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. */
9
12
  token: Address;
10
- /** RWA factory that produced the requirements. */
13
+ /** Credit manager of the RWA market. */
14
+ creditManager: Address;
15
+ /** RWA factory that gates the token. */
11
16
  factory: Address;
12
- title?: string;
13
- id?: string;
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;
14
29
  }
30
+ export type RWAOpenRequirementsResult = PrerequisiteOutcome & {
31
+ kind: "rwaOpenRequirements";
32
+ detail: RWAOpenRequirementsDetail;
33
+ };
15
34
  /**
16
35
  * Checks that the borrower has fulfilled the RWA factory's open-account
17
36
  * requirements (issuer-side token registration, EIP-712 signatures).
18
37
  *
19
- * Unlike `allowance`/`balance`, the requirements cannot be derived from plain
20
- * ERC-20 multicall reads: they come from an async compressor read performed by
21
- * `sdk.accounts.getOpenAccountRequirements`. The prerequisite is therefore
22
- * *pre-resolved*: it is constructed with the requirements already computed,
23
- * contributes no calls to the verification multicall, and `resolve` only
24
- * interprets the stored payload.
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`.
25
45
  */
26
- export declare class RWAOpenRequirementsPrerequisite extends Prerequisite<"rwaOpenRequirements"> {
46
+ export declare class RWAOpenRequirementsPrerequisite extends Prerequisite {
27
47
  #private;
28
- constructor(props: RWAOpenRequirementsPrerequisiteProps);
29
- get id(): string;
30
- get kind(): "rwaOpenRequirements";
31
- get title(): string;
32
- get detail(): PrerequisiteDetail<"rwaOpenRequirements">;
33
- /** Pre-resolved: no on-chain reads to contribute. */
34
- calls(): ContractFunctionParameters[];
35
- resolve(): PrerequisiteResult<"rwaOpenRequirements">;
48
+ constructor(detail: Omit<RWAOpenRequirementsDetail, "requirements" | "missing">, providedArgs?: RWAOperationArgs);
49
+ protected check(ctx: PrerequisiteContext): Promise<RWAOpenRequirementsResult>;
50
+ protected errorResult(error: PrerequisiteError): RWAOpenRequirementsResult;
36
51
  }
@@ -0,0 +1,15 @@
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
+ */
15
+ 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,8 +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
5
  export * from "./RWAOpenRequirementsPrerequisite.js";
7
- export * from "./runPrerequisites.js";
8
6
  export * from "./types.js";
@@ -1,42 +1,8 @@
1
1
  import type { Address } from "viem";
2
- import type { OnchainSDK, RWAOpenAccountRequirements } from "../../sdk/index.js";
3
- /**
4
- * Extension point that ties each prerequisite kind to its detail payload.
5
- *
6
- * IMPORTANT: only add prerequisites that are *actionable by the transaction
7
- * sender* (the LP provider or borrower). A valid prerequisite is one the user
8
- * can resolve themselves before retrying, e.g. approve a token (`allowance`)
9
- * or perform offchain KYC verification.
10
- *
11
- * Do NOT add protocol- or admin-level state the user cannot change.
12
- */
13
- export interface PrerequisiteDetailMap {
14
- /** ERC-20 allowance from `owner` to `spender` must cover `required`. */
15
- allowance: {
16
- token: Address;
17
- owner: Address;
18
- spender: Address;
19
- required: bigint;
20
- /** On-chain allowance read; only present when the read succeeded. */
21
- actual?: bigint;
22
- };
23
- /** ERC-20 balance of `owner` must cover `required`. */
24
- balance: {
25
- token: Address;
26
- owner: Address;
27
- required: bigint;
28
- /** On-chain balance read; only present when the read succeeded. */
29
- actual?: bigint;
30
- };
31
- /**
32
- * RWA (e.g. Securitize) open-account requirements: off-chain token
33
- * registration and/or EIP-712 signatures the borrower must provide before
34
- * opening a credit account in an RWA market.
35
- */
36
- rwaOpenRequirements: RWAOpenAccountRequirements;
37
- }
38
- export type PrerequisiteKind = keyof PrerequisiteDetailMap;
39
- export type PrerequisiteDetail<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteDetailMap[K];
2
+ import type { OnchainSDK } from "../../sdk/index.js";
3
+ import type { AllowanceResult } from "./AllowancePrerequisite.js";
4
+ import type { BalanceResult } from "./BalancePrerequisite.js";
5
+ import type { RWAOpenRequirementsResult } from "./RWAOpenRequirementsPrerequisite.js";
40
6
  /** Failure of the underlying on-chain read (revert, decode error, RPC error). */
41
7
  export interface PrerequisiteError {
42
8
  /** Decoded revert reason / error name, human-readable. */
@@ -44,37 +10,40 @@ export interface PrerequisiteError {
44
10
  /** Original error, kept for debugging. */
45
11
  cause?: unknown;
46
12
  }
47
- export interface PrerequisiteBase<K extends PrerequisiteKind> {
48
- id: string;
49
- kind: K;
50
- title: string;
51
- detail: PrerequisiteDetail<K>;
52
- }
53
13
  /**
54
14
  * Outcome of verifying a single prerequisite: either the read succeeded (a
55
15
  * `satisfied` boolean) or it reverted/failed (an `error` with the revert
56
- * reason). The two variants are mutually exclusive.
16
+ * reason).
57
17
  */
58
- export type PrerequisiteResult<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteBase<K> & ({
18
+ export type PrerequisiteOutcome = {
59
19
  satisfied: boolean;
60
20
  error?: undefined;
61
21
  } | {
62
22
  satisfied?: undefined;
63
23
  error: PrerequisiteError;
64
- });
24
+ };
65
25
  /**
66
- * Discriminated union over every prerequisite kind. Switching on `kind`
67
- * narrows `detail` to the matching payload, so React components can render
68
- * 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.
69
31
  */
70
- export type AnyPrerequisiteResult = {
71
- [K in PrerequisiteKind]: PrerequisiteResult<K>;
72
- }[PrerequisiteKind];
32
+ export type PrerequisiteResult = AllowanceResult | BalanceResult | RWAOpenRequirementsResult;
33
+ export type PrerequisiteKind = PrerequisiteResult["kind"];
73
34
  /** Shared inputs for building and verifying prerequisites. */
74
35
  export interface PrerequisiteContext {
75
36
  sdk: OnchainSDK;
76
- /** Address whose balances/allowances are checked (the tx sender). */
37
+ /**
38
+ * Address whose balances/allowances are checked (the tx sender).
39
+ **/
77
40
  wallet: Address;
78
- /** Block to read at; defaults to latest. Only set for testnet forks. */
41
+ /**
42
+ * Block to read at; defaults to latest. Only set for testnet forks.
43
+ **/
79
44
  blockNumber?: bigint;
45
+ /**
46
+ * Transaction `msg.value`
47
+ **/
48
+ value: bigint;
80
49
  }
@@ -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,47 @@
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 as `receivedToken`
25
+ * (the unwrapped underlying for RWA markets, converting 1:1 with the
26
+ * underlying; the underlying itself otherwise).
27
+ * - `DECREASE_LEVERAGE`: the claimed amount is swapped into the underlying
28
+ * and used to decrease the debt.
29
+ * - `WITHDRAW_COLLATERAL`: the recorded amount of the recorded token is
30
+ * withdrawn to the user, the rest of the claimed amount decreases the debt.
31
+ * - other intents and `intent: undefined`: claim-only, the post-claim swap
32
+ * target is not recoverable from the intent.
33
+ *
34
+ * The changes (`debtChange`, `quotasChange`, `assetsChange`) are reported
35
+ * relative to the account state before the whole transaction, not the
36
+ * post-instant-part state: to the user the delayed preview answers "where will
37
+ * the account end up compared to now", so the transient phantom token
38
+ * (minted by the instant part, burned by the claim) nets out to nothing.
39
+ *
40
+ * @param afterInstant - Account state after the instant part of the
41
+ * transaction.
42
+ * @param before - Account state before the transaction (the diff base).
43
+ * @param receivedToken - Token the `CLOSE_ACCOUNT` resume withdraws to the
44
+ * user: the unwrapped underlying (vault asset) for RWA markets, the
45
+ * underlying itself otherwise.
46
+ */
47
+ export declare function buildDelayedPreview(afterInstant: CreditAccountState, before: CreditAccountState, detected: DetectedDelayedOperation, convert: ConvertFn, receivedToken: Address): InstantOperationPreview;
@@ -0,0 +1,20 @@
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 an exit token and withdraws only exit
15
+ * tokens: the underlying or, on RWA markets, the unwrapped RWA underlying
16
+ * (the ERC4626 vault asset)
17
+ * - repay returns collateral in-kind: it adds collateral from the wallet to
18
+ * cover the debt and/or withdraws non-exit tokens.
19
+ */
20
+ export declare function classifyCloseOrRepay(multicall: InnerOperation[], exitTokens: Address[]): "close" | "repay";
@@ -0,0 +1,45 @@
1
+ import type { Address } from "viem";
2
+ import { type SdkWithAdapters } from "../../plugins/adapters/index.js";
3
+ import type { DelayedIntent, PluginsMap } from "../../sdk/index.js";
4
+ import type { InnerOperation } from "../parse/index.js";
5
+ /**
6
+ * A delayed-withdrawal claim detected in a credit-facade multicall,
7
+ * produced by `detectDelayedClaim`.
8
+ */
9
+ export interface DetectedDelayedClaim {
10
+ /**
11
+ * Adapter the claim call is addressed to
12
+ */
13
+ adapter: Address;
14
+ /**
15
+ * Redeemer contract the withdrawal is claimed from. Transactions built by
16
+ * the withdrawal compressor always claim from a single redeemer, so when
17
+ * the adapter method accepts multiple redeemers, only the first one is
18
+ * reported.
19
+ */
20
+ redeemer: Address;
21
+ }
22
+ /**
23
+ * Scans a credit-facade multicall for a delayed-withdrawal claim call.
24
+ *
25
+ * @param sdk - SDK with the adapters plugin attached.
26
+ * @param multicall - Parsed inner operations of the multicall.
27
+ * @returns The detected claim, or `undefined` when the multicall contains no
28
+ * delayed-withdrawal claim call.
29
+ */
30
+ export declare function detectDelayedClaim<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[]): DetectedDelayedClaim | undefined;
31
+ /**
32
+ * Resolves the delayed intent of the withdrawal a multicall claims: detects
33
+ * the claim call and reads the recorded intent of the claimed redeemer from
34
+ * the `RedemptionLogger` contract.
35
+ *
36
+ * @param sdk - SDK with the adapters plugin attached.
37
+ * @param multicall - Parsed inner operations of the multicall.
38
+ * @param blockNumber - Optional block number to read the log at.
39
+ * @returns The decoded intent, or `undefined` when the multicall claims
40
+ * nothing, the redemption logger is not deployed, or the log carries no
41
+ * intent.
42
+ * @throws InvalidDelayedIntentError when the logged `extraData` is non-empty
43
+ * but cannot be decoded as a `DelayedIntent`.
44
+ */
45
+ export declare function resolveDelayedClaimIntent<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[], blockNumber?: bigint): Promise<DelayedIntent | undefined>;