@gearbox-protocol/sdk 16.2.0 → 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 (528) 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/index.js +0 -2
  21. package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
  22. package/dist/cjs/onchain/accounts/intents/index.js +38 -35
  23. package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
  24. package/dist/cjs/onchain/accounts/intents/math.js +19 -15
  25. package/dist/cjs/onchain/accounts/intents/open-strategy.js +6 -4
  26. package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
  27. package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
  28. package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
  29. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  30. package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  31. package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  32. package/dist/cjs/onchain/accounts/intents/view.js +1 -1
  33. package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
  34. package/dist/cjs/onchain/index.js +122 -36
  35. package/dist/cjs/onchain/market/MarketSuite.js +7 -1
  36. package/dist/cjs/onchain/market/adapters/index.js +1 -0
  37. package/dist/cjs/onchain/market/credit/CreditSuite.js +47 -15
  38. package/dist/cjs/onchain/market/index.js +0 -6
  39. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
  40. package/dist/cjs/onchain/market/oracle/index.js +0 -2
  41. package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  42. package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
  43. package/dist/cjs/onchain/market/rwa/index.js +0 -4
  44. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +7 -7
  45. package/dist/cjs/onchain/market/rwa/securitize/constants.js +0 -2
  46. package/dist/cjs/onchain/market/rwa/securitize/index.js +1 -3
  47. package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
  48. package/dist/cjs/onchain/market/rwa/types.js +0 -7
  49. package/dist/cjs/onchain/market/zapper/index.js +0 -1
  50. package/dist/cjs/onchain/pools/PoolService.js +10 -16
  51. package/dist/cjs/onchain/preview/index.js +41 -0
  52. package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  53. package/dist/cjs/onchain/preview/parse/index.js +14 -0
  54. package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
  55. package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
  56. package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  57. package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
  58. package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
  59. package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  60. package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  61. package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  62. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  63. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  64. package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  65. package/dist/cjs/onchain/preview/preview/index.js +26 -0
  66. package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
  67. package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
  68. package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
  69. package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
  70. package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
  71. package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
  72. package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
  73. package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  74. package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
  75. package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
  76. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
  77. package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
  78. package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
  79. package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
  80. package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
  81. package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
  82. package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
  83. package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
  84. package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
  85. package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
  86. package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
  87. package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
  88. package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
  89. package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
  90. package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
  91. package/dist/cjs/onchain/validation/bundles/index.js +35 -0
  92. package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
  93. package/dist/cjs/onchain/validation/checkOperation.js +62 -0
  94. package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
  95. package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
  96. package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
  97. package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
  98. package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
  99. package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
  100. package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
  101. package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
  102. package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
  103. package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
  104. package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
  105. package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
  106. package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
  107. package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
  108. package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
  109. package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
  110. package/dist/cjs/onchain/validation/checks/index.js +31 -0
  111. package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
  112. package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
  113. package/dist/cjs/onchain/validation/helpers/index.js +11 -0
  114. package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
  115. package/dist/cjs/onchain/validation/index.js +85 -27
  116. package/dist/cjs/onchain/validation/raise.js +33 -0
  117. package/dist/cjs/sdk/index.js +6 -11
  118. package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
  119. package/dist/cjs/sdk/prepare/PrepareApi.js +40 -50
  120. package/dist/cjs/sdk/prepare/index.js +7 -11
  121. package/dist/cjs/sdk/prepare/types.js +0 -4
  122. package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
  123. package/dist/esm/dev/AccountOpener.js +1 -1
  124. package/dist/esm/dev/withdrawalUtils.js +1 -1
  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 +2 -2
  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 +8 -6
  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/liquidations/LiquidationsService.js +1 -1
  158. package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  159. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  160. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  161. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  162. package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
  163. package/dist/esm/onchain/base/TokensMeta.js +3 -3
  164. package/dist/esm/onchain/core/createAddressProvider.js +1 -1
  165. package/dist/esm/onchain/index.js +61 -10
  166. package/dist/esm/onchain/market/MarketSuite.js +7 -1
  167. package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  168. package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  169. package/dist/esm/onchain/market/adapters/index.js +1 -0
  170. package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  171. package/dist/esm/onchain/market/credit/CreditSuite.js +47 -15
  172. package/dist/esm/onchain/market/index.js +3 -5
  173. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
  174. package/dist/esm/onchain/market/oracle/index.js +1 -2
  175. package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  176. package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
  177. package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
  178. package/dist/esm/onchain/market/rwa/index.js +3 -4
  179. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +2 -2
  180. package/dist/esm/onchain/market/rwa/securitize/constants.js +1 -2
  181. package/dist/esm/onchain/market/rwa/securitize/index.js +3 -3
  182. package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
  183. package/dist/esm/onchain/market/rwa/types.js +1 -7
  184. package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
  185. package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
  186. package/dist/esm/onchain/market/zapper/index.js +0 -1
  187. package/dist/esm/onchain/pools/PoolService.js +10 -16
  188. package/dist/esm/onchain/preview/index.js +20 -0
  189. package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  190. package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
  191. package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
  192. package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
  193. package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  194. package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
  195. package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
  196. package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  197. package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  198. package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  199. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  200. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  201. package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  202. package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
  203. package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
  204. package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
  205. package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
  206. package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
  207. package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
  208. package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
  209. package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
  210. package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  211. package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  212. package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
  213. package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
  214. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
  215. package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
  216. package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
  217. package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
  218. package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
  219. package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
  220. package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
  221. package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
  222. package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
  223. package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
  224. package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
  225. package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
  226. package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
  227. package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
  228. package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
  229. package/dist/esm/onchain/validation/bundles/index.js +18 -0
  230. package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
  231. package/dist/esm/onchain/validation/checkOperation.js +61 -0
  232. package/dist/esm/onchain/validation/checkSimulation.js +59 -0
  233. package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
  234. package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
  235. package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
  236. package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
  237. package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
  238. package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
  239. package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
  240. package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
  241. package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
  242. package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
  243. package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
  244. package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
  245. package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
  246. package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
  247. package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
  248. package/dist/esm/onchain/validation/checks/index.js +16 -0
  249. package/dist/esm/onchain/validation/helpers/amount.js +11 -0
  250. package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
  251. package/dist/esm/onchain/validation/helpers/index.js +4 -0
  252. package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
  253. package/dist/esm/onchain/validation/index.js +43 -4
  254. package/dist/esm/onchain/validation/raise.js +31 -0
  255. package/dist/esm/sdk/index.js +2 -3
  256. package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
  257. package/dist/esm/sdk/prepare/PrepareApi.js +25 -35
  258. package/dist/esm/sdk/prepare/index.js +3 -3
  259. package/dist/esm/sdk/prepare/types.js +1 -2
  260. package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
  261. package/dist/types/history/assembleOperations.d.ts +4 -5
  262. package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
  263. package/dist/types/history/index.d.ts +8 -2
  264. package/dist/types/history/mapOperations.d.ts +1 -1
  265. package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
  266. package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
  267. package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
  268. package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
  269. package/dist/types/{preview → history}/trace/types.d.ts +1 -1
  270. package/dist/types/history/types.d.ts +2 -3
  271. package/dist/types/model/errors/base.d.ts +28 -0
  272. package/dist/types/model/errors/index.d.ts +7 -0
  273. package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
  274. package/dist/types/model/errors/operation-errors.d.ts +216 -0
  275. package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
  276. package/dist/types/model/errors/prepare-errors.d.ts +131 -0
  277. package/dist/types/model/errors/preview-errors.d.ts +72 -0
  278. package/dist/types/model/index.d.ts +11 -4
  279. package/dist/types/model/opportunities.d.ts +3 -2
  280. package/dist/types/model/positions.d.ts +2 -2
  281. package/dist/types/model/previews.d.ts +52 -113
  282. package/dist/types/model/result.d.ts +4 -8
  283. package/dist/types/model/rwa.d.ts +143 -0
  284. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
  285. package/dist/types/onchain/accounts/index.d.ts +2 -4
  286. package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
  287. package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
  288. package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
  289. package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
  290. package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
  291. package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
  292. package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
  293. package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
  294. package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
  295. package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
  296. package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
  297. package/dist/types/onchain/accounts/types.d.ts +2 -1
  298. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
  299. package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
  300. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
  301. package/dist/types/onchain/index.d.ts +68 -13
  302. package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
  303. package/dist/types/onchain/market/adapters/index.d.ts +2 -1
  304. package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
  305. package/dist/types/onchain/market/credit/CreditSuite.d.ts +20 -8
  306. package/dist/types/onchain/market/credit/index.d.ts +2 -2
  307. package/dist/types/onchain/market/credit/types.d.ts +11 -1
  308. package/dist/types/onchain/market/index.d.ts +6 -7
  309. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
  310. package/dist/types/onchain/market/oracle/index.d.ts +1 -2
  311. package/dist/types/onchain/market/oracle/types.d.ts +1 -1
  312. package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
  313. package/dist/types/onchain/market/rwa/index.d.ts +4 -4
  314. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +3 -2
  315. package/dist/types/onchain/market/rwa/securitize/constants.d.ts +1 -2
  316. package/dist/types/onchain/market/rwa/securitize/index.d.ts +3 -3
  317. package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
  318. package/dist/types/onchain/market/rwa/types.d.ts +6 -32
  319. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
  320. package/dist/types/onchain/market/zapper/index.d.ts +1 -2
  321. package/dist/types/onchain/market/zapper/types.d.ts +1 -1
  322. package/dist/types/onchain/pools/types.d.ts +2 -2
  323. package/dist/types/onchain/preview/index.d.ts +24 -0
  324. package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
  325. package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
  326. package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
  327. package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
  328. package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
  329. package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
  330. package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
  331. package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
  332. package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
  333. package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
  334. package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
  335. package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
  336. package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
  337. package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
  338. package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
  339. package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
  340. package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
  341. package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
  342. package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
  343. package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
  344. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
  345. package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
  346. package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
  347. package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
  348. package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
  349. package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
  350. package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
  351. package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
  352. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
  353. package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
  354. package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
  355. package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
  356. package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
  357. package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
  358. package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
  359. package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
  360. package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
  361. package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
  362. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
  363. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
  364. package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
  365. package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
  366. package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
  367. package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
  368. package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
  369. package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
  370. package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
  371. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
  372. package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
  373. package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
  374. package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
  375. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
  376. package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
  377. package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
  378. package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
  379. package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
  380. package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
  381. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
  382. package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
  383. package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
  384. package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
  385. package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
  386. package/dist/types/onchain/validation/checks/index.d.ts +16 -0
  387. package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
  388. package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
  389. package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
  390. package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
  391. package/dist/types/onchain/validation/index.d.ts +43 -4
  392. package/dist/types/onchain/validation/raise.d.ts +33 -0
  393. package/dist/types/sdk/execute/types.d.ts +2 -2
  394. package/dist/types/sdk/index.d.ts +5 -6
  395. package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
  396. package/dist/types/sdk/liquidations/types.d.ts +8 -0
  397. package/dist/types/sdk/prepare/PrepareApi.d.ts +5 -4
  398. package/dist/types/sdk/prepare/index.d.ts +5 -5
  399. package/dist/types/sdk/prepare/types.d.ts +41 -22
  400. package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
  401. package/dist/types/sdk/preview/index.d.ts +2 -2
  402. package/dist/types/sdk/preview/types.d.ts +30 -7
  403. package/package.json +1 -6
  404. package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  405. package/dist/cjs/onchain/market/zapper/errors.js +0 -1
  406. package/dist/cjs/onchain/validation/checks.js +0 -258
  407. package/dist/cjs/onchain/validation/refusal.js +0 -39
  408. package/dist/cjs/preview/index.js +0 -86
  409. package/dist/cjs/preview/package.json +0 -1
  410. package/dist/cjs/preview/parse/errors.js +0 -1
  411. package/dist/cjs/preview/parse/index.js +0 -15
  412. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
  413. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
  414. package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
  415. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
  416. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
  417. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
  418. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
  419. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
  420. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
  421. package/dist/cjs/preview/prerequisites/helpers.js +0 -23
  422. package/dist/cjs/preview/prerequisites/index.js +0 -12
  423. package/dist/cjs/preview/preview/errors.js +0 -85
  424. package/dist/cjs/preview/preview/index.js +0 -33
  425. package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
  426. package/dist/cjs/preview/preview/previewOperation.js +0 -100
  427. package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
  428. package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
  429. package/dist/cjs/preview/preview/replayMulticall.js +0 -19
  430. package/dist/cjs/preview/simulate/errors.js +0 -73
  431. package/dist/cjs/preview/simulate/index.js +0 -11
  432. package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
  433. package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
  434. package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
  435. package/dist/cjs/preview/simulate/types.js +0 -1
  436. package/dist/cjs/preview/trace/index.js +0 -14
  437. package/dist/cjs/preview/trace/types.js +0 -1
  438. package/dist/cjs/preview/types.js +0 -1
  439. package/dist/cjs/preview/validate/checkOperation.js +0 -187
  440. package/dist/cjs/preview/validate/checkSimulation.js +0 -39
  441. package/dist/cjs/preview/validate/index.js +0 -8
  442. package/dist/cjs/sdk/prepare/errors.js +0 -114
  443. package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  444. package/dist/esm/onchain/market/zapper/errors.js +0 -1
  445. package/dist/esm/onchain/validation/checks.js +0 -238
  446. package/dist/esm/onchain/validation/refusal.js +0 -36
  447. package/dist/esm/preview/index.js +0 -38
  448. package/dist/esm/preview/package.json +0 -1
  449. package/dist/esm/preview/parse/errors.js +0 -1
  450. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
  451. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
  452. package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
  453. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
  454. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
  455. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
  456. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
  457. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
  458. package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
  459. package/dist/esm/preview/prerequisites/helpers.js +0 -22
  460. package/dist/esm/preview/prerequisites/index.js +0 -7
  461. package/dist/esm/preview/preview/errors.js +0 -79
  462. package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
  463. package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
  464. package/dist/esm/preview/preview/replayMulticall.js +0 -18
  465. package/dist/esm/preview/simulate/errors.js +0 -71
  466. package/dist/esm/preview/simulate/index.js +0 -6
  467. package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
  468. package/dist/esm/preview/simulate/simulateOperation.js +0 -28
  469. package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
  470. package/dist/esm/preview/simulate/types.js +0 -1
  471. package/dist/esm/preview/trace/types.js +0 -1
  472. package/dist/esm/preview/types.js +0 -1
  473. package/dist/esm/preview/validate/checkOperation.js +0 -183
  474. package/dist/esm/preview/validate/checkSimulation.js +0 -38
  475. package/dist/esm/preview/validate/index.js +0 -3
  476. package/dist/esm/sdk/prepare/errors.js +0 -108
  477. package/dist/types/model/errors.d.ts +0 -46
  478. package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
  479. package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
  480. package/dist/types/onchain/validation/checks.d.ts +0 -164
  481. package/dist/types/onchain/validation/refusal.d.ts +0 -242
  482. package/dist/types/preview/index.d.ts +0 -47
  483. package/dist/types/preview/parse/errors.d.ts +0 -29
  484. package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
  485. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
  486. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
  487. package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
  488. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
  489. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
  490. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
  491. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
  492. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
  493. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
  494. package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
  495. package/dist/types/preview/prerequisites/index.d.ts +0 -7
  496. package/dist/types/preview/prerequisites/types.d.ts +0 -53
  497. package/dist/types/preview/preview/errors.d.ts +0 -44
  498. package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
  499. package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
  500. package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
  501. package/dist/types/preview/preview/previewOperation.d.ts +0 -32
  502. package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
  503. package/dist/types/preview/simulate/errors.d.ts +0 -52
  504. package/dist/types/preview/simulate/index.d.ts +0 -7
  505. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
  506. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
  507. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
  508. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
  509. package/dist/types/preview/simulate/types.d.ts +0 -48
  510. package/dist/types/preview/types.d.ts +0 -65
  511. package/dist/types/preview/validate/checkOperation.d.ts +0 -71
  512. package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
  513. package/dist/types/preview/validate/index.d.ts +0 -3
  514. package/dist/types/sdk/prepare/errors.d.ts +0 -343
  515. /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
  516. /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
  517. /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  518. /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
  519. /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
  520. /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  521. /package/dist/esm/{preview → history}/trace/index.js +0 -0
  522. /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
  523. /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
  524. /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  525. /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
  526. /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
  527. /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  528. /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
