@gearbox-protocol/sdk 16.1.2 → 16.3.0-next.1

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 (517) hide show
  1. package/dist/cjs/history/assembleOperations.js +3 -3
  2. package/dist/cjs/history/classifyMulticallOperations.js +7 -7
  3. package/dist/cjs/history/index.js +13 -0
  4. package/dist/cjs/history/parseCreditAccountTransaction.js +5 -5
  5. package/dist/cjs/{preview → history}/trace/errors.js +1 -1
  6. package/dist/cjs/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
  7. package/dist/cjs/{preview → history}/trace/extractTransfers.js +3 -3
  8. package/dist/cjs/{preview → history}/trace/findFacadeCalls.js +3 -3
  9. package/dist/cjs/history/trace/index.js +14 -0
  10. package/dist/cjs/model/errors/index.js +37 -0
  11. package/dist/cjs/model/errors/liquidation-errors.js +32 -0
  12. package/dist/cjs/model/errors/operation-errors.js +135 -0
  13. package/dist/cjs/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
  14. package/dist/cjs/model/errors/prepare-errors.js +108 -0
  15. package/dist/cjs/model/errors/preview-errors.js +12 -0
  16. package/dist/cjs/model/index.js +40 -2
  17. package/dist/cjs/model/positions.js +1 -1
  18. package/dist/cjs/model/result.js +0 -8
  19. package/dist/cjs/model/rwa.js +40 -0
  20. package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  21. package/dist/cjs/onchain/accounts/index.js +0 -2
  22. package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
  23. package/dist/cjs/onchain/accounts/intents/index.js +38 -35
  24. package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
  25. package/dist/cjs/onchain/accounts/intents/math.js +19 -15
  26. package/dist/cjs/onchain/accounts/intents/open-strategy.js +44 -8
  27. package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
  28. package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
  29. package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
  30. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  31. package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  32. package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  33. package/dist/cjs/onchain/accounts/intents/view.js +1 -1
  34. package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
  35. package/dist/cjs/onchain/index.js +122 -36
  36. package/dist/cjs/onchain/market/MarketSuite.js +7 -1
  37. package/dist/cjs/onchain/market/adapters/index.js +1 -0
  38. package/dist/cjs/onchain/market/credit/CreditSuite.js +47 -15
  39. package/dist/cjs/onchain/market/index.js +0 -6
  40. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
  41. package/dist/cjs/onchain/market/oracle/index.js +0 -2
  42. package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  43. package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
  44. package/dist/cjs/onchain/market/rwa/index.js +0 -4
  45. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +7 -7
  46. package/dist/cjs/onchain/market/rwa/securitize/constants.js +0 -2
  47. package/dist/cjs/onchain/market/rwa/securitize/index.js +1 -3
  48. package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
  49. package/dist/cjs/onchain/market/rwa/types.js +0 -7
  50. package/dist/cjs/onchain/market/zapper/index.js +0 -1
  51. package/dist/cjs/onchain/pools/PoolService.js +10 -16
  52. package/dist/cjs/onchain/preview/index.js +41 -0
  53. package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  54. package/dist/cjs/onchain/preview/parse/index.js +14 -0
  55. package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
  56. package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
  57. package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  58. package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
  59. package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
  60. package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  61. package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  62. package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  63. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  64. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  65. package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  66. package/dist/cjs/onchain/preview/preview/index.js +26 -0
  67. package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
  68. package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
  69. package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
  70. package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
  71. package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
  72. package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
  73. package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
  74. package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  75. package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
  76. package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
  77. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
  78. package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
  79. package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
  80. package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
  81. package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
  82. package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
  83. package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
  84. package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
  85. package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
  86. package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
  87. package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
  88. package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
  89. package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
  90. package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
  91. package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
  92. package/dist/cjs/onchain/validation/bundles/index.js +35 -0
  93. package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
  94. package/dist/cjs/onchain/validation/checkOperation.js +62 -0
  95. package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
  96. package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
  97. package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
  98. package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
  99. package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
  100. package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
  101. package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
  102. package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
  103. package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
  104. package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
  105. package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
  106. package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
  107. package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
  108. package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
  109. package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
  110. package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
  111. package/dist/cjs/onchain/validation/checks/index.js +31 -0
  112. package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
  113. package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
  114. package/dist/cjs/onchain/validation/helpers/index.js +11 -0
  115. package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
  116. package/dist/cjs/onchain/validation/index.js +85 -27
  117. package/dist/cjs/onchain/validation/raise.js +33 -0
  118. package/dist/cjs/sdk/execute/ExecuteApi.js +1 -0
  119. package/dist/cjs/sdk/index.js +6 -9
  120. package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
  121. package/dist/cjs/sdk/prepare/PrepareApi.js +55 -48
  122. package/dist/cjs/sdk/prepare/index.js +7 -9
  123. package/dist/cjs/sdk/prepare/types.js +0 -4
  124. package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
  125. package/dist/esm/history/assembleOperations.js +2 -2
  126. package/dist/esm/history/classifyMulticallOperations.js +2 -2
  127. package/dist/esm/history/index.js +6 -1
  128. package/dist/esm/history/parseCreditAccountTransaction.js +3 -3
  129. package/dist/esm/{preview → history}/trace/errors.js +1 -1
  130. package/dist/esm/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
  131. package/dist/esm/{preview → history}/trace/extractTransfers.js +1 -1
  132. package/dist/esm/{preview → history}/trace/findFacadeCalls.js +1 -1
  133. package/dist/esm/model/errors/index.js +7 -0
  134. package/dist/esm/model/errors/liquidation-errors.js +29 -0
  135. package/dist/esm/model/errors/operation-errors.js +121 -0
  136. package/dist/esm/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
  137. package/dist/esm/model/errors/prepare-errors.js +97 -0
  138. package/dist/esm/model/errors/preview-errors.js +11 -0
  139. package/dist/esm/model/index.js +9 -3
  140. package/dist/esm/model/positions.js +1 -1
  141. package/dist/esm/model/result.js +1 -8
  142. package/dist/esm/model/rwa.js +37 -0
  143. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  144. package/dist/esm/onchain/accounts/index.js +1 -2
  145. package/dist/esm/onchain/accounts/intents/guards.js +29 -52
  146. package/dist/esm/onchain/accounts/intents/index.js +39 -35
  147. package/dist/esm/onchain/accounts/intents/leverage-band.js +1 -1
  148. package/dist/esm/onchain/accounts/intents/math.js +18 -14
  149. package/dist/esm/onchain/accounts/intents/open-strategy.js +46 -10
  150. package/dist/esm/onchain/accounts/intents/plan.js +51 -47
  151. package/dist/esm/onchain/accounts/intents/realize.js +26 -24
  152. package/dist/esm/onchain/accounts/intents/tail.js +14 -11
  153. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  154. package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  155. package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  156. package/dist/esm/onchain/accounts/intents/view.js +1 -1
  157. package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
  158. package/dist/esm/onchain/index.js +61 -10
  159. package/dist/esm/onchain/market/MarketSuite.js +7 -1
  160. package/dist/esm/onchain/market/adapters/index.js +1 -0
  161. package/dist/esm/onchain/market/credit/CreditSuite.js +47 -15
  162. package/dist/esm/onchain/market/index.js +3 -5
  163. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
  164. package/dist/esm/onchain/market/oracle/index.js +1 -2
  165. package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  166. package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
  167. package/dist/esm/onchain/market/rwa/index.js +3 -4
  168. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +2 -2
  169. package/dist/esm/onchain/market/rwa/securitize/constants.js +1 -2
  170. package/dist/esm/onchain/market/rwa/securitize/index.js +3 -3
  171. package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
  172. package/dist/esm/onchain/market/rwa/types.js +1 -7
  173. package/dist/esm/onchain/market/zapper/index.js +0 -1
  174. package/dist/esm/onchain/pools/PoolService.js +10 -16
  175. package/dist/esm/onchain/preview/index.js +20 -0
  176. package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  177. package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
  178. package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
  179. package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
  180. package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  181. package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
  182. package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
  183. package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  184. package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  185. package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  186. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  187. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  188. package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  189. package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
  190. package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
  191. package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
  192. package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
  193. package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
  194. package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
  195. package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
  196. package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
  197. package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  198. package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
  199. package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
  200. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
  201. package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
  202. package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
  203. package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
  204. package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
  205. package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
  206. package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
  207. package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
  208. package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
  209. package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
  210. package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
  211. package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
  212. package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
  213. package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
  214. package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
  215. package/dist/esm/onchain/validation/bundles/index.js +18 -0
  216. package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
  217. package/dist/esm/onchain/validation/checkOperation.js +61 -0
  218. package/dist/esm/onchain/validation/checkSimulation.js +59 -0
  219. package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
  220. package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
  221. package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
  222. package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
  223. package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
  224. package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
  225. package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
  226. package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
  227. package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
  228. package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
  229. package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
  230. package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
  231. package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
  232. package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
  233. package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
  234. package/dist/esm/onchain/validation/checks/index.js +16 -0
  235. package/dist/esm/onchain/validation/helpers/amount.js +11 -0
  236. package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
  237. package/dist/esm/onchain/validation/helpers/index.js +4 -0
  238. package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
  239. package/dist/esm/onchain/validation/index.js +43 -4
  240. package/dist/esm/onchain/validation/raise.js +31 -0
  241. package/dist/esm/sdk/execute/ExecuteApi.js +1 -0
  242. package/dist/esm/sdk/index.js +2 -3
  243. package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
  244. package/dist/esm/sdk/prepare/PrepareApi.js +43 -36
  245. package/dist/esm/sdk/prepare/index.js +3 -3
  246. package/dist/esm/sdk/prepare/types.js +1 -2
  247. package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
  248. package/dist/types/history/assembleOperations.d.ts +4 -5
  249. package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
  250. package/dist/types/history/index.d.ts +8 -2
  251. package/dist/types/history/mapOperations.d.ts +1 -1
  252. package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
  253. package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
  254. package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
  255. package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
  256. package/dist/types/{preview → history}/trace/types.d.ts +1 -1
  257. package/dist/types/history/types.d.ts +2 -3
  258. package/dist/types/model/errors/base.d.ts +28 -0
  259. package/dist/types/model/errors/index.d.ts +7 -0
  260. package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
  261. package/dist/types/model/errors/operation-errors.d.ts +216 -0
  262. package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
  263. package/dist/types/model/errors/prepare-errors.d.ts +131 -0
  264. package/dist/types/model/errors/preview-errors.d.ts +72 -0
  265. package/dist/types/model/index.d.ts +11 -4
  266. package/dist/types/model/opportunities.d.ts +3 -2
  267. package/dist/types/model/positions.d.ts +2 -2
  268. package/dist/types/model/previews.d.ts +52 -113
  269. package/dist/types/model/result.d.ts +4 -8
  270. package/dist/types/model/rwa.d.ts +143 -0
  271. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
  272. package/dist/types/onchain/accounts/index.d.ts +2 -4
  273. package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
  274. package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
  275. package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
  276. package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
  277. package/dist/types/onchain/accounts/intents/open-strategy.d.ts +34 -3
  278. package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
  279. package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
  280. package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
  281. package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
  282. package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
  283. package/dist/types/onchain/accounts/intents/tests/open-strategy.fixtures.d.ts +2 -2
  284. package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
  285. package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
  286. package/dist/types/onchain/accounts/types.d.ts +4 -2
  287. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
  288. package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
  289. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
  290. package/dist/types/onchain/index.d.ts +68 -13
  291. package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
  292. package/dist/types/onchain/market/adapters/index.d.ts +2 -1
  293. package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
  294. package/dist/types/onchain/market/credit/CreditSuite.d.ts +20 -8
  295. package/dist/types/onchain/market/credit/index.d.ts +2 -2
  296. package/dist/types/onchain/market/credit/types.d.ts +11 -1
  297. package/dist/types/onchain/market/index.d.ts +6 -7
  298. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
  299. package/dist/types/onchain/market/oracle/index.d.ts +1 -2
  300. package/dist/types/onchain/market/oracle/types.d.ts +1 -1
  301. package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
  302. package/dist/types/onchain/market/rwa/index.d.ts +4 -4
  303. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +3 -2
  304. package/dist/types/onchain/market/rwa/securitize/constants.d.ts +1 -2
  305. package/dist/types/onchain/market/rwa/securitize/index.d.ts +3 -3
  306. package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
  307. package/dist/types/onchain/market/rwa/types.d.ts +6 -32
  308. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
  309. package/dist/types/onchain/market/zapper/index.d.ts +1 -2
  310. package/dist/types/onchain/market/zapper/types.d.ts +1 -1
  311. package/dist/types/onchain/pools/types.d.ts +2 -2
  312. package/dist/types/onchain/preview/index.d.ts +24 -0
  313. package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
  314. package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
  315. package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
  316. package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
  317. package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
  318. package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
  319. package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
  320. package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
  321. package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
  322. package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
  323. package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
  324. package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
  325. package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
  326. package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
  327. package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
  328. package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
  329. package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
  330. package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
  331. package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
  332. package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
  333. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
  334. package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
  335. package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
  336. package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
  337. package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
  338. package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
  339. package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
  340. package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
  341. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
  342. package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
  343. package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
  344. package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
  345. package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
  346. package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
  347. package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
  348. package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
  349. package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
  350. package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
  351. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
  352. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
  353. package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
  354. package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
  355. package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
  356. package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
  357. package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
  358. package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
  359. package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
  360. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
  361. package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
  362. package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
  363. package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
  364. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
  365. package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
  366. package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
  367. package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
  368. package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
  369. package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
  370. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
  371. package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
  372. package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
  373. package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
  374. package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
  375. package/dist/types/onchain/validation/checks/index.d.ts +16 -0
  376. package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
  377. package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
  378. package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
  379. package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
  380. package/dist/types/onchain/validation/index.d.ts +43 -4
  381. package/dist/types/onchain/validation/raise.d.ts +33 -0
  382. package/dist/types/sdk/execute/types.d.ts +2 -2
  383. package/dist/types/sdk/index.d.ts +5 -6
  384. package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
  385. package/dist/types/sdk/liquidations/types.d.ts +8 -0
  386. package/dist/types/sdk/prepare/PrepareApi.d.ts +6 -5
  387. package/dist/types/sdk/prepare/index.d.ts +5 -5
  388. package/dist/types/sdk/prepare/types.d.ts +65 -23
  389. package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
  390. package/dist/types/sdk/preview/index.d.ts +2 -2
  391. package/dist/types/sdk/preview/types.d.ts +30 -7
  392. package/package.json +1 -6
  393. package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  394. package/dist/cjs/onchain/market/zapper/errors.js +0 -1
  395. package/dist/cjs/onchain/validation/checks.js +0 -258
  396. package/dist/cjs/onchain/validation/refusal.js +0 -39
  397. package/dist/cjs/preview/index.js +0 -86
  398. package/dist/cjs/preview/package.json +0 -1
  399. package/dist/cjs/preview/parse/errors.js +0 -1
  400. package/dist/cjs/preview/parse/index.js +0 -15
  401. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
  402. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
  403. package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
  404. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
  405. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
  406. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
  407. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
  408. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
  409. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
  410. package/dist/cjs/preview/prerequisites/helpers.js +0 -23
  411. package/dist/cjs/preview/prerequisites/index.js +0 -12
  412. package/dist/cjs/preview/preview/errors.js +0 -85
  413. package/dist/cjs/preview/preview/index.js +0 -33
  414. package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
  415. package/dist/cjs/preview/preview/previewOperation.js +0 -100
  416. package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
  417. package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
  418. package/dist/cjs/preview/preview/replayMulticall.js +0 -19
  419. package/dist/cjs/preview/simulate/errors.js +0 -73
  420. package/dist/cjs/preview/simulate/index.js +0 -11
  421. package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
  422. package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
  423. package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
  424. package/dist/cjs/preview/simulate/types.js +0 -1
  425. package/dist/cjs/preview/trace/index.js +0 -14
  426. package/dist/cjs/preview/trace/types.js +0 -1
  427. package/dist/cjs/preview/types.js +0 -1
  428. package/dist/cjs/preview/validate/checkOperation.js +0 -187
  429. package/dist/cjs/preview/validate/checkSimulation.js +0 -39
  430. package/dist/cjs/preview/validate/index.js +0 -8
  431. package/dist/cjs/sdk/prepare/errors.js +0 -93
  432. package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  433. package/dist/esm/onchain/market/zapper/errors.js +0 -1
  434. package/dist/esm/onchain/validation/checks.js +0 -238
  435. package/dist/esm/onchain/validation/refusal.js +0 -36
  436. package/dist/esm/preview/index.js +0 -38
  437. package/dist/esm/preview/package.json +0 -1
  438. package/dist/esm/preview/parse/errors.js +0 -1
  439. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
  440. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
  441. package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
  442. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
  443. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
  444. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
  445. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
  446. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
  447. package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
  448. package/dist/esm/preview/prerequisites/helpers.js +0 -22
  449. package/dist/esm/preview/prerequisites/index.js +0 -7
  450. package/dist/esm/preview/preview/errors.js +0 -79
  451. package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
  452. package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
  453. package/dist/esm/preview/preview/replayMulticall.js +0 -18
  454. package/dist/esm/preview/simulate/errors.js +0 -71
  455. package/dist/esm/preview/simulate/index.js +0 -6
  456. package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
  457. package/dist/esm/preview/simulate/simulateOperation.js +0 -28
  458. package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
  459. package/dist/esm/preview/simulate/types.js +0 -1
  460. package/dist/esm/preview/trace/types.js +0 -1
  461. package/dist/esm/preview/types.js +0 -1
  462. package/dist/esm/preview/validate/checkOperation.js +0 -183
  463. package/dist/esm/preview/validate/checkSimulation.js +0 -38
  464. package/dist/esm/preview/validate/index.js +0 -3
  465. package/dist/esm/sdk/prepare/errors.js +0 -89
  466. package/dist/types/model/errors.d.ts +0 -46
  467. package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
  468. package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
  469. package/dist/types/onchain/validation/checks.d.ts +0 -164
  470. package/dist/types/onchain/validation/refusal.d.ts +0 -242
  471. package/dist/types/preview/index.d.ts +0 -47
  472. package/dist/types/preview/parse/errors.d.ts +0 -29
  473. package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
  474. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
  475. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
  476. package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
  477. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
  478. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
  479. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
  480. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
  481. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
  482. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
  483. package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
  484. package/dist/types/preview/prerequisites/index.d.ts +0 -7
  485. package/dist/types/preview/prerequisites/types.d.ts +0 -53
  486. package/dist/types/preview/preview/errors.d.ts +0 -44
  487. package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
  488. package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
  489. package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
  490. package/dist/types/preview/preview/previewOperation.d.ts +0 -32
  491. package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
  492. package/dist/types/preview/simulate/errors.d.ts +0 -52
  493. package/dist/types/preview/simulate/index.d.ts +0 -7
  494. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
  495. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
  496. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
  497. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
  498. package/dist/types/preview/simulate/types.d.ts +0 -48
  499. package/dist/types/preview/types.d.ts +0 -65
  500. package/dist/types/preview/validate/checkOperation.d.ts +0 -71
  501. package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
  502. package/dist/types/preview/validate/index.d.ts +0 -3
  503. package/dist/types/sdk/prepare/errors.d.ts +0 -319
  504. /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
  505. /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
  506. /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  507. /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
  508. /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
  509. /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  510. /package/dist/esm/{preview → history}/trace/index.js +0 -0
  511. /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
  512. /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
  513. /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  514. /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
  515. /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
  516. /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  517. /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
