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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/dist/cjs/abi/IWithdrawalCompressorV313.js +229 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  3. package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  4. package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  5. package/dist/cjs/abi/compressors/withdrawalCompressor.js +45 -1
  6. package/dist/cjs/abi/ierc4626Adapter.js +264 -0
  7. package/dist/cjs/dev/AccountOpener.js +7 -13
  8. package/dist/cjs/dev/index.js +3 -1
  9. package/dist/cjs/dev/withdrawalAbi.js +2105 -0
  10. package/dist/cjs/dev/withdrawalUtils.js +271 -0
  11. package/dist/cjs/history/classifyMulticallOperations.js +2 -0
  12. package/dist/cjs/history/mapOperations.js +7 -0
  13. package/dist/cjs/{preview/simulate/holders.js → permissionless/bindings/factory/rate-keeper-factory.js} +11 -21
  14. package/dist/cjs/permissionless/bindings/market-configurator.js +11 -0
  15. package/dist/cjs/plugins/adapters/abi/actionAbi.js +1 -10
  16. package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +332 -0
  17. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +436 -0
  18. package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +183 -0
  19. package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +586 -0
  20. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +385 -0
  21. package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +143 -0
  22. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +708 -0
  23. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +708 -0
  24. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +708 -0
  25. package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +708 -0
  26. package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +206 -0
  27. package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +183 -0
  28. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +473 -0
  29. package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +482 -0
  30. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +333 -0
  31. package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +488 -0
  32. package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +171 -0
  33. package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +269 -0
  34. package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +350 -0
  35. package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +225 -0
  36. package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +1015 -0
  37. package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +262 -0
  38. package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +622 -0
  39. package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1787 -0
  40. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +6 -6
  41. package/dist/cjs/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +26 -6
  42. package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +288 -0
  43. package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +459 -0
  44. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +290 -0
  45. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +505 -0
  46. package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +534 -0
  47. package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +475 -0
  48. package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +327 -0
  49. package/dist/cjs/plugins/adapters/abi/adapters/index.js +90 -0
  50. package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +183 -0
  51. package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +319 -0
  52. package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +4 -42
  53. package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +0 -16
  54. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  55. package/dist/cjs/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +15 -7
  56. package/dist/cjs/plugins/adapters/abi/securitize/index.js +2 -6
  57. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +3 -296
  58. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  59. package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +66 -0
  60. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +21 -2
  61. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +17 -2
  62. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +22 -2
  63. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +20 -2
  64. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +28 -2
  65. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +4 -9
  66. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +4 -9
  67. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +4 -9
  68. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +4 -9
  69. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +4 -9
  70. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +16 -2
  71. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +24 -2
  72. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +16 -2
  73. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +17 -2
  74. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +23 -2
  75. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +3 -3
  76. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +13 -3
  77. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +3 -3
  78. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +13 -2
  79. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  80. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +17 -2
  81. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +17 -2
  82. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +13 -2
  83. package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +121 -0
  84. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +13 -3
  85. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +15 -3
  86. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +60 -2
  87. package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +13 -2
  88. package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +28 -4
  89. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +19 -2
  90. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +12 -2
  91. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +12 -2
  92. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +22 -2
  93. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +18 -3
  94. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +17 -3
  95. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +12 -2
  96. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +17 -2
  97. package/dist/cjs/plugins/adapters/contracts/index.js +2 -12
  98. package/dist/cjs/plugins/adapters/createAdapter.js +3 -10
  99. package/dist/cjs/plugins/adapters/types.js +2 -11
  100. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +20 -37
  101. package/dist/cjs/preview/index.js +5 -3
  102. package/dist/cjs/preview/parse/classifyInnerOperations.js +14 -1
  103. package/dist/cjs/preview/parse/index.js +2 -2
  104. package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +6 -14
  105. package/dist/cjs/preview/parse/parseOperationCalldata.js +11 -9
  106. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +5 -2
  107. package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +104 -0
  108. package/dist/cjs/preview/parse/types-rwa.js +16 -0
  109. package/dist/cjs/preview/parse/types.js +9 -2
  110. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +20 -43
  111. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +25 -39
  112. package/dist/cjs/preview/prerequisites/Prerequisite.js +10 -35
  113. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +71 -0
  114. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +55 -0
  115. package/dist/cjs/preview/prerequisites/{prepareAction.js → buildPartialLiquidationPrerequisites.js} +16 -24
  116. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +114 -0
  117. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +59 -0
  118. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +85 -0
  119. package/dist/cjs/preview/prerequisites/helpers.js +36 -0
  120. package/dist/cjs/preview/prerequisites/index.js +4 -6
  121. package/dist/cjs/preview/preview/applyInnerOperations.js +141 -0
  122. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +74 -0
  123. package/dist/cjs/preview/preview/detectCloseOrRepay.js +51 -0
  124. package/dist/cjs/preview/preview/errors.js +52 -0
  125. package/dist/cjs/preview/preview/index.js +34 -0
  126. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +90 -0
  127. package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +94 -0
  128. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +67 -0
  129. package/dist/cjs/preview/preview/previewOperation.js +53 -0
  130. package/dist/cjs/preview/preview/previewPoolOperation.js +42 -0
  131. package/dist/cjs/preview/preview/types.js +16 -0
  132. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +45 -0
  133. package/dist/cjs/preview/simulate/index.js +5 -2
  134. package/dist/cjs/preview/simulate/simulateOperation.js +4 -0
  135. package/dist/cjs/preview/simulate/simulatePoolOperation.js +20 -119
  136. package/dist/cjs/preview/simulate/simulateRWAOperation.js +30 -0
  137. package/dist/cjs/preview/types.js +16 -0
  138. package/dist/cjs/sdk/OnchainSDK.js +11 -0
  139. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +76 -149
  140. package/dist/cjs/sdk/accounts/index.js +3 -1
  141. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +224 -0
  142. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +40 -0
  143. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +40 -0
  144. package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +40 -0
  145. package/dist/cjs/{preview/parse/extractExpectedBalanceChanges.js → sdk/accounts/withdrawal-compressor/addresses.js} +24 -20
  146. package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +53 -0
  147. package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +36 -0
  148. package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +118 -0
  149. package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
  150. package/dist/cjs/sdk/base/BaseContract.js +4 -2
  151. package/dist/cjs/sdk/base/ChainContractsRegister.js +1 -0
  152. package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +56 -4
  153. package/dist/cjs/sdk/market/rwa/types.js +5 -2
  154. package/dist/cjs/sdk/market/zapper/ZapperContract.js +0 -3
  155. package/dist/cjs/sdk/router/AbstractRouterContract.js +21 -27
  156. package/dist/cjs/sdk/router/RouterV310Contract.js +11 -12
  157. package/dist/cjs/sdk/router/helpers.js +0 -5
  158. package/dist/cjs/sdk/utils/AddressMap.js +6 -0
  159. package/dist/cjs/sdk/utils/AddressSet.js +7 -0
  160. package/dist/cjs/sdk/utils/AssetsMap.js +97 -0
  161. package/dist/cjs/sdk/utils/index.js +2 -0
  162. package/dist/esm/abi/IWithdrawalCompressorV313.js +205 -0
  163. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +45 -1
  164. package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +45 -1
  165. package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +45 -1
  166. package/dist/esm/abi/compressors/withdrawalCompressor.js +45 -1
  167. package/dist/esm/abi/ierc4626Adapter.js +240 -0
  168. package/dist/esm/dev/AccountOpener.js +8 -13
  169. package/dist/esm/dev/index.js +1 -0
  170. package/dist/esm/dev/withdrawalAbi.js +2074 -0
  171. package/dist/esm/dev/withdrawalUtils.js +259 -0
  172. package/dist/esm/history/classifyMulticallOperations.js +2 -0
  173. package/dist/esm/history/mapOperations.js +7 -0
  174. package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +11 -0
  175. package/dist/esm/permissionless/bindings/market-configurator.js +11 -0
  176. package/dist/esm/plugins/adapters/abi/actionAbi.js +1 -10
  177. package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +308 -0
  178. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +412 -0
  179. package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +159 -0
  180. package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +562 -0
  181. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +361 -0
  182. package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +119 -0
  183. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +684 -0
  184. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +684 -0
  185. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +684 -0
  186. package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +684 -0
  187. package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +182 -0
  188. package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +159 -0
  189. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +449 -0
  190. package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +457 -0
  191. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +308 -0
  192. package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +463 -0
  193. package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +147 -0
  194. package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +245 -0
  195. package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +326 -0
  196. package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +201 -0
  197. package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +990 -0
  198. package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +238 -0
  199. package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +597 -0
  200. package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1763 -0
  201. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.js → adapters/iSecuritizeOnRampAdapterV310.js} +2 -2
  202. package/dist/esm/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.js → adapters/iSecuritizeRedemptionGatewayAdapterV311.js} +22 -2
  203. package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +264 -0
  204. package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +435 -0
  205. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +266 -0
  206. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +481 -0
  207. package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +509 -0
  208. package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +450 -0
  209. package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +303 -0
  210. package/dist/esm/plugins/adapters/abi/adapters/index.js +35 -0
  211. package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +159 -0
  212. package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +295 -0
  213. package/dist/esm/plugins/adapters/abi/conctructorAbi.js +4 -44
  214. package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +0 -14
  215. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  216. package/dist/esm/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.js → iSecuritizeRedemptionGatewayV311.js} +11 -3
  217. package/dist/esm/plugins/adapters/abi/securitize/index.js +1 -3
  218. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +2 -291
  219. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +36 -0
  220. package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
  221. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +23 -2
  222. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +19 -2
  223. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +24 -2
  224. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +23 -2
  225. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +30 -2
  226. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +3 -8
  227. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +3 -8
  228. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +3 -8
  229. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +3 -8
  230. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +3 -8
  231. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +18 -2
  232. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +27 -2
  233. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +18 -2
  234. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +19 -2
  235. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +25 -2
  236. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +4 -4
  237. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +16 -4
  238. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +4 -4
  239. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +15 -2
  240. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +1 -1
  241. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +19 -2
  242. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +19 -2
  243. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +15 -2
  244. package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +104 -0
  245. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +17 -5
  246. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +20 -6
  247. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +62 -2
  248. package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +16 -3
  249. package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +31 -5
  250. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +21 -2
  251. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +14 -2
  252. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +11 -1
  253. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +21 -1
  254. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +20 -3
  255. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +20 -4
  256. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +14 -2
  257. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +19 -2
  258. package/dist/esm/plugins/adapters/contracts/index.js +1 -6
  259. package/dist/esm/plugins/adapters/createAdapter.js +4 -13
  260. package/dist/esm/plugins/adapters/types.js +2 -11
  261. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +21 -39
  262. package/dist/esm/preview/index.js +2 -1
  263. package/dist/esm/preview/parse/classifyInnerOperations.js +14 -1
  264. package/dist/esm/preview/parse/index.js +1 -1
  265. package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +6 -14
  266. package/dist/esm/preview/parse/parseOperationCalldata.js +12 -9
  267. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +5 -2
  268. package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +85 -0
  269. package/dist/esm/preview/parse/types-rwa.js +0 -0
  270. package/dist/esm/preview/parse/types.js +6 -1
  271. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +21 -47
  272. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +26 -43
  273. package/dist/esm/preview/prerequisites/Prerequisite.js +10 -37
  274. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +47 -0
  275. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +33 -0
  276. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +16 -0
  277. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +90 -0
  278. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +35 -0
  279. package/dist/esm/preview/prerequisites/checkPrerequisites.js +61 -0
  280. package/dist/esm/preview/prerequisites/helpers.js +14 -0
  281. package/dist/esm/preview/prerequisites/index.js +2 -3
  282. package/dist/esm/preview/preview/applyInnerOperations.js +122 -0
  283. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +50 -0
  284. package/dist/esm/preview/preview/detectCloseOrRepay.js +26 -0
  285. package/dist/esm/preview/preview/errors.js +27 -0
  286. package/dist/esm/preview/preview/index.js +7 -0
  287. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +74 -0
  288. package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +76 -0
  289. package/dist/esm/preview/preview/previewOpenCreditAccount.js +49 -0
  290. package/dist/esm/preview/preview/previewOperation.js +29 -0
  291. package/dist/esm/preview/preview/previewPoolOperation.js +18 -0
  292. package/dist/esm/preview/preview/types.js +0 -0
  293. package/dist/esm/preview/preview/unwrapNativeCollateral.js +21 -0
  294. package/dist/esm/preview/simulate/index.js +3 -1
  295. package/dist/esm/preview/simulate/simulateOperation.js +5 -1
  296. package/dist/esm/preview/simulate/simulatePoolOperation.js +21 -123
  297. package/dist/esm/preview/simulate/simulateRWAOperation.js +6 -0
  298. package/dist/esm/preview/types.js +0 -0
  299. package/dist/esm/sdk/OnchainSDK.js +13 -1
  300. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +72 -144
  301. package/dist/esm/sdk/accounts/index.js +1 -0
  302. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +200 -0
  303. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +16 -0
  304. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +16 -0
  305. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +16 -0
  306. package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +28 -0
  307. package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +29 -0
  308. package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +8 -0
  309. package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +91 -0
  310. package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +0 -0
  311. package/dist/esm/sdk/base/BaseContract.js +4 -2
  312. package/dist/esm/sdk/base/ChainContractsRegister.js +1 -0
  313. package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +59 -5
  314. package/dist/esm/sdk/market/rwa/types.js +5 -2
  315. package/dist/esm/sdk/market/zapper/ZapperContract.js +0 -3
  316. package/dist/esm/sdk/router/AbstractRouterContract.js +25 -29
  317. package/dist/esm/sdk/router/RouterV310Contract.js +11 -12
  318. package/dist/esm/sdk/router/helpers.js +0 -4
  319. package/dist/esm/sdk/utils/AddressMap.js +6 -0
  320. package/dist/esm/sdk/utils/AddressSet.js +7 -0
  321. package/dist/esm/sdk/utils/AssetsMap.js +73 -0
  322. package/dist/esm/sdk/utils/index.js +1 -0
  323. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +289 -0
  324. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +77 -0
  325. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +77 -0
  326. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +77 -0
  327. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +77 -0
  328. package/dist/types/abi/ierc4626Adapter.d.ts +179 -0
  329. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +3 -3
  330. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +1 -1
  331. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  332. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +1 -1
  333. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +1 -1
  334. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  335. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  336. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  337. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  338. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  339. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +1 -1
  340. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  341. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  342. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +1 -1
  343. package/dist/types/dev/abi.d.ts +4 -4
  344. package/dist/types/dev/index.d.ts +1 -0
  345. package/dist/types/dev/providers.d.ts +1 -1
  346. package/dist/types/dev/withdrawalAbi.d.ts +1584 -0
  347. package/dist/types/dev/withdrawalUtils.d.ts +19 -0
  348. package/dist/types/history/types.d.ts +4 -4
  349. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +9 -9
  350. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +77 -0
  351. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +179 -0
  352. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -0
  353. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +1 -1
  354. package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +231 -0
  355. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +314 -0
  356. package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +117 -0
  357. package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +428 -0
  358. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +271 -0
  359. package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +204 -0
  360. package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +519 -0
  361. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +519 -0
  362. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +519 -0
  363. package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +519 -0
  364. package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +135 -0
  365. package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +119 -0
  366. package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +338 -0
  367. package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +346 -0
  368. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +233 -0
  369. package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +349 -0
  370. package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +109 -0
  371. package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +183 -0
  372. package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +247 -0
  373. package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +151 -0
  374. package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +754 -0
  375. package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +180 -0
  376. package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +453 -0
  377. package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1366 -0
  378. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeOnRampAdapter.d.ts → adapters/iSecuritizeOnRampAdapterV310.d.ts} +1 -1
  379. package/dist/types/plugins/adapters/abi/{securitize/iSecuritizeRedemptionGatewayAdapter.d.ts → adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts} +37 -1
  380. package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +197 -0
  381. package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +333 -0
  382. package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +202 -0
  383. package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +367 -0
  384. package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +390 -0
  385. package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +336 -0
  386. package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +232 -0
  387. package/dist/types/plugins/adapters/abi/adapters/index.d.ts +35 -0
  388. package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +117 -0
  389. package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +221 -0
  390. package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +0 -26
  391. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  392. package/dist/types/plugins/adapters/abi/securitize/{iSecuritizeRedemptionGateway.d.ts → iSecuritizeRedemptionGatewayV311.d.ts} +15 -1
  393. package/dist/types/plugins/adapters/abi/securitize/index.d.ts +1 -3
  394. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +1 -477
  395. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +21 -3
  396. package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +18 -0
  397. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +9 -7
  398. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +7 -5
  399. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +9 -7
  400. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +9 -7
  401. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +13 -11
  402. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +8 -11
  403. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +8 -11
  404. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +8 -11
  405. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +3 -6
  406. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +8 -11
  407. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +8 -6
  408. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +14 -6
  409. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +8 -6
  410. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +8 -6
  411. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +9 -7
  412. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +3 -3
  413. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +7 -5
  414. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +5 -5
  415. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +9 -7
  416. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +3 -3
  417. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +8 -6
  418. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +9 -7
  419. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +7 -5
  420. package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +790 -0
  421. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +9 -7
  422. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +9 -7
  423. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +9 -7
  424. package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +8 -6
  425. package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +59 -7
  426. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +9 -7
  427. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +9 -7
  428. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +8 -6
  429. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +8 -6
  430. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +9 -7
  431. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +9 -7
  432. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +9 -7
  433. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +7 -5
  434. package/dist/types/plugins/adapters/contracts/index.d.ts +1 -6
  435. package/dist/types/plugins/adapters/types.d.ts +31 -13
  436. package/dist/types/plugins/delayed-withdrawal/types.d.ts +4 -17
  437. package/dist/types/preview/index.d.ts +2 -1
  438. package/dist/types/preview/parse/classifyInnerOperations.d.ts +0 -2
  439. package/dist/types/preview/parse/index.d.ts +1 -1
  440. package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +6 -7
  441. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -18
  442. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +7 -12
  443. package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +13 -0
  444. package/dist/types/preview/parse/types-adapters.d.ts +5 -1
  445. package/dist/types/preview/parse/types-facades.d.ts +23 -34
  446. package/dist/types/preview/parse/types-pools.d.ts +29 -1
  447. package/dist/types/preview/parse/types-rwa.d.ts +36 -0
  448. package/dist/types/preview/parse/types.d.ts +11 -31
  449. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +16 -17
  450. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +21 -18
  451. package/dist/types/preview/prerequisites/Prerequisite.d.ts +18 -55
  452. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +51 -0
  453. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +14 -0
  454. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +8 -0
  455. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +8 -0
  456. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +21 -0
  457. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +19 -0
  458. package/dist/types/preview/prerequisites/helpers.d.ts +7 -0
  459. package/dist/types/preview/prerequisites/index.d.ts +2 -3
  460. package/dist/types/preview/prerequisites/types.d.ts +13 -50
  461. package/dist/types/preview/preview/applyInnerOperations.d.ts +84 -0
  462. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +13 -0
  463. package/dist/types/preview/preview/detectCloseOrRepay.d.ts +18 -0
  464. package/dist/types/preview/preview/errors.d.ts +21 -0
  465. package/dist/types/preview/preview/index.d.ts +7 -0
  466. package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +12 -0
  467. package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +11 -0
  468. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +5 -0
  469. package/dist/types/preview/preview/previewOperation.d.ts +8 -0
  470. package/dist/types/preview/preview/previewPoolOperation.d.ts +5 -0
  471. package/dist/types/preview/preview/types.d.ts +181 -0
  472. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +20 -0
  473. package/dist/types/preview/simulate/index.d.ts +2 -3
  474. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +3 -16
  475. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -18
  476. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +10 -18
  477. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +12 -0
  478. package/dist/types/preview/simulate/types.d.ts +20 -51
  479. package/dist/types/preview/types.d.ts +52 -0
  480. package/dist/types/sdk/OnchainSDK.d.ts +10 -1
  481. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +15 -15
  482. package/dist/types/sdk/accounts/index.d.ts +1 -0
  483. package/dist/types/sdk/accounts/types.d.ts +100 -53
  484. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +34 -0
  485. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +334 -0
  486. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +338 -0
  487. package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +300 -0
  488. package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +21 -0
  489. package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +11 -0
  490. package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +8 -0
  491. package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +26 -0
  492. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +283 -0
  493. package/dist/types/sdk/base/BaseContract.d.ts +1 -1
  494. package/dist/types/sdk/base/TokensMeta.d.ts +1 -1
  495. package/dist/types/sdk/base/types.d.ts +18 -0
  496. package/dist/types/sdk/chain/chains.d.ts +8 -8
  497. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +5 -5
  498. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +1 -1
  499. package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +17 -4
  500. package/dist/types/sdk/market/rwa/securitize/types.d.ts +18 -2
  501. package/dist/types/sdk/market/rwa/types.d.ts +39 -14
  502. package/dist/types/sdk/market/zapper/types.d.ts +6 -6
  503. package/dist/types/sdk/pools/types.d.ts +1 -1
  504. package/dist/types/sdk/router/AbstractRouterContract.d.ts +5 -5
  505. package/dist/types/sdk/router/helpers.d.ts +1 -2
  506. package/dist/types/sdk/router/types.d.ts +1 -15
  507. package/dist/types/sdk/utils/AddressMap.d.ts +4 -0
  508. package/dist/types/sdk/utils/AddressSet.d.ts +1 -0
  509. package/dist/types/sdk/utils/AssetsMap.d.ts +44 -0
  510. package/dist/types/sdk/utils/index.d.ts +1 -0
  511. package/package.json +11 -12
  512. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
  513. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
  514. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
  515. package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
  516. package/dist/cjs/preview/prerequisites/buildPrerequisites.js +0 -221
  517. package/dist/cjs/preview/prerequisites/runPrerequisites.js +0 -71
  518. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
  519. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
  520. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
  521. package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
  522. package/dist/esm/preview/parse/extractExpectedBalanceChanges.js +0 -24
  523. package/dist/esm/preview/prerequisites/buildPrerequisites.js +0 -197
  524. package/dist/esm/preview/prerequisites/prepareAction.js +0 -23
  525. package/dist/esm/preview/prerequisites/runPrerequisites.js +0 -47
  526. package/dist/esm/preview/simulate/holders.js +0 -21
  527. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
  528. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
  529. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
  530. package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
  531. package/dist/types/preview/parse/extractExpectedBalanceChanges.d.ts +0 -22
  532. package/dist/types/preview/prerequisites/buildPrerequisites.d.ts +0 -16
  533. package/dist/types/preview/prerequisites/prepareAction.d.ts +0 -52
  534. package/dist/types/preview/prerequisites/runPrerequisites.d.ts +0 -12
  535. package/dist/types/preview/simulate/holders.d.ts +0 -7
