@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
@@ -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,9 @@
1
+ /**
2
+ * Thrown by `previewOperation` for parsed operations it cannot preview yet.
3
+ * Currently only pool operations and credit account opening are supported.
4
+ */
5
+ export declare class UnsupportedOperationError extends Error {
6
+ /** The parsed operation kind (the `operation` discriminant). */
7
+ readonly operation: string;
8
+ constructor(operation: string);
9
+ }
@@ -0,0 +1,12 @@
1
+ export * from "./buildDelayedPreview.js";
2
+ export * from "./CreditAccountState.js";
3
+ export * from "./detectCloseOrRepay.js";
4
+ export * from "./detectDelayedClaim.js";
5
+ export * from "./detectDelayedOperation.js";
6
+ export * from "./errors.js";
7
+ export * from "./previewAdjustCreditAccount.js";
8
+ export * from "./previewCloseOrRepayCreditAccount.js";
9
+ export * from "./previewOperation.js";
10
+ export * from "./replayInnerOperations.js";
11
+ export * from "./replayMulticall.js";
12
+ 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>;
@@ -0,0 +1,38 @@
1
+ import type { Address } from "viem";
2
+ import type { SdkWithAdapters } from "../../plugins/adapters/index.js";
3
+ import type { PluginsMap } from "../../sdk/index.js";
4
+ import type { InnerOperation } from "../parse/index.js";
5
+ import type { PreviewOperationOptions } from "../types.js";
6
+ import { CreditAccountState } from "./CreditAccountState.js";
7
+ import { type ReplayState } from "./replayInnerOperations.js";
8
+ import type { OperationPreviewError } from "./types.js";
9
+ /**
10
+ * Parsed operation on an existing credit account whose multicall can be
11
+ * replayed: the facade `closeCreditAccount` entry point and
12
+ * plain/bot/RWA multicalls all fit structurally.
13
+ */
14
+ export interface ReplayableOperation {
15
+ creditAccount: Address;
16
+ multicall: InnerOperation[];
17
+ }
18
+ /**
19
+ * Result of {@link replayMulticall}: the account's pre-state and the replayed
20
+ * (minimal guaranteed) post-state.
21
+ */
22
+ export interface ReplayMulticallResult {
23
+ /**
24
+ * Account state before the operation, dust-filtered
25
+ */
26
+ before: CreditAccountState;
27
+ /**
28
+ * Post-operation state and per-multicall bookkeeping, mutated by the
29
+ * replay in facade execution order
30
+ */
31
+ after: ReplayState;
32
+ error?: OperationPreviewError;
33
+ }
34
+ /**
35
+ * Replays the operation's multicall over the account's pre-resolved
36
+ * pre-state (`options.creditAccount`) via {@link replayInnerOperations}.
37
+ */
38
+ export declare function replayMulticall<P extends PluginsMap>(sdk: SdkWithAdapters<P>, operation: ReplayableOperation, options: PreviewOperationOptions<true>): Promise<ReplayMulticallResult>;
@@ -0,0 +1,334 @@
1
+ import type { Address } from "viem";
2
+ import type { Asset, DelayedIntent } from "../../sdk/index.js";
3
+ import type { PoolOperationType } from "../parse/index.js";
4
+ /**
5
+ * Broken `storeExpectedBalances`/`compareBalances` bracket structure:
6
+ * `storeExpectedBalances` without a matching `compareBalances`, nested
7
+ * brackets, or `compareBalances` without a preceding `storeExpectedBalances`.
8
+ * We expect transactions that were generated by our frontend using router/withdrawal compressor
9
+ **/
10
+ export declare const ERROR_MALFORMED_BRACKET = 1001;
11
+ /**
12
+ * Adapter call outside a `storeExpectedBalances`/`compareBalances` bracket
13
+ * We expect transactions that were generated by our frontend using router/withdrawal compressor,
14
+ **/
15
+ export declare const ERROR_ADAPTER_CALL_OUTSIDE_BRACKET = 1002;
16
+ /**
17
+ * Bracketed call whose target is not an adapter (or adapter that is not known to the SDK)
18
+ **/
19
+ export declare const ERROR_NON_ADAPTER_CALL_IN_BRACKET = 1003;
20
+ /**
21
+ * Bracketed adapter call cannot be replayed (undecodable/unsupported calldata)
22
+ **/
23
+ export declare const ERROR_UNPREVIEWABLE_ADAPTER_CALL = 1004;
24
+ /**
25
+ * Out-of-bracket RWA wrap/unwrap calldata cannot be decoded
26
+ **/
27
+ export declare const ERROR_UNPREVIEWABLE_RWA_WRAP_UNWRAP = 1005;
28
+ /**
29
+ * `msg.value` does not fit into the declared WETH collateral
30
+ * Transactions can have arbitrary value, but the ones that we create
31
+ * using our frontend should have a value that fits into the declared WETH collateral.
32
+ **/
33
+ export declare const ERROR_INVALID_TRANSACTION_VALUE = 1006;
34
+ /** A token in the preview could not be priced by the oracle */
35
+ export declare const ERROR_UNPRICEABLE_TOKEN = 2001;
36
+ /**
37
+ * Dust threshold for replayed preview balances and balance changes.
38
+ *
39
+ * Multicalls assembled by `CreditAccountsServiceV310` subtract a 10-unit
40
+ * safety buffer from every expected output token in their
41
+ * `storeExpectedBalances` deltas (`amount - 10n` in
42
+ * `assembleStartDelayedWithdrawalCalls`/`assembleClaimDelayedCalls`), while
43
+ * subsequent calls in the same multicall spend exact on-chain amounts. A
44
+ * replay that credits only the min-guarantee can therefore be off by up to
45
+ * 10 units per token, including small negative residues that are impossible
46
+ * on-chain. Amounts within this threshold (in absolute value) are filtered
47
+ * from preview outputs; anything beyond it is a genuine discrepancy and is
48
+ * reported.
49
+ */
50
+ export declare const PREVIEW_DUST = 10n;
51
+ /**
52
+ * Non-throwing preview failure. When set on a preview, all fields are still
53
+ * computed best-effort, but some of them may be unreliable.
54
+ */
55
+ export interface OperationPreviewError {
56
+ /**
57
+ * Numeric http-style error code, see the `ERROR_*` constants:
58
+ * - 1xxx: the transaction is malformed (we expect transactions
59
+ * that were generated by our fromtend using router/withdrawal compressor)
60
+ * and fields derived from replayed balances
61
+ * may be unreliable;
62
+ * - 2xxx: the transaction may be fine, but the SDK could not fully
63
+ * evaluate the preview (e.g. a token could not be priced).
64
+ */
65
+ code: number;
66
+ /**
67
+ * Human-readable details of the specific failure
68
+ */
69
+ message: string;
70
+ }
71
+ export interface PoolOperationPreview {
72
+ operation: PoolOperationType;
73
+ /**
74
+ * Pool address
75
+ */
76
+ pool: Address;
77
+ /**
78
+ * Token that goes from user to pool
79
+ * In case of deposit, underlying for direct deposit, zapper input for zapper-routed deposit
80
+ * In case of withdraw, pool shares (diesel token) for direct withdraw or zapper token out
81
+ *
82
+ * For mint/withdraw the amount of tokenIn cannot be determined from
83
+ * transaction calldata alone and requires an additional async call
84
+ * (previewMint/previewWithdraw).
85
+ */
86
+ tokenIn: Asset;
87
+ /**
88
+ * Token that goes from pool to user
89
+ * In case of deposit, pool shares (diesel token) for direct deposit or zapper token out
90
+ * In case of withdraw, underlying for direct withdraw or zapper token in
91
+ *
92
+ * For deposit/redeem the amount of tokenOut cannot be determined from
93
+ * transaction calldata alone and requires an additional async call
94
+ * (previewDeposit/previewRedeem).
95
+ */
96
+ tokenOut: Asset;
97
+ /**
98
+ * Set when preview encountered non-fatal errors, all fields are
99
+ * still computed best-effort
100
+ */
101
+ error?: OperationPreviewError;
102
+ }
103
+ export interface OpenCreditAccountPreview {
104
+ operation: "OpenCreditAccount" | "RWAOpenCreditAccount";
105
+ /**
106
+ * Credit manager the account is opened in
107
+ */
108
+ creditManager: Address;
109
+ /**
110
+ * Target token of strategy: the first quoted token, with its balance taken
111
+ * from `assets`. Undefined when nothing is quoted.
112
+ */
113
+ target?: Asset;
114
+ /**
115
+ * Tokens that were added as collateral during account opening.
116
+ *
117
+ * When the transaction has native value attached, it is represented as a
118
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
119
+ * accordingly (omitted entirely when it reaches zero).
120
+ */
121
+ collateral: Asset[];
122
+ /**
123
+ * Sum of collateral tokens in underlying
124
+ */
125
+ collateralValue: bigint;
126
+ /**
127
+ * Borrowed amount in underlying
128
+ */
129
+ debt: bigint;
130
+ /**
131
+ * Desired quotas
132
+ */
133
+ quotas: Asset[];
134
+ /**
135
+ * Minimum amount of assets on credit account after it's opened,
136
+ * as estimated by router
137
+ */
138
+ assets: Asset[];
139
+ /**
140
+ * Set when preview encountered non-fatal errors, all fields are
141
+ * still computed best-effort, but derived fields (`assets`, `target`,
142
+ * `collateralValue`) may be unreliable in that case.
143
+ */
144
+ error?: OperationPreviewError;
145
+ }
146
+ export interface AdjustCreditAccountPreview {
147
+ operation: "AdjustCreditAccount";
148
+ /**
149
+ * Credit manager the account is opened in
150
+ */
151
+ creditManager: Address;
152
+ /**
153
+ * Credit account that is being adjusted
154
+ */
155
+ creditAccount: Address;
156
+ /**
157
+ * Tokens that were added as collateral during account opening.
158
+ *
159
+ * When the transaction has native value attached, it is represented as a
160
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
161
+ * accordingly (omitted entirely when it reaches zero).
162
+ */
163
+ collateralAdded: Asset[];
164
+ /**
165
+ * Tokens that were withdrawn as collateral during account adjustment.
166
+ */
167
+ collateralWithdrawn: Asset[];
168
+ /**
169
+ * Sum of collateral tokens in underlying
170
+ */
171
+ totalValue: bigint;
172
+ /**
173
+ * Borrowed amount in underlying
174
+ */
175
+ debt: bigint;
176
+ /**
177
+ * Debt after minus debt before
178
+ */
179
+ debtChange: bigint;
180
+ /**
181
+ * Desired quotas
182
+ */
183
+ quotas: Asset[];
184
+ /**
185
+ * Quotas after minus quotas before
186
+ */
187
+ quotasChange: Asset[];
188
+ /**
189
+ * Minimum amount of assets on credit account after the operation,
190
+ * as estimated by router
191
+ */
192
+ assets: Asset[];
193
+ /**
194
+ * Assets after minus assets before
195
+ */
196
+ assetsChange: Asset[];
197
+ /**
198
+ * Intent of the delayed withdrawal this transaction claims; set when the
199
+ * multicall claims a delayed withdrawal
200
+ */
201
+ intent?: DelayedIntent;
202
+ /**
203
+ * Set when preview encountered non-fatal errors, all fields are
204
+ * still computed best-effort, but derived fields (`assets`, `assetsChange`,
205
+ * `totalValue`) may be unreliable in that case.
206
+ */
207
+ error?: OperationPreviewError;
208
+ }
209
+ export interface CloseCreditAccountPreview {
210
+ operation: "CloseCreditAccount";
211
+ /**
212
+ * True when the account is closed permanently (facade `closeCreditAccount`
213
+ * entry point), false when the debt is zeroed but the account stays open
214
+ * (plain multicall).
215
+ */
216
+ permanent: boolean;
217
+ /**
218
+ * Credit manager the account belongs to
219
+ */
220
+ creditManager: Address;
221
+ /**
222
+ * Credit account that is being closed
223
+ */
224
+ creditAccount: Address;
225
+ /**
226
+ * Token withdrawn to the user and its minimal guaranteed amount, from the
227
+ * multicall replay (all collateral is swapped into the received token
228
+ * before withdrawal). The token is the market underlying or, on RWA
229
+ * markets, the unwrapped RWA underlying (the ERC4626 vault asset the
230
+ * underlying share converts 1:1 into)
231
+ */
232
+ receivedAmount: Asset;
233
+ /**
234
+ * Intent of the delayed withdrawal this transaction claims; set when the
235
+ * multicall claims a delayed withdrawal
236
+ */
237
+ intent?: DelayedIntent;
238
+ /**
239
+ * Set when preview encountered non-fatal errors, all fields are
240
+ * still computed best-effort, but the
241
+ * balance-derived `receivedAmount` may be unreliable in that case.
242
+ */
243
+ error?: OperationPreviewError;
244
+ }
245
+ export interface RepayCreditAccountPreview {
246
+ operation: "RepayCreditAccount";
247
+ /**
248
+ * True when the account is closed permanently (facade `closeCreditAccount`
249
+ * entry point), false when the debt is zeroed but the account stays open
250
+ * (plain multicall).
251
+ */
252
+ permanent: boolean;
253
+ /**
254
+ * Credit manager the account belongs to
255
+ */
256
+ creditManager: Address;
257
+ /**
258
+ * Credit account that is being repaid
259
+ */
260
+ creditAccount: Address;
261
+ /**
262
+ * Tokens added from the wallet to cover the debt (`addCollateral` calls).
263
+ *
264
+ * When the transaction has native value attached, it is represented as a
265
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
266
+ * accordingly (omitted entirely when it reaches zero).
267
+ */
268
+ collateralAdded: Asset[];
269
+ /**
270
+ * Tokens returned to the user in-kind (`withdrawCollateral` calls, with the
271
+ * MAX_UINT256 sentinel resolved against replayed balances)
272
+ */
273
+ collateralWithdrawn: Asset[];
274
+ /**
275
+ * Total debt repaid: principal + accrued interest + fees, in underlying
276
+ */
277
+ debtRepaid: bigint;
278
+ /**
279
+ * Intent of the delayed withdrawal this transaction claims; set when the
280
+ * multicall claims a delayed withdrawal
281
+ */
282
+ intent?: DelayedIntent;
283
+ /**
284
+ * Set when preview encountered non-fatal errors, all fields are
285
+ * still computed best-effort, but the
286
+ * balance-derived `collateralWithdrawn` may be unreliable in that case.
287
+ */
288
+ error?: OperationPreviewError;
289
+ }
290
+ /**
291
+ * Preview of the "instant" part of an operation on an existing credit
292
+ * account: what the transaction does in the same block, before any delayed
293
+ * withdrawal is claimed.
294
+ */
295
+ export type InstantOperationPreview = AdjustCreditAccountPreview | CloseCreditAccountPreview | RepayCreditAccountPreview;
296
+ /**
297
+ * Preview of a multicall that requests a delayed withdrawal (e.g. Securitize
298
+ * redemption): the source token is spent now and a withdrawal phantom token is received;
299
+ * the actual claim token materializes later, when the withdrawal is claimed and
300
+ * the recorded (if any) is resumed
301
+ */
302
+ export interface DelayedCreditAccountOperationPreview {
303
+ operation: "DelayedCreditAccountOperation";
304
+ /**
305
+ * Credit account the operation is performed on
306
+ */
307
+ creditAccount: Address;
308
+ /**
309
+ * Credit manager the account belongs to
310
+ */
311
+ creditManager: Address;
312
+ /**
313
+ * Decoded from the withdrawal request's extraData; undefined when the
314
+ * request carries no intent (e.g. Mellow)
315
+ */
316
+ intent?: DelayedIntent;
317
+ /**
318
+ * What this transaction does right now: the delayed withdrawal is
319
+ * represented by the phantom token among the account's assets
320
+ */
321
+ instantPreview: InstantOperationPreview;
322
+ /**
323
+ * Best-effort state after the withdrawal is claimed and the intent is
324
+ * resumed; claim-only (phantom burned, claim token received) when
325
+ * `intent` is undefined
326
+ */
327
+ delayedPreview: InstantOperationPreview;
328
+ }
329
+ /**
330
+ * Result of previewing a raw operation calldata: currently pool operations and
331
+ * credit account opening, adjustment, closure, repayment and delayed
332
+ * withdrawal operations are supported.
333
+ */
334
+ export type OperationPreview = PoolOperationPreview | OpenCreditAccountPreview | AdjustCreditAccountPreview | CloseCreditAccountPreview | RepayCreditAccountPreview | DelayedCreditAccountOperationPreview;
@@ -0,0 +1,35 @@
1
+ import type { Address } from "viem";
2
+ import { type Asset } from "../../sdk/index.js";
3
+ import { type OperationPreviewError } from "./types.js";
4
+ export interface UnwrapNativeCollateralResult {
5
+ /**
6
+ * Collateral with the native amount unwrapped from the WETH entry.
7
+ */
8
+ assets: Asset[];
9
+ /**
10
+ * Error set when the transaction value is malformed.
11
+ */
12
+ error?: OperationPreviewError;
13
+ }
14
+ /**
15
+ * Represents the transaction's attached native value as a `NATIVE_ADDRESS`
16
+ * entry in the collateral list.
17
+ *
18
+ * The credit facade wraps `msg.value` into WETH before `AddCollateral(WETH)`
19
+ * pulls it, so the WETH collateral amount already includes the attached native
20
+ * value. This helper splits the WETH entry back: the native amount is shown as
21
+ * `NATIVE_ADDRESS` and the WETH entry is reduced accordingly (dropped when it
22
+ * reaches zero). Other entries are preserved.
23
+ *
24
+ * When `nativeAmount` is positive but the WETH collateral is missing or
25
+ * smaller than it, the transaction is malformed: the collateral is returned
26
+ * as-is (no unwrapping) together with an `ERROR_INVALID_TRANSACTION_VALUE`
27
+ * error.
28
+ *
29
+ * @param collateral - Collateral assets as declared by the multicall.
30
+ * @param nativeAmount - Transaction `msg.value`.
31
+ * @param wethToken - Wrapped native token address.
32
+ * @returns Collateral with the native amount unwrapped from the WETH entry,
33
+ * plus the error on a malformed transaction value.
34
+ */
35
+ export declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): UnwrapNativeCollateralResult;
@@ -1,10 +1,7 @@
1
1
  export type { SimulationError, SimulationFlowFailure, SimulationFlowSource, } from "./errors.js";