@@ -4,6 +4,7 @@ import { DataResponse } from "../../model/response.js";
4
4
  import "../../model/index.js";
5
5
  import { MultichainSDK } from "../../onchain/MultichainSDK.js";
6
6
  import { BuildLiquidationTxProps, GetLiquidatableAccountsProps, GetLiquidationDetailsProps, GetLiquidationPositionsProps } from "../../onchain/accounts/liquidations/types.js";
7
+ import { CheckLiquidationInput, CheckLiquidationOptions, LiquidationValidationError } from "../../onchain/validation/checkLiquidation.js";
7
8
  import "../../onchain/index.js";
8
9
  import { ILiquidations } from "./types.js";
9
10
  import { NamespaceOptions } from "../types.js";
@@ -30,6 +31,10 @@ declare class LiquidationsNamespace implements ILiquidations {
30
31
  * {@inheritDoc ILiquidations.getLiquidationPositions}
31
32
  **/
32
33
  getLiquidationPositions(props: GetLiquidationPositionsProps<true>): Promise<DataResponse<LiquidationPosition[]>>;
34
+ /**
35
+ * {@inheritDoc ILiquidations.checkLiquidation}
36
+ **/
37
+ checkLiquidation(props: CheckLiquidationInput, options?: CheckLiquidationOptions): Promise<LiquidationValidationError[]>;
33
38
  }