@@ -0,0 +1,21 @@
1
+ import type { Address } from "viem";
2
+ import { type RWAOperationArgs } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "../parse/index.js";
4
+ import type { Prerequisite } from "./Prerequisite.js";
5
+ import type { PrerequisiteContext } from "./types.js";
6
+ /**
7
+ * For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
8
+ * builds a prerequisite per RWA token the multicall touches; each one checks
9
+ * the factory's open-account requirements (issuer-side token registration,
10
+ * EIP-712 signatures) at verify time.
11
+ *
12
+ * The `providedArgs` params are the registration values decoded from the
13
+ * transaction calldata itself: signatures already included there satisfy the
14
+ * signature requirement, so a fully built transaction is not reported as
15
+ * missing signatures. In the template flow they are empty and the verified
16
+ * result's `detail.missing` describes what is still unfulfilled; acting on it
17
+ * (signing, rebuilding calldata) is up to the consumer.
18
+ *
19
+ * Returns nothing for non-RWA markets.
20
+ */
21
+ export declare function buildRWAPrerequisites(multicall: InnerOperation[], creditManager: Address, providedArgs: RWAOperationArgs, ctx: PrerequisiteContext): Prerequisite[];
@@ -0,0 +1,19 @@
1
+ import type { PluginsMap } from "../../sdk/index.js";
2
+ import type { PreviewOperationInput, PreviewOperationOptions } from "../types.js";
3
+ import type { PrerequisiteResult } from "./types.js";
4
+ /**
5
+ * Derives and verifies the on-chain prerequisites for an operation given its
6
+ * raw calldata: the conditions that must hold for the call not to revert and
7
+ * that we can verify with the SDK (token approvals, wallet balances, RWA
8
+ * open-account requirements).
9
+ *
10
+ * Each prerequisite performs its own reads and resolves into a
11
+ * {@link PrerequisiteResult} (`satisfied` or `error`).
12
+ *
13
+ * Only *sender-actionable* prerequisites belong here: conditions the LP
14
+ * provider or borrower can fix themselves before retrying (e.g. approve a
15
+ * token, sign the RWA factory's messages). Non-actionable protocol/admin state
16
+ * (e.g. pool is paused) is intentionally out of scope, since the user cannot
17
+ * resolve it.
18
+ */
19
+ export declare function checkPrerequisites<P extends PluginsMap>(input: PreviewOperationInput<P>, options?: PreviewOperationOptions): Promise<PrerequisiteResult[]>;
@@ -0,0 +1,7 @@
1
+ import { type AllowanceDetail } from "./AllowancePrerequisite.js";
2
+ import type { Prerequisite } from "./Prerequisite.js";
3
+ /**
4
+ * The most common prerequisite pair: `owner` must have approved `spender` for
5
+ * `required` of `token` and must hold at least that much of it.
6
+ */
7
+ export declare function allowanceAndBalance(props: Omit<AllowanceDetail, "actual">): Prerequisite[];
@@ -1,7 +1,6 @@
1
1
  export * from "./AllowancePrerequisite.js";