2
2
  export { PreviewSimulationError } from "./errors.js";
3
- export type { SimulateFacadeOperationInput } from "./simulateFacadeOperation.js";
4
3
  export { simulateFacadeOperation } from "./simulateFacadeOperation.js";
5
- export type { SimulateOperationInput } from "./simulateOperation.js";
6
4
  export { simulateOperation } from "./simulateOperation.js";
7
5
  export { simulatePoolOperation } from "./simulatePoolOperation.js";
8
- export type { SimulateRWAOperationInput } from "./simulateRWAOperation.js";
9
6
  export { simulateRWAOperation } from "./simulateRWAOperation.js";
10
- export type { AddressBalanceChanges, OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput, PoolOperationSimulationResult, TokenBalanceChange, } from "./types.js";
7
+ export type { PoolOperationSimulationResult, SimulationInput, } from "./types.js";
@@ -1,19 +1,6 @@
1
- import type { Address, Hex } from "viem";
2
- import type { OnchainSDK } from "../../sdk/index.js";
3
1
  import type { OuterFacadeOperation } from "../parse/index.js";
4
- import type { OperationSimulationOptions, PoolOperationSimulation } from "./types.js";
5
- export interface SimulateFacadeOperationInput {
6
- /** Only `client`/`networkType` are used, so any OnchainSDK works. */
7
- sdk: OnchainSDK;
8
- /** Parsed credit-facade operation to simulate. */
9
- operation: OuterFacadeOperation;
10
- /** Target contract the calldata is sent to (the credit facade). */
11
- to: Address;
12
- /** Raw credit-facade calldata to simulate. */
13
- calldata: Hex;
14
- /** Wallet whose balance changes and transfers we track. */
15
- wallet: Address;
16
- }
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
17
4
  /**
18
5
  * Simulates a credit-facade operation.
19
6
  *
@@ -22,4 +9,4 @@ export interface SimulateFacadeOperationInput {
22
9
  * signature mirrors {@link simulatePoolOperation} so the
23
10
  * {@link simulateOperation} wrapper can delegate uniformly once implemented.
24
11
  */