34
39
  //#endregion
35
40
  export { LiquidationsNamespace };
@@ -3,6 +3,7 @@ import { LiquidatableAccount, LiquidationDetails, LiquidationPosition } from "..
3
3
  import { DataResponse } from "../../model/response.js";
4
4
  import "../../model/index.js";
5
5
  import { BuildLiquidationTxProps, GetLiquidatableAccountsProps, GetLiquidationDetailsProps, GetLiquidationPositionsProps } from "../../onchain/accounts/liquidations/types.js";
6
+ import { CheckLiquidationInput, CheckLiquidationOptions, LiquidationValidationError } from "../../onchain/validation/checkLiquidation.js";
6
7
  import "../../onchain/index.js";
7
8
  //#region src/sdk/liquidations/types.d.ts
8
9
  /**
@@ -30,6 +31,13 @@ interface ILiquidations {
30
31
  * wallet, optionally scoped to some of the SDK's chains.
31
32
  **/
32
33
  getLiquidationPositions(props: GetLiquidationPositionsProps<true>): Promise<DataResponse<LiquidationPosition[]>>;
34
+ /**
35
+ * Whether `liquidator` may send a full liquidation of this account.
36
+ *
37
+ * `details` must come from {@link ILiquidations.getLiquidationDetails} called
38
+ * with the same `liquidator`.
39
+ **/
40
+ checkLiquidation(props: CheckLiquidationInput, options?: CheckLiquidationOptions): Promise<LiquidationValidationError[]>;
33
41
  }