2
2
  export * from "./BalancePrerequisite.js";
3
- export * from "./buildPrerequisites.js";
3
+ export * from "./checkPrerequisites.js";
4
4
  export * from "./Prerequisite.js";
5
- export * from "./prepareAction.js";
6
- export * from "./runPrerequisites.js";
5
+ export * from "./RWAOpenRequirementsPrerequisite.js";
7
6
  export * from "./types.js";
@@ -1,40 +1,8 @@
1
1
  import type { Address } from "viem";
2
2
  import type { OnchainSDK } from "../../sdk/index.js";
3
- /**
4
- * Extension point that ties each prerequisite kind to its detail payload.
5
- *
6
- * Adding a new prerequisite kind only requires a new entry here: the generic
7
- * machinery below and the UI renderer registry both key off this map, so TS
8
- * forces every consumer to handle the new kind.
9
- *
10
- * IMPORTANT: only add prerequisites that are *actionable by the transaction
11
- * sender* (the LP provider or borrower). A valid prerequisite is one the user
12
- * can resolve themselves before retrying, e.g. approve a token (`allowance`)
13
- * or acquire/free up funds (`balance`). Do NOT add protocol- or admin-level
14
- * state the user cannot change, such as pool pause status or available pool
15
- * liquidity; those are not actionable and must not be listed as prerequisites.
16
- */
17
- export interface PrerequisiteDetailMap {
18
- /** ERC-20 allowance from `owner` to `spender` must cover `required`. */
19
- allowance: {
20
- token: Address;
21
- owner: Address;
22
- spender: Address;
23
- required: bigint;
24
- /** On-chain allowance read; only present when the read succeeded. */
25
- actual?: bigint;
26
- };
27
- /** ERC-20 balance of `owner` must cover `required`. */
28
- balance: {
29
- token: Address;
30
- owner: Address;
31
- required: bigint;
32
- /** On-chain balance read; only present when the read succeeded. */
33
- actual?: bigint;
34
- };
35
- }
36
- export type PrerequisiteKind = keyof PrerequisiteDetailMap;
37
- export type PrerequisiteDetail<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteDetailMap[K];
3
+ import type { AllowanceResult } from "./AllowancePrerequisite.js";
4
+ import type { BalanceResult } from "./BalancePrerequisite.js";
5
+ import type { RWAOpenRequirementsResult } from "./RWAOpenRequirementsPrerequisite.js";
38
6
  /** Failure of the underlying on-chain read (revert, decode error, RPC error). */