@@ -1,9 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../onchain/market/adapters/contracts/AbstractAdapter.js");
3
- const require_model_result = require("../../model/result.js");
4
- require("../../model/index.js");
5
- require("../../onchain/index.js");
6
- //#region src/preview/preview/detectDelayedClaim.ts
2
+ const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../market/adapters/contracts/AbstractAdapter.js");
3
+ const require_model_result = require("../../../model/result.js");
4
+ require("../../../model/index.js");
5
+ //#region src/onchain/preview/preview/detectDelayedClaim.ts
7
6
  /**
8
7
  * Scans a credit-facade multicall for a delayed-withdrawal claim call.
9
8
  *
@@ -1,11 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../onchain/market/adapters/contracts/AbstractAdapter.js");
3
- const require_model_result = require("../../model/result.js");
4
- require("../../model/index.js");
5
- const require_onchain_accounts_withdrawal_compressor_intent_codec = require("../../onchain/accounts/withdrawal-compressor/intent-codec.js");
6
- require("../../onchain/index.js");
2
+ const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../market/adapters/contracts/AbstractAdapter.js");
3
+ const require_model_result = require("../../../model/result.js");
4
+ require("../../../model/index.js");
5
+ const require_onchain_accounts_withdrawal_compressor_intent_codec = require("../../accounts/withdrawal-compressor/intent-codec.js");
7
6
  let viem = require("viem");
8
- //#region src/preview/preview/detectDelayedOperation.ts
7
+ //#region src/onchain/preview/preview/detectDelayedOperation.ts
9
8
  /**
10
9
  * Scans a credit-facade multicall for a delayed-withdrawal request.
11
10
  *
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  let viem = require("viem");
3
- //#region src/preview/preview/estimateClaimableAt.ts
3
+ //#region src/onchain/preview/preview/estimateClaimableAt.ts
4
4
  /**
5
5
  * Estimates when a newly requested delayed withdrawal becomes claimable:
6
6
  * `now + withdrawalLength` of the cached withdrawable asset whose phantom
@@ -0,0 +1,26 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
3
+ const require_onchain_preview_preview_CreditAccountState = require("./CreditAccountState.js");
4
+ const require_onchain_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
5
+ const require_onchain_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
6
+ const require_onchain_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
7
+ const require_onchain_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
8
+ const require_onchain_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
9
+ const require_onchain_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
10
+ const require_onchain_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
11
+ const require_onchain_preview_preview_replayMulticall = require("./replayMulticall.js");
12
+ const require_onchain_preview_preview_previewOperation = require("./previewOperation.js");
13
+ exports.CreditAccountState = require_onchain_preview_preview_CreditAccountState.CreditAccountState;
14
+ exports.buildDelayedStrategyPositionOperationPreview = require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview;
15
+ exports.classifyCloseOrRepay = require_onchain_preview_preview_detectCloseOrRepay.classifyCloseOrRepay;
16
+ exports.detectDelayedClaim = require_onchain_preview_preview_detectDelayedClaim.detectDelayedClaim;
17
+ exports.detectDelayedOperation = require_onchain_preview_preview_detectDelayedOperation.detectDelayedOperation;
18
+ exports.estimateClaimableAt = require_onchain_preview_preview_estimateClaimableAt.estimateClaimableAt;
19
+ exports.isCloseOrRepay = require_onchain_preview_preview_detectCloseOrRepay.isCloseOrRepay;
20
+ exports.makeReplayState = require_onchain_preview_preview_replayInnerOperations.makeReplayState;
21
+ exports.previewAdjustStrategyPosition = require_onchain_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition;
22
+ exports.previewExitOrRepayStrategyPosition = require_onchain_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition;
23
+ exports.previewOperation = require_onchain_preview_preview_previewOperation.previewOperation;
24
+ exports.replayInnerOperations = require_onchain_preview_preview_replayInnerOperations.replayInnerOperations;
25
+ exports.replayMulticall = require_onchain_preview_preview_replayMulticall.replayMulticall;
26
+ exports.resolveDelayedClaimIntent = require_onchain_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent;
@@ -1,34 +1,30 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_constants_address_provider = require("../../onchain/constants/address-provider.js");
3
- const require_onchain_constants_math = require("../../onchain/constants/math.js");
4
- const require_model_previews = require("../../model/previews.js");
5
- require("../../model/index.js");
6
- require("../../onchain/index.js");
7
- const require_preview_preview_replayMulticall = require("./replayMulticall.js");
8
- const require_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
9
- //#region src/preview/preview/previewAdjustStrategyPosition.ts
2
+ const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
3
+ const require_onchain_constants_math = require("../../constants/math.js");
4
+ const require_model_previews = require("../../../model/previews.js");
5
+ const require_model_result = require("../../../model/result.js");
6
+ require("../../../model/index.js");
7
+ const require_onchain_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
8
+ //#region src/onchain/preview/preview/previewAdjustStrategyPosition.ts
10
9
  /**
11
10
  * Previews a `multicall`/`botMulticall` operation on an existing credit
12
- * account: threads the multicall through {@link replayMulticall} over the
13
- * pre-resolved account state (`options.creditAccount`) and reports the
14
- * minimal guaranteed post-state alongside the changes relative to the
15
- * pre-state.
11
+ * account: reports the replayed post-state alongside the changes relative
12
+ * to the pre-state.
16
13
  */