34
42
  /**
35
43
  * `sdk.liquidations` per mode: an on-chain read, absent when the SDK reads no
@@ -1,4 +1,6 @@
1
1
  import { Bps, ChainId } from "../../model/primitives.js";
2
+ import { DebtOutOfRangeError, InsufficientPoolLiquidityError, LeverageOutOfRangeError } from "../../model/errors/operation-errors.js";
3
+ import { CreditAccountNotEmptyError, CreditAccountNotFoundError, EmptyOpenTakesNothingError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithdrawalInProgressError } from "../../model/errors/prepare-errors.js";
2
4
  import { PositionCollateral, StrategyPosition } from "../../model/positions.js";
3
5
  import { SDKReturn } from "../../model/result.js";
4
6
  import "../../model/index.js";
@@ -9,8 +11,7 @@ import { MultichainConstruct } from "../../onchain/base/MultichainConstruct.js";
9
11
  import { LeverageBand } from "../../onchain/accounts/intents/leverage-band.js";
10
12
  import { WithdrawCeilings } from "../../onchain/accounts/intents/types.js";
11
13
  import "../../onchain/index.js";
12
- import { AccountFlowError, CreditAccountNotEmptyError, CreditAccountNotFoundError, DebtOutOfRangeError, EmptyOpenTakesNothingError, InsufficientPoolLiquidityError, LeverageOutOfRangeError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, OpenFlowError, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, WithdrawalInProgressError } from "./errors.js";
13
- import { AddCollateralParams, AdjustLeverageParams, DepositStrategyParams, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, LpParams, LpRedeemParams, LpResult, OpenStrategyParams, OpenStrategyResult, PoolInput, PositionInput, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, WithdrawCollateralParams, WithdrawStrategyParams } from "./types.js";
14
+ import { AccountFlowError, AddCollateralParams, AdjustLeverageParams, DepositStrategyParams, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, LpParams, LpRedeemParams, LpResult, OpenFlowError, OpenStrategyParams, OpenStrategyResult, PoolInput, PositionInput, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, WithRouteErrors, WithdrawCollateralParams, WithdrawStrategyParams } from "./types.js";
14
15
  import { EnsureFreshChains } from "../types.js";
15
16
  import { Address } from "viem";
16
17
  //#region src/sdk/prepare/PrepareApi.d.ts
@@ -73,7 +74,7 @@ declare class PrepareApi extends MultichainConstruct implements IOpportunitiesPr
73
74
  /**
74
75
  * {@inheritDoc IOpportunitiesPrepare.withdrawStrategy}
75
76
  **/
76
- withdrawStrategy(position: PositionInput, params: WithdrawStrategyParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError) & WithRouteRefusals>>;
77
+ withdrawStrategy(position: PositionInput, params: WithdrawStrategyParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError) & WithRouteErrors>>;
77
78
  /**
78
79
  * {@inheritDoc IOpportunitiesPrepare.maxWithdraw}
79
80
  **/
@@ -89,7 +90,7 @@ declare class PrepareApi extends MultichainConstruct implements IOpportunitiesPr
89
90
  /**
90
91
  * {@inheritDoc IOpportunitiesPrepare.adjustLeverage}
91
92
  **/
92
- adjustLeverage(position: PositionInput, params: AdjustLeverageParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError | InsufficientPoolLiquidityError | LeverageOutOfRangeError) & WithRouteRefusals>>;
93
+ adjustLeverage(position: PositionInput, params: AdjustLeverageParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError | InsufficientPoolLiquidityError | LeverageOutOfRangeError) & WithRouteErrors>>;
93
94
  /**
94
95
  * {@inheritDoc IOpportunitiesPrepare.addCollateral}
95
96
  **/
@@ -1,7 +1,7 @@
1
- import { BorrowLimitBinding, IntentPreviewError, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewRefusal, raise, refuse } from "../../onchain/validation/refusal.js";
1
+ import { CreditAccountNotEmptyError, CreditAccountNotFoundError, EmptyOpenTakesNothingError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithdrawalInProgressError, creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, unexpectedFailure } from "../../model/errors/prepare-errors.js";
2
+ import "../../model/index.js";
2
3
  import { LeverageBand } from "../../onchain/accounts/intents/leverage-band.js";