25
- export declare function simulateFacadeOperation(_input: SimulateFacadeOperationInput, _options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
12
+ export declare function simulateFacadeOperation(_input: SimulationInput<OuterFacadeOperation>, _options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,20 +1,6 @@
1
- import type { Address, Hex } from "viem";
2
- import type { OnchainSDK } from "../../sdk/index.js";
3
- import { type Operation } from "../parse/index.js";
4
- import type { OperationSimulationOptions, PoolOperationSimulation } from "./types.js";
5
- export interface SimulateOperationInput {
6
- /** Gearbox SDK instance. */
7
- sdk: OnchainSDK;
8
- /** Parsed pool or credit account operation */
9
- operation: Operation;
10
- /** Target contract the calldata is sent to. */
11
- to: Address;
12
- /** Raw operation calldata to simulate. */
13
- calldata: Hex;
14
- /** Wallet whose balance changes and transfers we track. */
15
- wallet: Address;
16
- }
1
+ import type { PreviewOperationOptions } from "../types.js";
2
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
17
3
  /**
18
- * Simulates a parsed pool or credit account operation {@link Operation}
4
+ * Simulates a parsed pool or credit account operation
19
5
  */
20
- export declare function simulateOperation(input: SimulateOperationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
6
+ export declare function simulateOperation(input: SimulationInput, options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;
@@ -1,26 +1,18 @@
1
- import type { Address } from "viem";
2
1
  import type { PoolOperation } from "../parse/index.js";
3
- import type { AddressBalanceChanges, OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput } from "./types.js";
4
- /** Reads a watched holder's "before" balance of a token. */
5
- export type BalanceLookup = (token: Address, holder: Address) => bigint;
2
+ import type { PreviewOperationOptions } from "../types.js";
3
+ import type { PoolOperationSimulationResult, SimulationInput } from "./types.js";
6
4
  /**
7
5
  * Simulates a pool deposit/mint/withdraw/redeem (direct or zapper-routed) and
8
- * returns the resulting balance changes, or a decoded failure.
6
+ * returns the resulting token amounts going in and out. Throws a
7
+ * {@link PreviewSimulationError} with the decoded revert when the preview read
8
+ * fails.
9
9
  *
10
- * Reads the watched holders' "before" balances together with the matching
11
- * preview (the pool's ERC4626 `previewDeposit`/`previewMint`/`previewWithdraw`/
12
- * `previewRedeem`, or the zapper's `previewDeposit`/`previewRedeem`) in a single
13
- * multicall, then computes the theoretical balance changes via
14
- * {@link computePoolOpBalanceChanges}. It works on every network the SDK
15
- * supports.
10
+ * Performs the matching preview read (the pool's ERC4626
11
+ * `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
12
+ * zapper's `previewDeposit`/`previewRedeem`) to convert the calldata-known
13
+ * amount into its counterpart. It works on every network the SDK supports.
16
14
  *
17
15
  * It does not execute the calldata, so it ignores balance/allowance
18
16
  * prerequisites (preview reads succeed regardless).
19
17
  */
20
- export declare function simulatePoolOperation(input: PoolOperationSimulationInput, options?: OperationSimulationOptions): Promise<PoolOperationSimulation>;
21
- /**
22
- * Pure computation of {@link AddressBalanceChanges} for a pool operation from
23
- * its preview result and the watched holders' "before" balances. Legs sharing
24
- * the same address are grouped together.
25
- */
26
- export declare function computePoolOpBalanceChanges(operation: PoolOperation, wallet: Address, previewAmount: bigint, before: BalanceLookup): AddressBalanceChanges[];
18
+ export declare function simulatePoolOperation(input: SimulationInput<PoolOperation>, options?: PreviewOperationOptions): Promise<PoolOperationSimulationResult>;