17
- function previewAdjustStrategyPosition(input, operation, options) {
18
- const { sdk, value = 0n } = input;
14
+ function previewAdjustStrategyPosition(sdk, input, operation, replay) {
15
+ const { value = 0n } = input;
19
16
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
20
17
  const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
21
18
  const oracle = market.priceOracle;
22
- const { before, after, warning: replayWarning } = require_preview_preview_replayMulticall.replayMulticall(sdk, operation, options);
19
+ const { before, after } = replay;
23
20
  const account = after.account;
24
- let warning = replayWarning;
25
- const { assets: collateralAdded, warning: unwrapWarning } = require_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
26
- warning ??= unwrapWarning;
21
+ const unwrapped = require_onchain_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
22
+ if (!unwrapped.ok) return unwrapped;
23
+ const collateralAdded = unwrapped.data;
27
24
  const assetsChange = account.balances.difference(before.balances).toAssets(require_onchain_constants_math.DUST_THRESHOLD);
28
25
  const priced = oracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
29
- warning ??= priced.error;
30
26
  const snap = account.toSnapshot(priced.value);
31
- return {
27
+ return require_model_result.sdkOk({
32
28
  operation: "AdjustCreditAccount",
33
29
  ...require_model_previews.asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: before.totalDebt - account.totalDebt })),
34
30
  creditAccount: operation.creditAccount,
@@ -42,8 +38,8 @@ function previewAdjustStrategyPosition(input, operation, options) {
42
38
  ...oracle.toAmount(market.underlying, q.balance)
43
39
  })),