3
- import { OperationState, PathLossRate, WithdrawCeilings } from "../../onchain/accounts/intents/types.js";
4
- import { AccountFlowError, CreditAccountNotEmptyError, CreditAccountNotFoundError, DebtOutOfRangeError, EmptyOpenTakesNothingError, ForbiddenTokenError, InsufficientCollateralError, InsufficientPoolLiquidityError, InsufficientSourceBalanceError, LeverageOutOfRangeError, MalformedTransactionError, MarketExpiredError, MarketPausedError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, OpenFlowError, PoolSunsetError, QuotaCountExceededError, QuotaLimitReachedError, RefusalErrors, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, WithdrawalInProgressError, creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, toRefusalError, unexpectedFailure } from "./errors.js";
5
- import { AddCollateralParams, AdjustLeverageParams, DelayedStrategyResult, DepositStrategyParams, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, LpParams, LpRedeemParams, LpResult, LpState, OpenStrategyParams, OpenStrategyResult, PoolInput, PositionInput, PrepareOptions, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, WithdrawCollateralParams, WithdrawStrategyParams } from "./types.js";
4
+ import { OperationState, PathLossRate, RouteErrors, WithdrawCeilings } from "../../onchain/accounts/intents/types.js";
5
+ import { AccountFlowError, AddCollateralParams, AdjustLeverageParams, DelayedStrategyResult, DepositStrategyParams, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, LpParams, LpRedeemParams, LpResult, LpState, OpenFlowError, OpenStrategyParams, OpenStrategyResult, PoolInput, PositionInput, PrepareOptions, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, WithRouteErrors, WithdrawCollateralParams, WithdrawStrategyParams } from "./types.js";
6
6
  import { ChainOf, PrepareApi } from "./PrepareApi.js";
7
- export { AccountFlowError, AddCollateralParams, AdjustLeverageParams, BorrowLimitBinding, ChainOf, CreditAccountNotEmptyError, CreditAccountNotFoundError, DebtOutOfRangeError, DelayedStrategyResult, DepositStrategyParams, EmptyOpenTakesNothingError, FinalizeParams, FinalizeResult, ForbiddenTokenError, IOpportunitiesPrepare, InsufficientCollateralError, InsufficientPoolLiquidityError, InsufficientSourceBalanceError, IntentPreviewError, type LeverageBand, LeverageOutOfRangeError, LpParams, LpRedeemParams, LpResult, LpState, MalformedTransactionError, MarketExpiredError, MarketPausedError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, OpenFlowError, OpenStrategyParams, OpenStrategyResult, type OperationState, type PathLossRate, PoolInput, PoolSunsetError, PositionInput, PrepareApi, PrepareOptions, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewRefusal, QuotaCountExceededError, QuotaLimitReachedError, RefusalErrors, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, type WithdrawCeilings, WithdrawCollateralParams, WithdrawStrategyParams, WithdrawalInProgressError, creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, raise, refuse, toRefusalError, unexpectedFailure };
7
+ export { AccountFlowError, AddCollateralParams, AdjustLeverageParams, ChainOf, type CreditAccountNotEmptyError, type CreditAccountNotFoundError, DelayedStrategyResult, DepositStrategyParams, type EmptyOpenTakesNothingError, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, type LeverageBand, LpParams, LpRedeemParams, LpResult, LpState, type MultipleDelayedWithdrawalsError, type NoDelayedRouteError, type NoRecordedIntentError, type NoStrategyTargetCollateralError, OpenFlowError, OpenStrategyParams, OpenStrategyResult, type OperationState, type PathLossRate, PoolInput, PositionInput, PrepareApi, PrepareOptions, RepayStrategyParams, type RouteErrors, StrategyInput, StrategyResult, StrategyRoutesResult, type UnexpectedFailureError, type UnsupportedCollateralTokenError, type UnsupportedTokenPairError, WithRouteErrors, type WithdrawCeilings, WithdrawCollateralParams, WithdrawStrategyParams, type WithdrawalInProgressError, creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, unexpectedFailure };
@@ -1,5 +1,7 @@
1
1
  import { Bps, Timestamp, TokenAmount } from "../../model/primitives.js";
2
2
  import { Curator } from "../../model/curators.js";
3
+ import { CreditManagerPausedError, DebtOutOfRangeError, ForbiddenTokenError, InsufficientBalanceError, InsufficientCollateralError, InsufficientPoolLiquidityError, LeverageOutOfRangeError, MarketExpiredError, QuotaLimitReachedError } from "../../model/errors/operation-errors.js";
4
+ import { CreditAccountNotEmptyError, CreditAccountNotFoundError, EmptyOpenTakesNothingError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithdrawalInProgressError } from "../../model/errors/prepare-errors.js";
3
5
  import { PoolOpportunityKey, StrategyOpportunityKey } from "../../model/opportunities.js";
4
6
  import { PositionCollateral, StrategyPosition, StrategyPositionKey } from "../../model/positions.js";
5
7
  import { SDKReturn } from "../../model/result.js";
@@ -8,15 +10,32 @@ import "../../model/index.js";
8
10
  import { Asset } from "../../onchain/base/types.js";
9
11
  import { MultiCall } from "../../onchain/types/transactions.js";
10
12
  import { PoolSimulation } from "../../onchain/pools/types.js";
11
- import { BorrowLimitBinding, IntentPreviewError, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewRefusal, raise, refuse } from "../../onchain/validation/refusal.js";
12
13
  import { LeverageBand } from "../../onchain/accounts/intents/leverage-band.js";
13
14
  import { AccountCalculatorOperation } from "../../onchain/accounts/intents/operations.js";
14
- import { ClaimRemainder, DelayedStart, OperationState, PathLossRate, ResumableIntent, RouteRefusals, WithdrawCeilings } from "../../onchain/accounts/intents/types.js";
15
+ import { ClaimRemainder, DelayedStart, OperationState, PathLossRate, ResumableIntent, RouteErrors, WithdrawCeilings } from "../../onchain/accounts/intents/types.js";
15
16
  import { OpenStrategyState } from "../../onchain/accounts/intents/open-strategy.js";
16
17
  import "../../onchain/index.js";