39
7
  export interface PrerequisiteError {
40
8
  /** Decoded revert reason / error name, human-readable. */
@@ -42,32 +10,27 @@ export interface PrerequisiteError {
42
10
  /** Original error, kept for debugging. */
43
11
  cause?: unknown;
44
12
  }
45
- export interface PrerequisiteBase<K extends PrerequisiteKind> {
46
- id: string;
47
- kind: K;
48
- title: string;
49
- detail: PrerequisiteDetail<K>;
50
- }
51
13
  /**
52
14
  * Outcome of verifying a single prerequisite: either the read succeeded (a
53
15
  * `satisfied` boolean) or it reverted/failed (an `error` with the revert
54
- * reason). The two variants are mutually exclusive.
16
+ * reason).
55
17
  */
56
- export type PrerequisiteResult<K extends PrerequisiteKind = PrerequisiteKind> = PrerequisiteBase<K> & ({
18
+ export type PrerequisiteOutcome = {
57
19
  satisfied: boolean;
58
20
  error?: undefined;
59
21
  } | {
60
22
  satisfied?: undefined;
61
23
  error: PrerequisiteError;
62
- });
24
+ };
63
25
  /**
64
- * Discriminated union over every prerequisite kind. Switching on `kind`
65
- * narrows `detail` to the matching payload, so React components can render
66
- * kind-specific details with full type safety.
26
+ * Discriminated union over every prerequisite kind
27
+ *
28
+ * Only add prerequisites that are actionable by tx sender.
29
+ * A valid prerequisite is one the user can resolve themselves before retrying,
30
+ * e.g. approve a token (`allowance`) or perform offchain KYC verification.
67
31
  */
68
- export type AnyPrerequisiteResult = {
69
- [K in PrerequisiteKind]: PrerequisiteResult<K>;
70
- }[PrerequisiteKind];
32
+ export type PrerequisiteResult = AllowanceResult | BalanceResult | RWAOpenRequirementsResult;
33
+ export type PrerequisiteKind = PrerequisiteResult["kind"];
71
34
  /** Shared inputs for building and verifying prerequisites. */
72
35
  export interface PrerequisiteContext {
73
36
  sdk: OnchainSDK;
@@ -0,0 +1,84 @@
1
+ import { type SdkWithAdapters } from "../../plugins/adapters/index.js";
2
+ import { type Asset, AssetsMap, type PluginsMap } from "../../sdk/index.js";
3
+ import type { InnerOperation } from "../parse/index.js";
4
+ /**
5
+ * Running state threaded through a credit-facade multicall by
6
+ * {@link applyInnerOperations}. Seeded by the caller:
7
+ * - account opening: everything zero/empty (the account doesn't exist yet);
8
+ * - account adjustment: `balances` from the account's current token balances,
9
+ * `debt` from the principal, `totalDebt` from principal + accrued interest +
10
+ * accrued fees.
11
+ */
12
+ export interface InnerOperationsState {
13
+ /**
14
+ * Cumulative credit-account balances, mutated in facade execution order.
15
+ */
16
+ balances: AssetsMap;
17
+ /**
18
+ * Debt principal
19
+ */
20
+ debt: bigint;
21
+ /**
22
+ * Total debt: principal + accrued interest + accrued fees.
23
+ * `decreaseDebt` amounts operate on total debt (interest and fees are repaid
24
+ * before principal), so principal alone is not enough to resolve either the
25
+ * underlying balance decrement or the final principal.
26
+ */
27
+ totalDebt: bigint;
28
+ /**
29
+ * Cumulative amounts added via `addCollateral`.
30
+ */
31
+ collateralAdded: AssetsMap;
32
+ /**
33
+ * Cumulative amounts withdrawn via `withdrawCollateral`, with `MAX_UINT256`
34
+ * resolved against the running balance at the point of the call.
35
+ */
36
+ collateralWithdrawn: AssetsMap;
37
+ /**
38
+ * Raw `updateQuota` changes, one entry per op. Entries are relative signed
39
+ * changes (with the `MIN_INT96` "disable" sentinel kept as-is), not final
40
+ * quotas: folding them requires pre-state quotas, see
41
+ * {@link applyQuotaChanges}.
42
+ */
43
+ quotaChanges: Asset[];
44
+ }
45
+ /**
46
+ * Creates an all-zero {@link InnerOperationsState} (the account-opening seed).
47
+ */
48
+ export declare function makeInnerOperationsState(): InnerOperationsState;
49
+ /**
50
+ * Replays a credit-facade multicall over `state`, mutating it in place in
51
+ * facade execution order. The result is the *minimal guaranteed* post-state:
52
+ * exact deltas for explicit facade calls, exact leftovers for diff-style
53
+ * adapter calls inside `storeExpectedBalances`/`compareBalances` brackets and
54
+ * enforced minimums for bracket targets. Adapter calls outside a bracket are
55
+ * ignored: nothing enforces their outcome on-chain (e.g. reward claims), so
56
+ * their guaranteed balance change is zero.
57
+ *
58
+ * The exception is RWA wrap/unwrap calls emitted by
59
+ * `CreditAccountsServiceV310`: out-of-bracket ERC4626 adapter calls whose
60
+ * share token is an RWA underlying. Their outcome is essential to the preview
61
+ * (the conversion between the market underlying and its asset); RWA
62
+ * underlyings always convert 1-to-1 with their vault asset, so the conversion
63
+ * is applied directly, see {@link applyRWAWrapUnwrap}.
64
+ *
65
+ * @throws On malformed `storeExpectedBalances`/`compareBalances` brackets and
66
+ * on bracketed calls to non-adapter targets.
67
+ */
68
+ export declare function applyInnerOperations<P extends PluginsMap>(sdk: SdkWithAdapters<P>, multicall: InnerOperation[], state: InnerOperationsState): void;
69
+ /**
70
+ * Applies raw `updateQuota` changes to the account's initial quotas.
71
+ *
72
+ * Each change is applied sequentially: `MIN_INT96` disables the quota, other
73
+ * changes are added to the running quota with the result clamped at zero
74
+ * (quotas cannot go negative on-chain).
75
+ *
76
+ * @param initialQuotas - Per-token quotas before the operation.
77
+ * @param changes - Raw changes recorded by {@link applyInnerOperations}.
78
+ * @returns `quotas` - final non-zero per-token quotas; `quotasChange` -
79
+ * applied (post-clamp) per-token deltas, non-zero entries only.
80
+ */
81
+ export declare function applyQuotaChanges(initialQuotas: AssetsMap, changes: Asset[]): {
82
+ quotas: Asset[];
83
+ quotasChange: Asset[];
84
+ };
@@ -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,18 @@
1
+ import type { Address } from "viem";
2
+ import type { InnerOperation } from "../parse/index.js";
3
+ /**
4
+ * Detects whether a credit-facade multicall fully closes or repays the
5
+ * account.
6
+ *
7
+ * Note that closing/repaying an account whose debt is already zero emits no
8
+ * `decreaseDebt` call at all and is not detected (previews as an adjustment).
9
+ */
10
+ export declare function isCloseOrRepay(multicall: InnerOperation[]): boolean;
11
+ /**
12
+ * Distinguishes a closure from a repayment by how collateral leaves the
13
+ * account:
14
+ * - close swaps all assets into underlying and withdraws only the underlying
15
+ * - repay returns collateral in-kind: it adds collateral from the wallet to
16
+ * cover the debt and/or withdraws non-underlying tokens.
17
+ */
18
+ export declare function classifyCloseOrRepay(multicall: InnerOperation[], underlying: Address): "close" | "repay";
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Thrown when a transaction's attached native value (`msg.value`) does not fit
3
+ * into the WETH collateral declared by the multicall: such a transaction is
4
+ * malformed and would not execute successfully.
5
+ */
6
+ export declare class InvalidTransactionValueError extends Error {
7
+ /** Transaction `msg.value`. */
8
+ readonly value: bigint;
9
+ /** Amount of wrapped native token added as collateral. */
10
+ readonly wethCollateral: bigint;
11
+ constructor(value: bigint, wethCollateral: bigint);
12
+ }
13
+ /**
14
+ * Thrown by `previewOperation` for parsed operations it cannot preview yet.
15
+ * Currently only pool operations and credit account opening are supported.
16
+ */
17
+ export declare class UnsupportedOperationError extends Error {
18
+ /** The parsed operation kind (the `operation` discriminant). */
19
+ readonly operation: string;
20
+ constructor(operation: string);
21
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./applyInnerOperations.js";
2
+ export * from "./detectCloseOrRepay.js";
3
+ export * from "./errors.js";
4
+ export * from "./previewAdjustCreditAccount.js";
5
+ export * from "./previewCloseOrRepayCreditAccount.js";
6
+ export * from "./previewOperation.js";
7
+ 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: fetches the account's pre-state (unless provided via options),
8
+ * threads the multicall through {@link applyInnerOperations} 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): 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 { OperationPreview } 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): Promise<OperationPreview>;
@@ -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): 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,181 @@
1
+ import type { Address } from "viem";
2
+ import type { Asset } from "../../sdk/index.js";
3
+ import type { PoolOperationType } from "../parse/index.js";
4
+ export interface PoolOperationPreview {
5
+ operation: PoolOperationType;
6
+ /**
7
+ * Pool address
8
+ */
9
+ pool: Address;
10
+ /**
11
+ * Token that goes from user to pool
12
+ * In case of deposit, underlying for direct deposit, zapper input for zapper-routed deposit
13
+ * In case of withdraw, pool shares (diesel token) for direct withdraw or zapper token out
14
+ *
15
+ * For mint/withdraw the amount of tokenIn cannot be determined from
16
+ * transaction calldata alone and requires an additional async call
17
+ * (previewMint/previewWithdraw).
18
+ */
19
+ tokenIn: Asset;
20
+ /**
21
+ * Token that goes from pool to user
22
+ * In case of deposit, pool shares (diesel token) for direct deposit or zapper token out
23
+ * In case of withdraw, underlying for direct withdraw or zapper token in
24
+ *
25
+ * For deposit/redeem the amount of tokenOut cannot be determined from
26
+ * transaction calldata alone and requires an additional async call
27
+ * (previewDeposit/previewRedeem).
28
+ */
29
+ tokenOut: Asset;
30
+ }
31
+ export interface OpenCreditAccountPreview {
32
+ operation: "OpenCreditAccount" | "RWAOpenCreditAccount";
33
+ /**
34
+ * Credit manager the account is opened in
35
+ */
36
+ creditManager: Address;
37
+ /**
38
+ * Target token of strategy: the first quoted token, with its balance taken
39
+ * from `assets`. Undefined when nothing is quoted.
40
+ */
41
+ target?: Asset;
42
+ /**
43
+ * Tokens that were added as collateral during account opening.
44
+ *
45
+ * When the transaction has native value attached, it is represented as a
46
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
47
+ * accordingly (omitted entirely when it reaches zero).
48
+ */
49
+ collateral: Asset[];
50
+ /**
51
+ * Sum of collateral tokens in underlying
52
+ */
53
+ collateralValue: bigint;
54
+ /**
55
+ * Borrowed amount in underlying
56
+ */
57
+ debt: bigint;
58
+ /**
59
+ * Desired quotas
60
+ */
61
+ quotas: Asset[];
62
+ /**
63
+ * Minimum amount of assets on credit account after it's opened,
64
+ * as estimated by router
65
+ */
66
+ assets: Asset[];
67
+ }
68
+ export interface AdjustCreditAccountPreview {
69
+ operation: "AdjustCreditAccount";
70
+ /**
71
+ * Credit manager the account is opened in
72
+ */
73
+ creditManager: Address;
74
+ /**
75
+ * Credit account that is being adjusted
76
+ */
77
+ creditAccount: Address;
78
+ /**
79
+ * Tokens that were added as collateral during account opening.
80
+ *
81
+ * When the transaction has native value attached, it is represented as a
82
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
83
+ * accordingly (omitted entirely when it reaches zero).
84
+ */
85
+ collateralAdded: Asset[];
86
+ /**
87
+ * Tokens that were withdrawn as collateral during account adjustment.
88
+ */
89
+ collateralWithdrawn: Asset[];
90
+ /**
91
+ * Sum of collateral tokens in underlying
92
+ */
93
+ totalValue: bigint;
94
+ /**
95
+ * Borrowed amount in underlying
96
+ */
97
+ debt: bigint;
98
+ /**
99
+ * Debt after minus debt before
100
+ */
101
+ debtChange: bigint;
102
+ /**
103
+ * Desired quotas
104
+ */
105
+ quotas: Asset[];
106
+ /**
107
+ * Quotas after minus quotas before
108
+ */
109
+ quotasChange: Asset[];
110
+ /**
111
+ * Minimum amount of assets on credit account after the operation,
112
+ * as estimated by router
113
+ */
114
+ assets: Asset[];
115
+ /**
116
+ * Assets after minus assets before
117
+ */
118
+ assetsChange: Asset[];
119
+ }
120
+ export interface CloseCreditAccountPreview {
121
+ operation: "CloseCreditAccount";
122
+ /**
123
+ * True when the account is closed permanently (facade `closeCreditAccount`
124
+ * entry point), false when the debt is zeroed but the account stays open
125
+ * (plain multicall).
126
+ */
127
+ permanent: boolean;
128
+ /**
129
+ * Credit manager the account belongs to
130
+ */
131
+ creditManager: Address;
132
+ /**
133
+ * Credit account that is being closed
134
+ */
135
+ creditAccount: Address;
136
+ /**
137
+ * Underlying withdrawn to the user: minimal guaranteed amount, from the
138
+ * multicall replay (all collateral is swapped into underlying before
139
+ * withdrawal)
140
+ */
141
+ receivedAmount: bigint;
142
+ }
143
+ export interface RepayCreditAccountPreview {
144
+ operation: "RepayCreditAccount";
145
+ /**
146
+ * True when the account is closed permanently (facade `closeCreditAccount`
147
+ * entry point), false when the debt is zeroed but the account stays open
148
+ * (plain multicall).
149
+ */
150
+ permanent: boolean;
151
+ /**
152
+ * Credit manager the account belongs to
153
+ */
154
+ creditManager: Address;
155
+ /**
156
+ * Credit account that is being repaid
157
+ */
158
+ creditAccount: Address;
159
+ /**
160
+ * Tokens added from the wallet to cover the debt (`addCollateral` calls).
161
+ *
162
+ * When the transaction has native value attached, it is represented as a
163
+ * `NATIVE_ADDRESS` entry, with the wrapped native token amount reduced
164
+ * accordingly (omitted entirely when it reaches zero).
165
+ */
166
+ collateralAdded: Asset[];
167
+ /**
168
+ * Tokens returned to the user in-kind (`withdrawCollateral` calls, with the
169
+ * MAX_UINT256 sentinel resolved against replayed balances)
170
+ */
171
+ collateralWithdrawn: Asset[];
172
+ /**
173
+ * Total debt repaid: principal + accrued interest + fees, in underlying
174
+ */
175
+ debtRepaid: bigint;
176
+ }
177
+ /**
178
+ * Result of previewing a raw operation calldata: currently pool operations and
179
+ * credit account opening, adjustment, closure and repayment are supported.
180
+ */
181
+ export type OperationPreview = PoolOperationPreview | OpenCreditAccountPreview | AdjustCreditAccountPreview | CloseCreditAccountPreview | RepayCreditAccountPreview;
@@ -0,0 +1,20 @@
1
+ import type { Address } from "viem";
2
+ import { type Asset } from "../../sdk/index.js";
3
+ /**
4
+ * Represents the transaction's attached native value as a `NATIVE_ADDRESS`
5
+ * entry in the collateral list.
6
+ *
7
+ * The credit facade wraps `msg.value` into WETH before `AddCollateral(WETH)`
8
+ * pulls it, so the WETH collateral amount already includes the attached native
9
+ * value. This helper splits the WETH entry back: the native amount is shown as
10
+ * `NATIVE_ADDRESS` and the WETH entry is reduced accordingly (dropped when it
11
+ * reaches zero). Other entries are preserved.
12
+ *
13
+ * @param collateral - Collateral assets as declared by the multicall.
14
+ * @param nativeAmount - Transaction `msg.value`.
15
+ * @param wethToken - Wrapped native token address.
16
+ * @returns Collateral with the native amount unwrapped from the WETH entry.
17
+ * @throws InvalidTransactionValueError when `nativeAmount` is positive but the
18
+ * WETH collateral is missing or smaller than it.
19
+ */
20
+ export declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): Asset[];
@@ -1,8 +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 { AddressBalanceChanges, OperationSimulationOptions, PoolOperationSimulation, PoolOperationSimulationInput, PoolOperationSimulationResult, TokenBalanceChange, } from "./types.js";
6
+ export { simulateRWAOperation } from "./simulateRWAOperation.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>;