44
40
  assetsChange: assetsChange.map((a) => oracle.toTokenAmount(a.token, a.balance)),
45
- warning
46
- };
41
+ warning: priced.error
42
+ });
47
43
  }
48
44
  //#endregion
49
45
  exports.previewAdjustStrategyPosition = previewAdjustStrategyPosition;
@@ -1,35 +1,29 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_constants_address_provider = require("../../onchain/constants/address-provider.js");
3
- require("../../onchain/constants/math.js");
4
- const require_model_previews = require("../../model/previews.js");
5
- require("../../model/index.js");
6
- require("../../onchain/index.js");
7
- const require_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
8
- const require_preview_preview_replayMulticall = require("./replayMulticall.js");
9
- const require_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
10
- //#region src/preview/preview/previewExitOrRepayStrategyPosition.ts
11
- function previewExitOrRepayStrategyPosition(input, operation, permanent, options) {
12
- const { sdk } = input;
2
+ const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
3
+ require("../../constants/math.js");
4
+ const require_model_previews = require("../../../model/previews.js");
5
+ const require_model_result = require("../../../model/result.js");
6
+ require("../../../model/index.js");
7
+ const require_onchain_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
8
+ const require_onchain_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
9
+ //#region src/onchain/preview/preview/previewExitOrRepayStrategyPosition.ts
10
+ function previewExitOrRepayStrategyPosition(sdk, input, operation, permanent, replay) {
13
11
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
14
12
  const exitTokens = [market.underlying];
15
13
  const meta = sdk.tokensMeta.get(market.underlying);
16
14
  if (meta && sdk.tokensMeta.isRWAUnderlying(meta)) exitTokens.push(meta.asset);
17
- const replay = require_preview_preview_replayMulticall.replayMulticall(sdk, operation, options);
18
- return require_preview_preview_detectCloseOrRepay.classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? previewCloseCreditAccount(input, operation, permanent, replay) : previewRepayCreditAccount(input, operation, permanent, replay);
15
+ return require_onchain_preview_preview_detectCloseOrRepay.classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? require_model_result.sdkOk(previewCloseCreditAccount(sdk, operation, permanent, replay)) : previewRepayCreditAccount(sdk, input, operation, permanent, replay);
19
16
  }
20
17
  /**
21
18
  * Previews a credit account closure: all collateral is swapped into
22
19
  * underlying, the debt is fully repaid and the remaining underlying is
23
20
  * withdrawn to the user.
24
21
  */
25
- function previewCloseCreditAccount(input, operation, permanent, replay) {
26
- const { sdk } = input;
22
+ function previewCloseCreditAccount(sdk, operation, permanent, replay) {
27
23
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
28
- const { before, after, warning: replayWarning } = replay;
24
+ const { before, after } = replay;
29
25
  const account = after.account;
30
- let warning = replayWarning;
31
26
  const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
32
- warning ??= priced.error;
33
27
  const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
34
28
  let receivedToken = market.underlying;
35
29
  for (const m of operation.multicall) if (m.operation === "WithdrawCollateral" && m.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n) {
@@ -44,7 +38,7 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
44
38
  name: suite.accountStrategyName(operation.creditAccount),
45
39
  targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
46
40
  receivedAmount: market.priceOracle.toTokenAmount(receivedToken, after.collateralWithdrawn.getOrZero(receivedToken)),
47
- warning
41
+ warning: priced.error
48
42
  };
49
43
  }
50
44
  /**
@@ -52,17 +46,17 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
52
46
  * from the wallet when needed) and collateral is returned to the user
53
47
  * in-kind.
54
48
  */
55
- function previewRepayCreditAccount(input, operation, permanent, replay) {
56
- const { sdk, value = 0n } = input;
49
+ function previewRepayCreditAccount(sdk, input, operation, permanent, replay) {
50
+ const { value = 0n } = input;
57
51
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
58
- const { before, after, warning: replayWarning } = replay;
52
+ const { before, after } = replay;
59
53
  const account = after.account;
60
- const { assets: collateralAdded, warning: unwrapWarning } = require_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
61
- let warning = replayWarning ?? unwrapWarning;
54
+ const unwrapped = require_onchain_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
55
+ if (!unwrapped.ok) return unwrapped;
56
+ const collateralAdded = unwrapped.data;
62
57
  const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
63
- warning ??= priced.error;
64
58
  const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
65
- return {
59
+ return require_model_result.sdkOk({
66
60
  operation: "RepayCreditAccount",
67
61
  permanent,
68
62
  ...require_model_previews.asEstimated(sdk.positions.projection(account.toSnapshot(priced.value), { availableLiquidityChange: before.totalDebt - account.totalDebt })),
@@ -72,8 +66,8 @@ function previewRepayCreditAccount(input, operation, permanent, replay) {
72
66
  collateralAdded: collateralAdded.map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
73
67
  debtRepaid: market.toUnderlyingAmount(before.totalDebt - account.totalDebt),
74
68
  collateralWithdrawn: after.collateralWithdrawn.toAssets().map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
75
- warning
76
- };
69
+ warning: priced.error
70
+ });
77
71
  }
78
72
  //#endregion
79
73
  exports.previewExitOrRepayStrategyPosition = previewExitOrRepayStrategyPosition;
@@ -0,0 +1,60 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
3
+ const require_model_previews = require("../../../model/previews.js");
4
+ const require_model_result = require("../../../model/result.js");
5
+ require("../../../model/index.js");
6
+ const require_onchain_preview_preview_CreditAccountState = require("./CreditAccountState.js");
7
+ const require_onchain_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
8
+ const require_onchain_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
9
+ //#region src/onchain/preview/preview/previewOpenStrategyPosition.ts
10
+ function previewOpenStrategyPosition(sdk, input, operation) {
11
+ const { value = 0n } = input;
12
+ const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
13
+ const oracle = market.priceOracle;
14
+ const state = require_onchain_preview_preview_replayInnerOperations.makeReplayState(require_onchain_preview_preview_CreditAccountState.CreditAccountState.beforeOpen(operation.creditManager, market.underlying));
15
+ const replayError = require_onchain_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, state);
16
+ if (replayError) return require_model_result.sdkErr(replayError);
17
+ const account = state.account;
18
+ let warning;
19
+ const netValue = state.collateralAdded.sum((token, balance) => {
20
+ const priced = oracle.safeConvert(token, market.underlying, balance);
21
+ warning ??= priced.error;
22
+ return priced.value;
23
+ });
24
+ const unwrapped = require_onchain_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
25
+ if (!unwrapped.ok) return unwrapped;
26
+ const collateral = unwrapped.data;
27
+ const snap = account.toSnapshot(netValue + account.totalDebt);
28
+ const targetAsset = inferTargetAsset(operation.multicall, account.balances);
29
+ const projection = {
30
+ ...require_model_previews.asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: -account.totalDebt })),
31
+ targetCollateral: targetAsset ? oracle.toTokenAmount(targetAsset.token, targetAsset.balance) : void 0,
32
+ collateralAdded: collateral.map((a) => oracle.toTokenAmount(a.token, a.balance)),
33
+ warning
34
+ };
35
+ if (operation.operation === "RWAOpenCreditAccount") return require_model_result.sdkOk({
36
+ ...projection,
37
+ operation: "RWAOpenCreditAccount",
38
+ rwaArgs: operation.args
39
+ });
40
+ return require_model_result.sdkOk({
41
+ ...projection,
42
+ operation: "OpenCreditAccount"
43
+ });
44
+ }
45
+ /**
46
+ * Infers the strategy target token of an account opening: the first quoted
47
+ * token (first `UpdateQuota` with a positive change), with its balance taken
48
+ * from the computed assets. Returns `undefined` when nothing is quoted.
49
+ */
50
+ function inferTargetAsset(multicall, balances) {
51
+ for (const op of multicall) if (op.operation === "UpdateQuota" && op.change > 0n) {
52
+ const balance = balances.get(op.token);
53
+ return balance ? {
54
+ token: op.token,
55
+ balance
56
+ } : void 0;
57
+ }
58
+ }
59
+ //#endregion
60
+ exports.previewOpenStrategyPosition = previewOpenStrategyPosition;
@@ -0,0 +1,119 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_model_errors_prepare_errors = require("../../../model/errors/prepare-errors.js");
3
+ const require_model_result = require("../../../model/result.js");
4
+ require("../../../model/index.js");
5
+ const require_onchain_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
6
+ const require_onchain_preview_parse_types = require("../parse/types.js");
7
+ require("../parse/index.js");
8
+ const require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
9
+ const require_onchain_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
10
+ const require_onchain_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
11
+ const require_onchain_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
12
+ const require_onchain_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
13
+ const require_onchain_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
14
+ const require_onchain_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
15
+ const require_onchain_preview_preview_previewOpenStrategyPosition = require("./previewOpenStrategyPosition.js");
16
+ const require_onchain_preview_preview_previewPoolPositionOperation = require("./previewPoolPositionOperation.js");
17
+ const require_onchain_preview_preview_replayMulticall = require("./replayMulticall.js");
18
+ //#region src/onchain/preview/preview/previewOperation.ts
19
+ /**
20
+ * Previews a raw operation calldata: decodes it into a typed operation and
21
+ * assembles an operation-specific, human-displayable preview.
22
+ *
23
+ * Answers an {@link SDKReturn} envelope: the preview behind `ok: true`, or —
24
+ * when the transaction is one the previewer refuses to read — a
25
+ * {@link PreviewOperationError} behind `ok: false`. A thrown exception
26
+ * still means the SDK could not do its job (a read failed), not a refusal
27
+ * of the transaction.
28
+ *
29
+ * `input.chainId` and `sdk` both name the chain; the engine does not read
30
+ * `input.chainId`.
31
+ */
32
+ async function previewOperation(sdk, input, options, creditAccount) {
33
+ const parsed = require_onchain_preview_parse_parseOperationCalldata.parseOperationCalldata(sdk, input);
34
+ if (!parsed.ok) return parsed;
35
+ const operation = parsed.data;
36
+ if (require_onchain_preview_parse_types.isPoolOperation(operation)) return require_onchain_preview_preview_previewPoolPositionOperation.previewPoolPositionOperation(sdk, operation, options);
37
+ if (operation.operation === "OpenCreditAccount" || operation.operation === "RWAOpenCreditAccount") return require_onchain_preview_preview_previewOpenStrategyPosition.previewOpenStrategyPosition(sdk, input, operation);
38
+ if (operation.operation === "CloseCreditAccount") {
39
+ const resolved = await resolveCreditAccount(sdk, operation, options, creditAccount);
40
+ if (!resolved.ok) return resolved;
41
+ const replayed = require_onchain_preview_preview_replayMulticall.replayMulticall(sdk, operation, resolved.data);
42
+ if (!replayed.ok) return replayed;
43
+ const preview = require_onchain_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(sdk, input, operation, true, replayed.data);
44
+ if (!preview.ok) return preview;
45
+ const intent = await require_onchain_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(sdk, operation.multicall, options?.blockNumber);
46
+ if (!intent.ok) return intent;
47
+ preview.data.intent = intent.data;
48
+ return preview;
49
+ }
50
+ if (operation.operation === "MultiCall" || operation.operation === "BotMulticall" || operation.operation === "RWAMulticall") {
51
+ const resolved = await resolveCreditAccount(sdk, operation, options, creditAccount);
52
+ if (!resolved.ok) return resolved;
53
+ const replayed = require_onchain_preview_preview_replayMulticall.replayMulticall(sdk, operation, resolved.data);
54
+ if (!replayed.ok) return replayed;
55
+ return previewMulticallOperation(sdk, input, operation, replayed.data, options?.blockNumber);
56
+ }
57
+ return require_model_result.sdkErr({
58
+ code: "unsupportedOperation",
59
+ message: `operation "${operation.operation}" is not supported by previewOperation`,
60
+ operation: operation.operation
61
+ });
62
+ }
63
+ /**
64
+ * Resolves the pre-state of the credit account an operation targets: uses the
65
+ * injected state when present, otherwise fetches it from the credit account
66
+ * compressor.
67
+ */
68
+ async function resolveCreditAccount(sdk, operation, options, creditAccount) {
69
+ let resolved = creditAccount;
70
+ if (!resolved) resolved = await sdk.accounts.getCreditAccountData(operation.creditAccount, options?.blockNumber);
71
+ if (!resolved) return require_model_result.sdkErr(require_model_errors_prepare_errors.creditAccountNotFound(operation.creditAccount));
72
+ return require_model_result.sdkOk(resolved);
73
+ }
74
+ /**
75
+ * Previews a plain/bot/RWA multicall: classifies the instant preview
76
+ * (zero-debt closure/repay vs adjustment) and, when the multicall requests a
77
+ * delayed withdrawal, wraps the instant preview into a
78
+ * `DelayedCreditAccountOperation` together with the best-effort preview of
79
+ * the state after the withdrawal is claimed.
80
+ */
81
+ async function previewMulticallOperation(sdk, input, operation, replay, blockNumber) {
82
+ let instantPreview;
83
+ if (require_onchain_preview_preview_detectCloseOrRepay.isCloseOrRepay(operation.multicall)) {
84
+ const instant = require_onchain_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(sdk, input, operation, false, replay);
85
+ if (!instant.ok) return instant;
86
+ instantPreview = instant.data;
87
+ } else {
88
+ const instant = require_onchain_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition(sdk, input, operation, replay);
89
+ if (!instant.ok) return instant;
90
+ instantPreview = instant.data;
91
+ }
92
+ const detected = require_onchain_preview_preview_detectDelayedOperation.detectDelayedOperation(sdk, operation.multicall);
93
+ if (!detected.ok) return detected;
94
+ const delayed = detected.data;
95
+ if (!delayed) {
96
+ const intent = await require_onchain_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(sdk, operation.multicall, blockNumber);
97
+ if (!intent.ok) return intent;
98
+ instantPreview.intent = intent.data;
99
+ return require_model_result.sdkOk(instantPreview);
100
+ }
101
+ const { before, after } = replay;
102
+ const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
103
+ const meta = sdk.tokensMeta.get(market.underlying);
104
+ const receivedToken = meta && sdk.tokensMeta.isRWAUnderlying(meta) ? meta.asset : market.underlying;
105
+ const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
106
+ return require_model_result.sdkOk({
107
+ operation: "DelayedCreditAccountOperation",
108
+ creditAccount: operation.creditAccount,
109
+ ...suite.creditOperationMarket(),
110
+ name: suite.accountStrategyName(operation.creditAccount),
111
+ targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
112
+ intent: delayed.intent,
113
+ estClaimableAt: require_onchain_preview_preview_estimateClaimableAt.estimateClaimableAt(sdk, delayed.request.phantomToken),
114
+ instantPreview,
115
+ delayedPreview: require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview(after.account, before, delayed, receivedToken, sdk)
116
+ });
117
+ }
118
+ //#endregion
119
+ exports.previewOperation = previewOperation;
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_abi_iZapper = require("../../abi/iZapper.js");
3
- const require_abi_310_generated = require("../../abi/310/generated.js");
4
- const require_model_result = require("../../model/result.js");
5
- require("../../model/index.js");
6
- const require_preview_simulate_errors = require("./errors.js");
7
- //#region src/preview/simulate/simulatePoolOperation.ts
2
+ const require_abi_iERC20 = require("../../../abi/iERC20.js");
3
+ const require_abi_iZapper = require("../../../abi/iZapper.js");
4
+ const require_abi_310_generated = require("../../../abi/310/generated.js");
5
+ const require_model_result = require("../../../model/result.js");
6
+ require("../../../model/index.js");
7
+ //#region src/onchain/preview/preview/previewPoolPositionOperation.ts
8
8
  function previewRead(operation) {
9
9
  switch (operation.operation) {
10
10
  case "Deposit": return {
@@ -74,36 +74,50 @@ function amountsInOut(operation, previewAmount) {
74
74
  };
75
75
  }
76
76
  }
77
- /**
78
- * Simulates a pool deposit/mint/withdraw/redeem (direct or zapper-routed) and
79
- * returns the resulting token amounts going in and out. Throws a
80
- * {@link PreviewSimulationError} with the decoded revert when the preview read
81
- * fails.
82
- *
83
- * Performs the matching preview read (the pool's ERC4626
84
- * `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
85
- * zapper's `previewDeposit`/`previewRedeem`) to convert the calldata-known
86
- * amount into its counterpart. It works on every network the SDK supports.
87
- *
88
- * It does not execute the calldata, so it ignores balance/allowance
89
- * prerequisites (preview reads succeed regardless).
90
- */
91
- async function simulatePoolOperation(input, options = {}) {
92
- const { sdk, operation } = input;
93
- const { blockNumber, logger } = options;
77
+ async function previewPoolPositionOperation(sdk, operation, options) {
78
+ const { tokenIn, tokenOut } = operation;
79
+ const market = sdk.marketRegister.findByPool(operation.pool);
80
+ const pool = market.pool.pool;
81
+ const holder = "owner" in operation ? operation.owner : operation.receiver;
82
+ let previewAmount;
83
+ let shares;
94
84
  try {
95
- const previewAmount = await sdk.client.readContract({
96
- blockNumber,
97
- ...previewContract(operation)
85
+ [previewAmount, shares] = await sdk.client.multicall({
86
+ contracts: [previewContract(operation), {
87
+ address: operation.pool,
88
+ abi: require_abi_iERC20.ierc20Abi,
89
+ functionName: "balanceOf",
90
+ args: [holder]
91
+ }],
92
+ allowFailure: false,
93
+ batchSize: 0,
94
+ blockNumber: options?.blockNumber
98
95
  });
99
- return require_model_result.sdkOk(amountsInOut(operation, previewAmount));
100
96
  } catch (cause) {
101
- const error = require_preview_simulate_errors.asPreviewSimulationError(cause, "multicall");
102
- logger?.error(error, "pool operation simulation failed");
97
+ const error = {
98
+ code: "poolOperationPreviewError",
99
+ message: cause instanceof Error ? cause.message : String(cause),
100
+ pool: operation.pool,
101
+ cause: cause instanceof Error ? cause : new Error(String(cause))
102
+ };
103
103
  return require_model_result.sdkErr(error);
104
104
  }
105
+ const sim = amountsInOut(operation, previewAmount);
106
+ const inflow = operation.operation === "Deposit" || operation.operation === "Mint";
107
+ const after = shares + (inflow ? sim.amountOut : -sim.amountIn);
108
+ return require_model_result.sdkOk({
109
+ operation: operation.operation,
110
+ pool: operation.pool,
111
+ zapper: operation.zapper,
112
+ holder,
113
+ name: sdk.tokensMeta.mustGetToken(operation.pool).name,
114
+ underlyingToken: market.underlyingToken,
115
+ shareRate: pool.dieselRate,
116
+ tokenIn: market.priceOracle.toTokenAmount(tokenIn, sim.amountIn),
117
+ tokenOut: market.priceOracle.toTokenAmount(tokenOut, sim.amountOut),
118
+ curator: market.curator,
119
+ netValue: market.toUnderlyingAmount(pool.sharesToUnderlying(after > 0n ? after : 0n))
120
+ });
105
121
  }
106
122
  //#endregion
107
- exports.amountsInOut = amountsInOut;
108
- exports.previewContract = previewContract;
109
- exports.simulatePoolOperation = simulatePoolOperation;
123
+ exports.previewPoolPositionOperation = previewPoolPositionOperation;
@@ -0,0 +1,109 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_utils_AssetsMap = require("../../utils/AssetsMap.js");
3
+ require("../../constants/math.js");
4
+ const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../market/adapters/contracts/AbstractAdapter.js");
5
+ const require_model_errors_preview_errors = require("../../../model/errors/preview-errors.js");
6
+ require("../../../model/index.js");
7
+ //#region src/onchain/preview/preview/replayInnerOperations.ts
8
+ /**
9
+ * Creates a {@link ReplayState} around the given account seed, with empty
10
+ * bookkeeping.
11
+ */
12
+ function makeReplayState(account) {
13
+ return {
14
+ account,
15
+ collateralAdded: new require_onchain_utils_AssetsMap.AssetsMap(),
16
+ collateralWithdrawn: new require_onchain_utils_AssetsMap.AssetsMap()
17
+ };
18
+ }
19
+ /**
20
+ * Replays a credit-facade multicall over `state`, mutating it in place in
21
+ * facade execution order. The result is the *minimal guaranteed* post-state.
22
+ *
23
+ * The function assumes that the call was generated by our frontend using
24
+ * router/withdrawal compressor, otherwise it answers the error on a malformed
25
+ * multicall; state is left as replayed up to that op.
26
+ *
27
+ * @returns `undefined` on success, the error on a malformed multicall.
28
+ */
29
+ function replayInnerOperations(sdk, multicall, state) {
30
+ let inBracket = false;
31
+ for (const op of multicall) switch (op.operation) {
32
+ case "AddCollateral":
33
+ applyAddCollateral(state, op);
34
+ break;
35
+ case "WithdrawCollateral":
36
+ applyWithdrawCollateral(state, op);
37
+ break;
38
+ case "IncreaseBorrowedAmount":
39
+ state.account.increaseDebt(op.amount);
40
+ break;
41
+ case "DecreaseBorrowedAmount":
42
+ state.account.repay(op.amount);
43
+ break;
44
+ case "UpdateQuota":
45
+ state.account.updateQuota(op.token, op.change);
46
+ break;
47
+ case "StoreExpectedBalances":
48
+ if (inBracket) return require_model_errors_preview_errors.malformedTransaction("nested storeExpectedBalances/compareBalances bracket");
49
+ inBracket = true;
50
+ for (const { token, balance } of op.deltas) state.account.balances.inc(token, balance);
51
+ break;
52
+ case "CompareBalances":
53
+ if (!inBracket) return require_model_errors_preview_errors.malformedTransaction("compareBalances without a preceding storeExpectedBalances");
54
+ inBracket = false;
55
+ break;
56
+ case "Execute": {
57
+ const error = applyExecute(sdk, op, inBracket, state.account.balances);
58
+ if (error) return error;
59
+ break;
60
+ }
61
+ }
62
+ if (inBracket) return require_model_errors_preview_errors.malformedTransaction("storeExpectedBalances without a matching compareBalances");
63
+ }
64
+ function applyAddCollateral(state, op) {
65
+ state.collateralAdded.inc(op.token, op.amount);
66
+ state.account.balances.inc(op.token, op.amount);
67
+ }
68
+ /**
69
+ * `MAX_UINT256` is the facade sentinel for "withdraw the entire balance", so
70
+ * it is resolved against the running balance at the point of the call.
71
+ */
72
+ function applyWithdrawCollateral(state, op) {
73
+ const running = state.account.balances.getOrZero(op.token);
74
+ const amount = op.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n ? running > 0n ? running : 0n : op.amount;
75
+ state.account.balances.dec(op.token, amount);
76
+ state.collateralWithdrawn.inc(op.token, amount);
77
+ }
78
+ /**
79
+ * Replays an adapter `Execute` call against the running balances.
80
+ *
81
+ * Inside a bracket, the adapter's balance changes are previewed via
82
+ * {@link AbstractAdapterContract.previewBalanceChanges}. Outside a bracket,
83
+ * only calls that {@link AbstractAdapterContract.replayOutOfBracketCall}
84
+ * accepts are allowed; nothing enforces the outcome of any other out-of-bracket
85
+ * adapter call on-chain, so its effect on balances cannot be previewed.
86
+ */
87
+ function applyExecute(sdk, op, inBracket, balances) {
88
+ const adapter = sdk.getContract(op.adapter);
89
+ if (!inBracket) {
90
+ if (adapter instanceof require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract) try {
91
+ if (adapter.replayOutOfBracketCall(balances, op.calldata)) return;
92
+ } catch (e) {
93
+ const cause = e instanceof Error ? e : new Error(String(e));
94
+ return require_model_errors_preview_errors.malformedTransaction(`cannot replay out-of-bracket call to ${op.adapter}: ${cause.message}`, cause);
95
+ }
96
+ return require_model_errors_preview_errors.malformedTransaction(`call to ${op.adapter} outside of a storeExpectedBalances/compareBalances bracket`);
97
+ }
98
+ if (!(adapter instanceof require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract)) return require_model_errors_preview_errors.malformedTransaction(`call to ${op.adapter} between storeExpectedBalances and compareBalances is not an adapter call`);
99
+ try {
100
+ adapter.previewBalanceChanges(balances, op.calldata);
101
+ return;
102
+ } catch (e) {
103
+ const cause = e instanceof Error ? e : new Error(String(e));
104
+ return require_model_errors_preview_errors.malformedTransaction(`cannot replay adapter call to ${op.adapter}: ${cause.message}`, cause);
105
+ }
106
+ }
107
+ //#endregion
108
+ exports.makeReplayState = makeReplayState;
109
+ exports.replayInnerOperations = replayInnerOperations;
@@ -0,0 +1,22 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_model_result = require("../../../model/result.js");
3
+ require("../../../model/index.js");
4
+ const require_onchain_preview_preview_CreditAccountState = require("./CreditAccountState.js");
5
+ const require_onchain_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
6
+ //#region src/onchain/preview/preview/replayMulticall.ts
7
+ /**
8
+ * Replays the operation's multicall over the account's pre-resolved
9
+ * pre-state via {@link replayInnerOperations}.
10
+ */
11
+ function replayMulticall(sdk, operation, creditAccount) {
12
+ const before = require_onchain_preview_preview_CreditAccountState.CreditAccountState.fromCreditAccountData(creditAccount);
13
+ const after = require_onchain_preview_preview_replayInnerOperations.makeReplayState(before.clone());
14
+ const error = require_onchain_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, after);
15
+ if (error) return require_model_result.sdkErr(error);
16
+ return require_model_result.sdkOk({
17
+ before,
18
+ after
19
+ });
20
+ }
21
+ //#endregion
22
+ exports.replayMulticall = replayMulticall;