17
- import { AccountFlowError, CreditAccountNotEmptyError, CreditAccountNotFoundError, DebtOutOfRangeError, EmptyOpenTakesNothingError, InsufficientPoolLiquidityError, LeverageOutOfRangeError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, OpenFlowError, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, WithdrawalInProgressError } from "./errors.js";
18
18
  import { Address } from "viem";
19
19
  //#region src/sdk/prepare/types.d.ts
20
+ /**
21
+ * What any operation on an existing account can answer with: the engine's
22
+ * shared guards, the missing account, and a wrapped crash.
23
+ **/
24
+ type AccountFlowError = CreditManagerPausedError | MarketExpiredError | ForbiddenTokenError | QuotaLimitReachedError | InsufficientCollateralError | InsufficientBalanceError | CreditAccountNotFoundError | UnexpectedFailureError;
25
+ /** Same guards for the account-less open flow. */
26
+ type OpenFlowError = CreditManagerPausedError | MarketExpiredError | ForbiddenTokenError | QuotaLimitReachedError | InsufficientCollateralError | InsufficientBalanceError | UnexpectedFailureError;
27
+ /**
28
+ * What every error of a two-route request carries on top of its own code,
29
+ * see {@link StrategyRoutesResult}.
30
+ *
31
+ * `errors` says why each route is missing, which is the answer a form needs
32
+ * even when neither exists: the error itself is the instant route's — the one
33
+ * a caller can usually act on — or the delayed route's when the instant one
34
+ * did not get far enough to have a reason of its own.
35
+ **/
36
+ interface WithRouteErrors {
37
+ errors: RouteErrors;
38
+ }
20
39
  /**
21
40
  * Where a pool operation leaves the wallet: the two sides of the trade as
22
41
  * `sdk.pools` prices them, plus what a screen needs beside them and the raw
@@ -104,7 +123,7 @@ interface StrategyResult {
104
123
  **/
105
124
  interface FinalizeResult extends StrategyResult {
106
125
  /**
107
- * What the claim did not bring, when the venue paid out part of the matured
126
+ * What the claim did not bring, when the venue settled part of the matured
108
127
  * withdrawal and left the rest of it queued — only a legacy Mellow multivault
109
128
  * does. `undefined` everywhere else, which is the normal case: one request,
110
129
  * one claim, one tail.
@@ -164,27 +183,27 @@ interface DelayedStrategyResult {
164
183
  * Whether the account can sell that asset on the router, redeem it through its
165
184
  * issuer, or both, is not something the caller can know up front, so both routes
166
185
  * are quoted from one request. A route the account cannot take is `undefined`
167
- * with its refusal in `refused`, which is what lets a form offer exactly the
186
+ * with its error in `errors`, which is what lets a form offer exactly the
168
187
  * routes that exist; a failure means neither does, and the error still carries
169
- * `refused`, see {@link WithRouteRefusals}.
188
+ * `errors`, see {@link WithRouteErrors}.
170
189
  **/
171
190
  interface StrategyRoutesResult {
172
191
  /**
173
192
  * The router route: one transaction, settled on the spot. `undefined`
174
- * when the asset cannot be sold, see `refused.instant`.
193
+ * when the asset cannot be sold, see `errors.instant`.
175
194
  **/
176
195
  instant: StrategyResult | undefined;
177
196
  /**
178
197
  * The request half of the redemption route, which
179
198
  * {@link IOpportunitiesPrepare.finalize} completes once it matures.
180
199
  * `undefined` when the route does not exist — no redemption venue for the
181
- * asset, or a request that settles at once anyway — see `refused.delayed`.
200
+ * asset, or a request that settles at once anyway — see `errors.delayed`.
182
201
  **/
183
202
  delayed: DelayedStrategyResult | undefined;
184
203
  /**
185
- * Why a missing route was refused, see {@link RouteRefusals}.
204
+ * Why a missing route is missing, see {@link RouteErrors}.
186
205
  **/
187
- refused: RouteRefusals;
206
+ errors: RouteErrors;
188
207
  /** Block of the chain state this result was computed from. */
189
208
  blockNumber: number;
190
209
  /** Unix seconds of {@link blockNumber}. */
@@ -261,7 +280,7 @@ interface WithdrawStrategyParams extends PrepareOptions {
261
280
  * see {@link IOpportunitiesPrepare.withdrawStrategy}.
262
281
  **/
263
282
  amount: bigint;
264
- /** Wallet receiving the payout. */
283
+ /** Token recipient. */
265
284
  to: Address;
266
285
  /**
267
286
  * Token the wallet receives. Defaults to the market underlying, force-unwrapped
@@ -374,7 +393,7 @@ interface LpParams {
374
393
  tokenIn?: Address;
375
394
  /**
376
395
  * Token the user receives. Defaults to the only route available for `tokenIn`;
377
- * required when the pool offers several, otherwise the preparation is refused
396
+ * required when the pool offers several, otherwise the preparation answers
378
397
  * with `unsupportedTokenPair`.
379
398
  **/
380
399
  tokenOut?: Address;
@@ -418,11 +437,11 @@ interface FinalizeParams extends PrepareOptions {
418
437
  * pathfinder for real swap paths. Nothing is executed and nothing is signed —
419
438
  * the result is the numbers plus the calldata that would produce them.
420
439
  *
421
- * Not to be confused with `src/preview`, which goes the other way: it takes
440
+ * Not to be confused with `src/onchain/preview`, which goes the other way: it takes
422
441
  * calldata that already exists and reports what it would do.
423
442
  *
424
443
  * Every refusable method answers `SDKReturn` and names, in its own signature,
425
- * exactly the errors its flow can refuse with — the union is the list of
444
+ * exactly the errors its flow can answer with — the union is the list of
426
445
  * everything a caller has to handle, checked by the compiler. None of them
427
446
  * throws: a chain that cannot be reached or a crash on the way arrives as
428
447
  * `unexpectedFailure` with the cause attached.
@@ -494,7 +513,7 @@ interface IOpportunitiesPrepare {
494
513
  * @see withdrawCollateral to move an asset out without touching debt, which
495
514
  * raises leverage instead.
496
515
  **/
497
- withdrawStrategy(position: PositionInput, params: WithdrawStrategyParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError) & WithRouteRefusals>>;
516
+ withdrawStrategy(position: PositionInput, params: WithdrawStrategyParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError) & WithRouteErrors>>;
498
517
  /**
499
518
  * How much {@link withdrawStrategy} can take out, both ends of it, in
500
519
  * underlying units: `partial` is the largest withdrawal that keeps leverage
@@ -548,9 +567,9 @@ interface IOpportunitiesPrepare {
548
567
  * Answers with both routes, like {@link withdrawStrategy}, since deleveraging
549
568
  * sells the position token and may only be able to redeem it. Raising leverage
550
569
  * buys instead, so there the delayed route is always absent with
551
- * `refused.delayed: "noDelayedRoute"`.
570
+ * `errors.delayed` set to `noDelayedRoute`.
552
571
  **/
553
- adjustLeverage(position: PositionInput, params: AdjustLeverageParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError | InsufficientPoolLiquidityError | LeverageOutOfRangeError) & WithRouteRefusals>>;
572
+ adjustLeverage(position: PositionInput, params: AdjustLeverageParams): Promise<SDKReturn<StrategyRoutesResult, (AccountFlowError | DebtOutOfRangeError | UnsupportedTokenPairError | NoDelayedRouteError | MultipleDelayedWithdrawalsError | WithdrawalInProgressError | InsufficientPoolLiquidityError | LeverageOutOfRangeError) & WithRouteErrors>>;
554
573
  /**
555
574
  * Putting the position token onto the account at fixed debt, which lowers
556
575
  * leverage and raises the health factor.
@@ -571,7 +590,7 @@ interface IOpportunitiesPrepare {
571
590
  * `maxLeverage` on the opportunity is the ceiling the liquidation threshold
572
591
  * allows, and it is the same number whatever the deposit. What a given
573
592
  * deposit reaches is decided by the debt it implies —
574
- * `debt = netValue x (leverage - 1)` — and by the band the market puts that
593
+ * `debt = netValue x (leverage - 1)` — and by the `debtLimits` the market puts that
575
594
  * debt in.
576
595
  *
577
596
  * Synchronous, unlike the ceilings above it: those read the account from the
@@ -580,7 +599,7 @@ interface IOpportunitiesPrepare {
580
599
  * opening takes the tokens being deposited, adjusting the position's own net
581
600
  * value in the underlying.
582
601
  *
583
- * Nothing at all when the market has no band to offer: a deposit too small
602
+ * Nothing at all when the market has no range to offer: a deposit too small
584
603
  * to carry `minDebt` at any leverage the threshold allows, or a manager with
585
604
  * no borrowing room left. Not the same answer as "every leverage works", and
586
605
  * a caller must not mark a range for it.
@@ -612,7 +631,7 @@ interface IOpportunitiesPrepare {
612
631
  * withdraw-collateral form should offer.
613
632
  *
614
633
  * `targetHF` names the health factor to leave the account at, in basis
615
- * points; omitted, the SDK holds it to the bar a form would.
634
+ * points; omitted, the SDK holds it to the threshold a form would.
616
635
  *
617
636
  * A bare read: it answers its number, and throws on an account or a chain
618
637
  * the SDK does not hold.
@@ -636,11 +655,11 @@ interface IOpportunitiesPrepare {
636
655
  * Reports `noRecordedIntent` when the claim names no operation to resume.
637
656
  *
638
657
  * A claim can settle only part of what was queued — a legacy Mellow
639
- * multivault pays out what it holds liquid and re-queues the rest — and then
658
+ * multivault hands over what it holds liquid and re-queues the rest — and then
640
659
  * the result serves that share and `remainder` says what is left, see
641
660
  * {@link FinalizeResult.remainder}.
642
661
  **/
643
662
  finalize(position: PositionInput, params: FinalizeParams): Promise<SDKReturn<FinalizeResult, AccountFlowError | NoRecordedIntentError | NoDelayedRouteError | WithdrawalInProgressError | UnsupportedTokenPairError>>;
644
663
  }
645
664
  //#endregion
646
- export { AddCollateralParams, AdjustLeverageParams, BorrowLimitBinding, DelayedStrategyResult, DepositStrategyParams, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, IntentPreviewError, type LeverageBand, LpParams, LpRedeemParams, LpResult, LpState, OpenStrategyParams, OpenStrategyResult, type OperationState, type PathLossRate, PoolInput, PositionInput, PrepareOptions, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewRefusal, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, type WithdrawCeilings, WithdrawCollateralParams, WithdrawStrategyParams, raise, refuse };
665
+ export { AccountFlowError, AddCollateralParams, AdjustLeverageParams, type CreditAccountNotEmptyError, type CreditAccountNotFoundError, DelayedStrategyResult, DepositStrategyParams, type EmptyOpenTakesNothingError, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, type LeverageBand, LpParams, LpRedeemParams, LpResult, LpState, type MultipleDelayedWithdrawalsError, type NoDelayedRouteError, type NoRecordedIntentError, type NoStrategyTargetCollateralError, OpenFlowError, OpenStrategyParams, OpenStrategyResult, type OperationState, type PathLossRate, PoolInput, PositionInput, PrepareOptions, RepayStrategyParams, type RouteErrors, StrategyInput, StrategyResult, StrategyRoutesResult, type UnexpectedFailureError, type UnsupportedCollateralTokenError, type UnsupportedTokenPairError, WithRouteErrors, type WithdrawCeilings, WithdrawCollateralParams, WithdrawStrategyParams, type WithdrawalInProgressError };
@@ -2,10 +2,12 @@ import { OperationPreview, PreviewOperationInput, PreviewOperationOptions } from
2
2
  import { SDKReturn } from "../../model/result.js";
3
3
  import "../../model/index.js";
4
4
  import { MultichainSDK } from "../../onchain/MultichainSDK.js";
5
+ import { PreviewOperationError } from "../../onchain/preview/preview/previewOperation.js";
6
+ import { HealthFactorThresholds } from "../../onchain/validation/bundles/checkHealthFactors.js";
7
+ import { CheckOperationOptions, OperationValidationError } from "../../onchain/validation/checkOperation.js";
8
+ import { CheckSimulationInput, SimulationValidationError } from "../../onchain/validation/checkSimulation.js";
5
9
  import "../../onchain/index.js";
6
- import { PreviewOperationError } from "../../preview/preview/previewOperation.js";
7
- import "../../preview/index.js";
8
- import { IPreview } from "./types.js";
10
+ import { CheckOperationProps, IPreview } from "./types.js";
9
11
  import { NamespaceOptions } from "../types.js";
10
12
  //#region src/sdk/preview/PreviewNamespace.d.ts
11
13
  /**
@@ -18,6 +20,14 @@ declare class PreviewNamespace implements IPreview {
18
20
  * {@inheritDoc IPreview.previewOperation}
19
21
  **/
20
22
  previewOperation(input: PreviewOperationInput, options?: PreviewOperationOptions): Promise<SDKReturn<OperationPreview, PreviewOperationError>>;
23
+ /**
24
+ * {@inheritDoc IPreview.checkOperation}
25
+ **/
26
+ checkOperation(props: CheckOperationProps, options?: CheckOperationOptions): Promise<OperationValidationError[]>;
27
+ /**
28
+ * {@inheritDoc IPreview.checkSimulation}
29
+ **/
30
+ checkSimulation(props: CheckSimulationInput, options?: HealthFactorThresholds): Promise<SimulationValidationError[]>;
21
31
  }
22
32
  //#endregion
23
33
  export { PreviewNamespace };
@@ -1,3 +1,3 @@
1
- import { IPreview, IPreviewByMode } from "./types.js";
1
+ import { CheckOperationProps, IPreview, IPreviewByMode } from "./types.js";
2
2
  import { PreviewNamespace } from "./PreviewNamespace.js";
3
- export { IPreview, IPreviewByMode, PreviewNamespace };
3
+ export { CheckOperationProps, IPreview, IPreviewByMode, PreviewNamespace };
@@ -1,20 +1,43 @@
1
+ import { ChainId } from "../../model/primitives.js";
1
2
  import { OperationPreview, PreviewOperationInput, PreviewOperationOptions } from "../../model/previews.js";
2
3
  import { SDKReturn } from "../../model/result.js";
3
4
  import "../../model/index.js";
4
- import { PreviewOperationError } from "../../preview/preview/previewOperation.js";
5
- import "../../preview/index.js";
5
+ import { PreviewOperationError } from "../../onchain/preview/preview/previewOperation.js";
6
+ import { HealthFactorThresholds } from "../../onchain/validation/bundles/checkHealthFactors.js";
7
+ import { CheckOperationInput, CheckOperationOptions, OperationValidationError } from "../../onchain/validation/checkOperation.js";
8
+ import { CheckSimulationInput, SimulationValidationError } from "../../onchain/validation/checkSimulation.js";
9
+ import "../../onchain/index.js";
6
10
  //#region src/sdk/preview/types.d.ts
7
11
  /**
8
- * On-chain preview of a raw operation calldata.
12
+ * Parsed-operation check on the namespace: the standalone input minus `sdk`,
13
+ * plus the chain to resolve it on. `OperationPreview` only names the chain
14
+ * inside a token, so `chainId` is required.
15
+ **/
16
+ type CheckOperationProps = Omit<CheckOperationInput, "sdk"> & {
17
+ chainId: ChainId;
18
+ };
19
+ /**
20
+ * On-chain preview of a raw operation calldata, and checks of a parsed or
21
+ * simulated one.
9
22
  **/
10
23
  interface IPreview {
11
24
  /**
12
25
  * Decodes a raw operation and assembles an operation-specific,
13
- * human-displayable preview. A refusal of the calldata — an unsupported
14
- * target, function or operation, a foreign delayed intent, a failed
15
- * simulation — is the `ok: false` half; genuine failures still throw.
26
+ * human-displayable preview.
16
27
  **/
17
28
  previewOperation(input: PreviewOperationInput, options?: PreviewOperationOptions): Promise<SDKReturn<OperationPreview, PreviewOperationError>>;
29
+ /**
30
+ * Whether a parsed operation may be signed by `sender`: protocol state first,
31
+ * then what the wallet has to approve, hold or sign.
32
+ **/
33
+ checkOperation(props: CheckOperationProps, options?: CheckOperationOptions): Promise<OperationValidationError[]>;
34
+ /**
35
+ * Whether a simulated operation clears the caller's own thresholds.
36
+ *
37
+ * Async because the namespace refreshes chain state first; the standalone
38
+ * checker is sync.
39
+ **/
40
+ checkSimulation(props: CheckSimulationInput, options?: HealthFactorThresholds): Promise<SimulationValidationError[]>;
18
41
  }
19
42
  /**
20
43
  * `sdk.preview` per mode: an on-chain read, absent when the SDK reads no chain.
@@ -25,4 +48,4 @@ interface IPreviewByMode {
25
48
  both: IPreview;
26
49
  }
27
50
  //#endregion
28
- export { IPreview, IPreviewByMode };
51
+ export { CheckOperationProps, IPreview, IPreviewByMode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "16.2.0",
3
+ "version": "16.3.0-next.1",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -59,11 +59,6 @@
59
59
  "import": "./dist/esm/permissionless/index.js",
60
60
  "default": "./dist/cjs/permissionless/index.js"
61
61
  },
62
- "./preview": {
63
- "types": "./dist/types/preview/index.d.ts",
64
- "import": "./dist/esm/preview/index.js",
65
- "default": "./dist/cjs/preview/index.js"
66
- },
67
62
  "./rewards": {
68
63
  "types": "./dist/types/rewards/index.d.ts",
69
64
  "import": "./dist/esm/rewards/index.js",
@@ -1 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
@@ -1 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });