@gearbox-protocol/sdk 16.2.0 → 16.3.0-next.2

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 (572) hide show
  1. package/dist/cjs/abi/rwa/iMidasAccessControl.js +23 -0
  2. package/dist/cjs/abi/rwa/iMidasDegenNFT.js +92 -0
  3. package/dist/cjs/history/assembleOperations.js +3 -3
  4. package/dist/cjs/history/classifyMulticallOperations.js +7 -7
  5. package/dist/cjs/history/index.js +13 -0
  6. package/dist/cjs/history/parseCreditAccountTransaction.js +5 -5
  7. package/dist/cjs/{preview → history}/trace/errors.js +1 -1
  8. package/dist/cjs/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
  9. package/dist/cjs/{preview → history}/trace/extractTransfers.js +3 -3
  10. package/dist/cjs/{preview → history}/trace/findFacadeCalls.js +3 -3
  11. package/dist/cjs/history/trace/index.js +14 -0
  12. package/dist/cjs/model/errors/index.js +37 -0
  13. package/dist/cjs/model/errors/liquidation-errors.js +32 -0
  14. package/dist/cjs/model/errors/operation-errors.js +135 -0
  15. package/dist/cjs/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
  16. package/dist/cjs/model/errors/prepare-errors.js +108 -0
  17. package/dist/cjs/model/errors/preview-errors.js +12 -0
  18. package/dist/cjs/model/index.js +45 -2
  19. package/dist/cjs/model/opportunities.schema.js +3 -1
  20. package/dist/cjs/model/positions.js +1 -1
  21. package/dist/cjs/model/result.js +0 -8
  22. package/dist/cjs/model/rwa.js +53 -0
  23. package/dist/cjs/model/rwa.schema.js +20 -0
  24. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +1 -1
  25. package/dist/cjs/onchain/accounts/index.js +0 -2
  26. package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
  27. package/dist/cjs/onchain/accounts/intents/index.js +38 -35
  28. package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
  29. package/dist/cjs/onchain/accounts/intents/math.js +19 -15
  30. package/dist/cjs/onchain/accounts/intents/open-strategy.js +6 -4
  31. package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
  32. package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
  33. package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
  34. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  35. package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  36. package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  37. package/dist/cjs/onchain/accounts/intents/view.js +1 -1
  38. package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +2 -2
  39. package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
  40. package/dist/cjs/onchain/index.js +130 -38
  41. package/dist/cjs/onchain/market/MarketSuite.js +10 -4
  42. package/dist/cjs/onchain/market/adapters/index.js +1 -0
  43. package/dist/cjs/onchain/market/credit/CreditSuite.js +77 -15
  44. package/dist/cjs/onchain/market/index.js +8 -8
  45. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
  46. package/dist/cjs/onchain/market/oracle/index.js +0 -2
  47. package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  48. package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
  49. package/dist/cjs/onchain/market/rwa/createDegenNFT.js +53 -0
  50. package/dist/cjs/onchain/market/rwa/index.js +7 -5
  51. package/dist/cjs/onchain/market/rwa/midas/MidasDegenNFT.js +56 -0
  52. package/dist/cjs/onchain/market/rwa/midas/constants.js +2 -0
  53. package/dist/cjs/onchain/market/rwa/midas/index.js +3 -0
  54. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +22 -3
  55. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +9 -9
  56. package/dist/cjs/onchain/market/rwa/securitize/constants.js +2 -2
  57. package/dist/cjs/onchain/market/rwa/securitize/index.js +4 -3
  58. package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
  59. package/dist/cjs/onchain/market/rwa/types.js +0 -7
  60. package/dist/cjs/onchain/market/zapper/index.js +0 -1
  61. package/dist/cjs/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
  62. package/dist/cjs/onchain/opportunities/OpportunitiesService.js +11 -3
  63. package/dist/cjs/onchain/pools/PoolService.js +10 -16
  64. package/dist/cjs/onchain/preview/index.js +41 -0
  65. package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  66. package/dist/cjs/onchain/preview/parse/index.js +14 -0
  67. package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
  68. package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
  69. package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  70. package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
  71. package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
  72. package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  73. package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  74. package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  75. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  76. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  77. package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  78. package/dist/cjs/onchain/preview/preview/index.js +26 -0
  79. package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
  80. package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
  81. package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
  82. package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
  83. package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
  84. package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
  85. package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
  86. package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  87. package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
  88. package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
  89. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
  90. package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
  91. package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
  92. package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
  93. package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
  94. package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
  95. package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
  96. package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
  97. package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
  98. package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
  99. package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
  100. package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
  101. package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
  102. package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
  103. package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
  104. package/dist/cjs/onchain/validation/bundles/index.js +35 -0
  105. package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
  106. package/dist/cjs/onchain/validation/checkOperation.js +62 -0
  107. package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
  108. package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
  109. package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
  110. package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
  111. package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
  112. package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
  113. package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
  114. package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
  115. package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
  116. package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
  117. package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
  118. package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
  119. package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
  120. package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
  121. package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
  122. package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
  123. package/dist/cjs/onchain/validation/checks/index.js +31 -0
  124. package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
  125. package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
  126. package/dist/cjs/onchain/validation/helpers/index.js +11 -0
  127. package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
  128. package/dist/cjs/onchain/validation/index.js +85 -27
  129. package/dist/cjs/onchain/validation/raise.js +33 -0
  130. package/dist/cjs/sdk/index.js +6 -11
  131. package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
  132. package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +19 -4
  133. package/dist/cjs/sdk/prepare/PrepareApi.js +40 -50
  134. package/dist/cjs/sdk/prepare/index.js +7 -11
  135. package/dist/cjs/sdk/prepare/types.js +0 -4
  136. package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
  137. package/dist/esm/abi/rwa/iMidasAccessControl.js +22 -0
  138. package/dist/esm/abi/rwa/iMidasDegenNFT.js +91 -0
  139. package/dist/esm/dev/AccountOpener.js +1 -1
  140. package/dist/esm/dev/withdrawalUtils.js +1 -1
  141. package/dist/esm/history/assembleOperations.js +2 -2
  142. package/dist/esm/history/classifyMulticallOperations.js +2 -2
  143. package/dist/esm/history/index.js +6 -1
  144. package/dist/esm/history/parseCreditAccountTransaction.js +3 -3
  145. package/dist/esm/{preview → history}/trace/errors.js +1 -1
  146. package/dist/esm/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
  147. package/dist/esm/{preview → history}/trace/extractTransfers.js +2 -2
  148. package/dist/esm/{preview → history}/trace/findFacadeCalls.js +1 -1
  149. package/dist/esm/model/errors/index.js +7 -0
  150. package/dist/esm/model/errors/liquidation-errors.js +29 -0
  151. package/dist/esm/model/errors/operation-errors.js +121 -0
  152. package/dist/esm/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
  153. package/dist/esm/model/errors/prepare-errors.js +97 -0
  154. package/dist/esm/model/errors/preview-errors.js +11 -0
  155. package/dist/esm/model/index.js +10 -3
  156. package/dist/esm/model/opportunities.schema.js +3 -1
  157. package/dist/esm/model/positions.js +1 -1
  158. package/dist/esm/model/result.js +1 -8
  159. package/dist/esm/model/rwa.js +48 -0
  160. package/dist/esm/model/rwa.schema.js +18 -0
  161. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +1 -1
  162. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  163. package/dist/esm/onchain/accounts/index.js +1 -2
  164. package/dist/esm/onchain/accounts/intents/guards.js +29 -52
  165. package/dist/esm/onchain/accounts/intents/index.js +39 -35
  166. package/dist/esm/onchain/accounts/intents/leverage-band.js +1 -1
  167. package/dist/esm/onchain/accounts/intents/math.js +18 -14
  168. package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -6
  169. package/dist/esm/onchain/accounts/intents/plan.js +51 -47
  170. package/dist/esm/onchain/accounts/intents/realize.js +26 -24
  171. package/dist/esm/onchain/accounts/intents/tail.js +14 -11
  172. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  173. package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  174. package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  175. package/dist/esm/onchain/accounts/intents/view.js +1 -1
  176. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +3 -3
  177. package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  178. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  179. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  180. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  181. package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
  182. package/dist/esm/onchain/base/TokensMeta.js +3 -3
  183. package/dist/esm/onchain/core/createAddressProvider.js +1 -1
  184. package/dist/esm/onchain/index.js +64 -11
  185. package/dist/esm/onchain/market/MarketSuite.js +10 -4
  186. package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  187. package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  188. package/dist/esm/onchain/market/adapters/index.js +1 -0
  189. package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  190. package/dist/esm/onchain/market/credit/CreditSuite.js +77 -15
  191. package/dist/esm/onchain/market/index.js +6 -6
  192. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
  193. package/dist/esm/onchain/market/oracle/index.js +1 -2
  194. package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  195. package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
  196. package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
  197. package/dist/esm/onchain/market/rwa/createDegenNFT.js +52 -0
  198. package/dist/esm/onchain/market/rwa/index.js +6 -5
  199. package/dist/esm/onchain/market/rwa/midas/MidasDegenNFT.js +55 -0
  200. package/dist/esm/onchain/market/rwa/midas/constants.js +2 -1
  201. package/dist/esm/onchain/market/rwa/midas/index.js +3 -2
  202. package/dist/esm/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +20 -2
  203. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +4 -4
  204. package/dist/esm/onchain/market/rwa/securitize/constants.js +2 -2
  205. package/dist/esm/onchain/market/rwa/securitize/index.js +4 -3
  206. package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
  207. package/dist/esm/onchain/market/rwa/types.js +1 -7
  208. package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
  209. package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
  210. package/dist/esm/onchain/market/zapper/index.js +0 -1
  211. package/dist/esm/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
  212. package/dist/esm/onchain/opportunities/OpportunitiesService.js +11 -3
  213. package/dist/esm/onchain/pools/PoolService.js +10 -16
  214. package/dist/esm/onchain/preview/index.js +20 -0
  215. package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  216. package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
  217. package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
  218. package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
  219. package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  220. package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
  221. package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
  222. package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  223. package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  224. package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  225. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  226. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  227. package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  228. package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
  229. package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
  230. package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
  231. package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
  232. package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
  233. package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
  234. package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
  235. package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
  236. package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  237. package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  238. package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
  239. package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
  240. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
  241. package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
  242. package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
  243. package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
  244. package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
  245. package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
  246. package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
  247. package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
  248. package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
  249. package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
  250. package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
  251. package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
  252. package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
  253. package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
  254. package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
  255. package/dist/esm/onchain/validation/bundles/index.js +18 -0
  256. package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
  257. package/dist/esm/onchain/validation/checkOperation.js +61 -0
  258. package/dist/esm/onchain/validation/checkSimulation.js +59 -0
  259. package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
  260. package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
  261. package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
  262. package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
  263. package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
  264. package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
  265. package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
  266. package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
  267. package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
  268. package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
  269. package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
  270. package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
  271. package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
  272. package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
  273. package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
  274. package/dist/esm/onchain/validation/checks/index.js +16 -0
  275. package/dist/esm/onchain/validation/helpers/amount.js +11 -0
  276. package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
  277. package/dist/esm/onchain/validation/helpers/index.js +4 -0
  278. package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
  279. package/dist/esm/onchain/validation/index.js +43 -4
  280. package/dist/esm/onchain/validation/raise.js +31 -0
  281. package/dist/esm/sdk/index.js +2 -3
  282. package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
  283. package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +19 -4
  284. package/dist/esm/sdk/prepare/PrepareApi.js +25 -35
  285. package/dist/esm/sdk/prepare/index.js +3 -3
  286. package/dist/esm/sdk/prepare/types.js +1 -2
  287. package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
  288. package/dist/types/abi/rwa/iMidasAccessControl.d.ts +22 -0
  289. package/dist/types/abi/rwa/iMidasDegenNFT.d.ts +82 -0
  290. package/dist/types/history/assembleOperations.d.ts +4 -5
  291. package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
  292. package/dist/types/history/index.d.ts +8 -2
  293. package/dist/types/history/mapOperations.d.ts +1 -1
  294. package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
  295. package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
  296. package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
  297. package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
  298. package/dist/types/{preview → history}/trace/types.d.ts +1 -1
  299. package/dist/types/history/types.d.ts +2 -3
  300. package/dist/types/model/errors/base.d.ts +28 -0
  301. package/dist/types/model/errors/index.d.ts +7 -0
  302. package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
  303. package/dist/types/model/errors/operation-errors.d.ts +216 -0
  304. package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
  305. package/dist/types/model/errors/prepare-errors.d.ts +131 -0
  306. package/dist/types/model/errors/preview-errors.d.ts +72 -0
  307. package/dist/types/model/index.d.ts +12 -4
  308. package/dist/types/model/opportunities.d.ts +12 -2
  309. package/dist/types/model/opportunities.schema.d.ts +30 -0
  310. package/dist/types/model/positions.d.ts +2 -2
  311. package/dist/types/model/previews.d.ts +52 -113
  312. package/dist/types/model/result.d.ts +4 -8
  313. package/dist/types/model/rwa.d.ts +167 -0
  314. package/dist/types/model/rwa.schema.d.ts +29 -0
  315. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +2 -1
  316. package/dist/types/offchain/opportunities/types.d.ts +4 -1
  317. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
  318. package/dist/types/onchain/accounts/index.d.ts +2 -4
  319. package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
  320. package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
  321. package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
  322. package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
  323. package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
  324. package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
  325. package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
  326. package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
  327. package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
  328. package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
  329. package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
  330. package/dist/types/onchain/accounts/types.d.ts +2 -1
  331. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
  332. package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
  333. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
  334. package/dist/types/onchain/index.d.ts +73 -16
  335. package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
  336. package/dist/types/onchain/market/adapters/index.d.ts +2 -1
  337. package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
  338. package/dist/types/onchain/market/credit/CreditSuite.d.ts +30 -8
  339. package/dist/types/onchain/market/credit/index.d.ts +2 -2
  340. package/dist/types/onchain/market/credit/types.d.ts +11 -1
  341. package/dist/types/onchain/market/index.d.ts +11 -10
  342. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
  343. package/dist/types/onchain/market/oracle/index.d.ts +1 -2
  344. package/dist/types/onchain/market/oracle/types.d.ts +1 -1
  345. package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
  346. package/dist/types/onchain/market/rwa/RWARegistry.d.ts +1 -1
  347. package/dist/types/onchain/market/rwa/createDegenNFT.d.ts +12 -0
  348. package/dist/types/onchain/market/rwa/index.d.ts +10 -8
  349. package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +98 -0
  350. package/dist/types/onchain/market/rwa/midas/constants.d.ts +2 -1
  351. package/dist/types/onchain/market/rwa/midas/index.d.ts +3 -2
  352. package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +8 -2
  353. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +4 -3
  354. package/dist/types/onchain/market/rwa/securitize/constants.d.ts +2 -2
  355. package/dist/types/onchain/market/rwa/securitize/index.d.ts +5 -4
  356. package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
  357. package/dist/types/onchain/market/rwa/types.d.ts +24 -32
  358. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
  359. package/dist/types/onchain/market/zapper/index.d.ts +1 -2
  360. package/dist/types/onchain/market/zapper/types.d.ts +1 -1
  361. package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -1
  362. package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +5 -1
  363. package/dist/types/onchain/opportunities/types.d.ts +3 -2
  364. package/dist/types/onchain/pools/types.d.ts +2 -2
  365. package/dist/types/onchain/preview/index.d.ts +24 -0
  366. package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
  367. package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
  368. package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
  369. package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
  370. package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
  371. package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
  372. package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
  373. package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
  374. package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
  375. package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
  376. package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
  377. package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
  378. package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
  379. package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
  380. package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
  381. package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
  382. package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
  383. package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
  384. package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
  385. package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
  386. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
  387. package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
  388. package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
  389. package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
  390. package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
  391. package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
  392. package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
  393. package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
  394. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
  395. package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
  396. package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
  397. package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
  398. package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
  399. package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
  400. package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
  401. package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
  402. package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
  403. package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
  404. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
  405. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
  406. package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
  407. package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
  408. package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
  409. package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
  410. package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
  411. package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
  412. package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
  413. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
  414. package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
  415. package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
  416. package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
  417. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
  418. package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
  419. package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
  420. package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
  421. package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
  422. package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
  423. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
  424. package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
  425. package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
  426. package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
  427. package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
  428. package/dist/types/onchain/validation/checks/index.d.ts +16 -0
  429. package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
  430. package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
  431. package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
  432. package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
  433. package/dist/types/onchain/validation/index.d.ts +43 -4
  434. package/dist/types/onchain/validation/raise.d.ts +33 -0
  435. package/dist/types/sdk/execute/types.d.ts +2 -2
  436. package/dist/types/sdk/index.d.ts +5 -6
  437. package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
  438. package/dist/types/sdk/liquidations/types.d.ts +8 -0
  439. package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +2 -1
  440. package/dist/types/sdk/opportunities/types.d.ts +8 -2
  441. package/dist/types/sdk/prepare/PrepareApi.d.ts +5 -4
  442. package/dist/types/sdk/prepare/index.d.ts +5 -5
  443. package/dist/types/sdk/prepare/types.d.ts +41 -22
  444. package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
  445. package/dist/types/sdk/preview/index.d.ts +2 -2
  446. package/dist/types/sdk/preview/types.d.ts +30 -7
  447. package/package.json +1 -6
  448. package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  449. package/dist/cjs/onchain/market/zapper/errors.js +0 -1
  450. package/dist/cjs/onchain/validation/checks.js +0 -258
  451. package/dist/cjs/onchain/validation/refusal.js +0 -39
  452. package/dist/cjs/preview/index.js +0 -86
  453. package/dist/cjs/preview/package.json +0 -1
  454. package/dist/cjs/preview/parse/errors.js +0 -1
  455. package/dist/cjs/preview/parse/index.js +0 -15
  456. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
  457. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
  458. package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
  459. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
  460. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
  461. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
  462. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
  463. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
  464. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
  465. package/dist/cjs/preview/prerequisites/helpers.js +0 -23
  466. package/dist/cjs/preview/prerequisites/index.js +0 -12
  467. package/dist/cjs/preview/preview/errors.js +0 -85
  468. package/dist/cjs/preview/preview/index.js +0 -33
  469. package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
  470. package/dist/cjs/preview/preview/previewOperation.js +0 -100
  471. package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
  472. package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
  473. package/dist/cjs/preview/preview/replayMulticall.js +0 -19
  474. package/dist/cjs/preview/simulate/errors.js +0 -73
  475. package/dist/cjs/preview/simulate/index.js +0 -11
  476. package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
  477. package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
  478. package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
  479. package/dist/cjs/preview/simulate/types.js +0 -1
  480. package/dist/cjs/preview/trace/index.js +0 -14
  481. package/dist/cjs/preview/trace/types.js +0 -1
  482. package/dist/cjs/preview/types.js +0 -1
  483. package/dist/cjs/preview/validate/checkOperation.js +0 -187
  484. package/dist/cjs/preview/validate/checkSimulation.js +0 -39
  485. package/dist/cjs/preview/validate/index.js +0 -8
  486. package/dist/cjs/sdk/prepare/errors.js +0 -114
  487. package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  488. package/dist/esm/onchain/market/zapper/errors.js +0 -1
  489. package/dist/esm/onchain/validation/checks.js +0 -238
  490. package/dist/esm/onchain/validation/refusal.js +0 -36
  491. package/dist/esm/preview/index.js +0 -38
  492. package/dist/esm/preview/package.json +0 -1
  493. package/dist/esm/preview/parse/errors.js +0 -1
  494. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
  495. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
  496. package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
  497. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
  498. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
  499. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
  500. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
  501. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
  502. package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
  503. package/dist/esm/preview/prerequisites/helpers.js +0 -22
  504. package/dist/esm/preview/prerequisites/index.js +0 -7
  505. package/dist/esm/preview/preview/errors.js +0 -79
  506. package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
  507. package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
  508. package/dist/esm/preview/preview/replayMulticall.js +0 -18
  509. package/dist/esm/preview/simulate/errors.js +0 -71
  510. package/dist/esm/preview/simulate/index.js +0 -6
  511. package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
  512. package/dist/esm/preview/simulate/simulateOperation.js +0 -28
  513. package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
  514. package/dist/esm/preview/simulate/types.js +0 -1
  515. package/dist/esm/preview/trace/types.js +0 -1
  516. package/dist/esm/preview/types.js +0 -1
  517. package/dist/esm/preview/validate/checkOperation.js +0 -183
  518. package/dist/esm/preview/validate/checkSimulation.js +0 -38
  519. package/dist/esm/preview/validate/index.js +0 -3
  520. package/dist/esm/sdk/prepare/errors.js +0 -108
  521. package/dist/types/model/errors.d.ts +0 -46
  522. package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
  523. package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
  524. package/dist/types/onchain/validation/checks.d.ts +0 -164
  525. package/dist/types/onchain/validation/refusal.d.ts +0 -242
  526. package/dist/types/preview/index.d.ts +0 -47
  527. package/dist/types/preview/parse/errors.d.ts +0 -29
  528. package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
  529. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
  530. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
  531. package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
  532. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
  533. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
  534. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
  535. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
  536. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
  537. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
  538. package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
  539. package/dist/types/preview/prerequisites/index.d.ts +0 -7
  540. package/dist/types/preview/prerequisites/types.d.ts +0 -53
  541. package/dist/types/preview/preview/errors.d.ts +0 -44
  542. package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
  543. package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
  544. package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
  545. package/dist/types/preview/preview/previewOperation.d.ts +0 -32
  546. package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
  547. package/dist/types/preview/simulate/errors.d.ts +0 -52
  548. package/dist/types/preview/simulate/index.d.ts +0 -7
  549. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
  550. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
  551. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
  552. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
  553. package/dist/types/preview/simulate/types.d.ts +0 -48
  554. package/dist/types/preview/types.d.ts +0 -65
  555. package/dist/types/preview/validate/checkOperation.d.ts +0 -71
  556. package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
  557. package/dist/types/preview/validate/index.d.ts +0 -3
  558. package/dist/types/sdk/prepare/errors.d.ts +0 -343
  559. /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
  560. /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
  561. /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  562. /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
  563. /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
  564. /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  565. /package/dist/esm/{preview → history}/trace/index.js +0 -0
  566. /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
  567. /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
  568. /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  569. /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
  570. /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
  571. /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  572. /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
@@ -1,15 +1,16 @@
1
- import { OperationPreviewError } from "../../model/previews.js";
2
- import "../../model/index.js";
3
- import { PluginsMap } from "../../onchain/plugins/types.js";
4
- import { OnchainSDK } from "../../onchain/OnchainSDK.js";
5
- import "../../onchain/index.js";
1
+ import { MalformedTransactionError } from "../../../model/errors/preview-errors.js";
2
+ import { SDKReturn } from "../../../model/result.js";
3
+ import "../../../model/index.js";
4
+ import { CreditAccountData } from "../../base/types.js";
5
+ import { PluginsMap } from "../../plugins/types.js";
6
+ import { OnchainSDK } from "../../OnchainSDK.js";
6
7
  import { InnerOperation } from "../parse/types-facades.js";
7
- import { PreviewOperationOptions } from "../types.js";
8
8
  import "../parse/index.js";
9
9
  import { CreditAccountState } from "./CreditAccountState.js";
10
10
  import { ReplayState } from "./replayInnerOperations.js";
11
+ import "../../index.js";
11
12
  import { Address } from "viem";
12
- //#region src/preview/preview/replayMulticall.d.ts
13
+ //#region src/onchain/preview/preview/replayMulticall.d.ts
13
14
  /**
14
15
  * Parsed operation on an existing credit account whose multicall can be
15
16
  * replayed: the facade `closeCreditAccount` entry point and
@@ -33,12 +34,11 @@ interface ReplayMulticallResult {
33
34
  * replay in facade execution order
34
35
  */
35
36
  after: ReplayState;
36
- warning?: OperationPreviewError;
37
37
  }
38
38
  /**
39
39
  * Replays the operation's multicall over the account's pre-resolved
40
- * pre-state (`options.creditAccount`) via {@link replayInnerOperations}.
40
+ * pre-state via {@link replayInnerOperations}.
41
41
  */
42
- declare function replayMulticall<P extends PluginsMap>(sdk: OnchainSDK<P>, operation: ReplayableOperation, options: PreviewOperationOptions<true>): ReplayMulticallResult;
42
+ declare function replayMulticall<P extends PluginsMap>(sdk: OnchainSDK<P>, operation: ReplayableOperation, creditAccount: CreditAccountData): SDKReturn<ReplayMulticallResult, MalformedTransactionError>;
43
43
  //#endregion
44
44
  export { ReplayMulticallResult, ReplayableOperation, replayMulticall };
@@ -1,19 +1,10 @@
1
- import { OperationPreviewError } from "../../model/previews.js";
2
- import "../../model/index.js";
3
- import { Asset } from "../../onchain/base/types.js";
4
- import "../../onchain/index.js";
1
+ import { MalformedTransactionError } from "../../../model/errors/preview-errors.js";
2
+ import { SDKReturn } from "../../../model/result.js";
3
+ import "../../../model/index.js";
4
+ import { Asset } from "../../base/types.js";
5
+ import "../../index.js";
5
6
  import { Address } from "viem";
6
- //#region src/preview/preview/unwrapNativeCollateral.d.ts
7
- interface UnwrapNativeCollateralResult {
8
- /**
9
- * Collateral with the native amount unwrapped from the WETH entry.
10
- */
11
- assets: Asset[];
12
- /**
13
- * Warning set when the transaction value is malformed.
14
- */
15
- warning?: OperationPreviewError;
16
- }
7
+ //#region src/onchain/preview/preview/unwrapNativeCollateral.d.ts
17
8
  /**
18
9
  * Represents the transaction's attached native value as a `NATIVE_ADDRESS`
19
10
  * entry in the collateral list.
@@ -25,15 +16,14 @@ interface UnwrapNativeCollateralResult {
25
16
  * reaches zero). Other entries are preserved.
26
17
  *
27
18
  * When `nativeAmount` is positive but the WETH collateral is missing or
28
- * smaller than it, the transaction is malformed: the collateral is returned
29
- * as-is (no unwrapping) together with an `invalidTransactionValue` warning.
19
+ * smaller than it, the transaction is malformed.
30
20
  *
31
21
  * @param collateral - Collateral assets as declared by the multicall.
32
22
  * @param nativeAmount - Transaction `msg.value`.
33
23
  * @param wethToken - Wrapped native token address.
34
24
  * @returns Collateral with the native amount unwrapped from the WETH entry,
35
- * plus the warning on a malformed transaction value.
25
+ * or `malformedTransaction` when `msg.value` does not fit the declared WETH.
36
26
  */
37
- declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): UnwrapNativeCollateralResult;
27
+ declare function unwrapNativeCollateral(collateral: Asset[], nativeAmount: bigint, wethToken: Address): SDKReturn<Asset[], MalformedTransactionError>;
38
28
  //#endregion
39
- export { UnwrapNativeCollateralResult, unwrapNativeCollateral };
29
+ export { unwrapNativeCollateral };
@@ -0,0 +1,16 @@
1
+ import { QuotaCountExceededError } from "../../../model/errors/operation-errors.js";
2
+ import { AccountProjection } from "../../../model/previews.js";
3
+ import "../../../model/index.js";
4
+ import { CreditSuite } from "../../market/credit/CreditSuite.js";
5
+ //#region src/onchain/validation/bundles/checkAccountQuotas.d.ts
6
+ /**
7
+ * How many quoted tokens the account would end up holding, against the number
8
+ * the facade enables at once.
9
+ *
10
+ * Reads nothing but the projected account, so a parsed transaction and a
11
+ * simulated one are held to it by the same code — including the reading that a
12
+ * quota the operation zeroed out is no longer held.
13
+ */
14
+ declare function checkAccountQuotas(suite: CreditSuite, account: Pick<AccountProjection, "quotas">): QuotaCountExceededError[];
15
+ //#endregion
16
+ export { checkAccountQuotas };
@@ -0,0 +1,22 @@
1
+ import { AdjustStrategyPositionPreview, OpenStrategyPositionPreview, RepayStrategyPositionPreview } from "../../../model/previews.js";
2
+ import "../../../model/index.js";
3
+ import { OnchainSDK } from "../../OnchainSDK.js";
4
+ import { WalletFundingError } from "./checkWallet.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkCollateralFunding.d.ts
7
+ type CollateralFundingPreview = OpenStrategyPositionPreview | AdjustStrategyPositionPreview | RepayStrategyPositionPreview;
8
+ interface CheckCollateralFundingInput {
9
+ sdk: OnchainSDK;
10
+ preview: CollateralFundingPreview;
11
+ sender: Address;
12
+ blockNumber?: bigint;
13
+ }
14
+ /**
15
+ * What the wallet must hold and have approved for the collateral the
16
+ * operation adds. Native value is already split out of `collateralAdded` as a
17
+ * `NATIVE_ADDRESS` entry; the facade wraps it into WETH, so the WETH allowance
18
+ * covers both halves.
19
+ */
20
+ declare function checkCollateralFunding(input: CheckCollateralFundingInput): Promise<WalletFundingError[]>;
21
+ //#endregion
22
+ export { CheckCollateralFundingInput, CollateralFundingPreview, checkCollateralFunding };
@@ -0,0 +1,31 @@
1
+ import { DebtOutOfRangeError, ForbiddenTokenError, InsufficientCollateralError, InsufficientPoolLiquidityError, QuotaCountExceededError, QuotaLimitReachedError, RWAOpenRequirementsError } from "../../../model/errors/operation-errors.js";
2
+ import { AdjustStrategyPositionPreview, OpenStrategyPositionPreview } from "../../../model/previews.js";
3
+ import "../../../model/index.js";
4
+ import { OnchainSDK } from "../../OnchainSDK.js";
5
+ import { WalletFundingError } from "./checkWallet.js";
6
+ import { HealthFactorThresholds } from "./checkHealthFactors.js";
7
+ import { MarketStateError } from "./checkMarket.js";
8
+ import { Address } from "viem";
9
+ //#region src/onchain/validation/bundles/checkCreditOperation.d.ts
10
+ /** {@inheritDoc checkCreditOperation} */
11
+ type CreditOperationError = MarketStateError | DebtOutOfRangeError | InsufficientPoolLiquidityError | ForbiddenTokenError | QuotaCountExceededError | QuotaLimitReachedError | InsufficientCollateralError | WalletFundingError | RWAOpenRequirementsError;
12
+ /** The two previews that carry a position for the thresholds to weigh. */
13
+ type CreditOperationPreview = OpenStrategyPositionPreview | AdjustStrategyPositionPreview;
14
+ interface CreditOperationArgs extends HealthFactorThresholds {
15
+ sdk: OnchainSDK;
16
+ preview: CreditOperationPreview;
17
+ /** The wallet that signs. Its balances, allowances and RWA standing are read on-chain. */
18
+ sender: Address;
19
+ blockNumber?: bigint;
20
+ }
21
+ /**
22
+ * What the protocol stops a credit operation for, then what the wallet still
23
+ * has to hold, approve or sign.
24
+ *
25
+ * The array is in check order, most fundamental first: the market's own state,
26
+ * then what the facade would revert on, then what the operation asks the
27
+ * market for, then the account it leaves behind, and last the wallet's side.
28
+ */
29
+ declare function checkCreditOperation(args: CreditOperationArgs): Promise<CreditOperationError[]>;
30
+ //#endregion
31
+ export { CreditOperationArgs, CreditOperationError, CreditOperationPreview, checkCreditOperation };
@@ -0,0 +1,20 @@
1
+ import { Token } from "../../../model/primitives.js";
2
+ import { InsufficientPoolLiquidityError } from "../../../model/errors/operation-errors.js";
3
+ import "../../../model/index.js";
4
+ import { CreditSuite } from "../../market/credit/CreditSuite.js";
5
+ import { CreditOperationPreview } from "./checkCreditOperation.js";
6
+ //#region src/onchain/validation/bundles/checkDraw.d.ts
7
+ /**
8
+ * What the transaction draws, against what the market can lend right now.
9
+ *
10
+ * Only a draw is weighed: repaying, or leaving the debt alone, can never exceed
11
+ * a ceiling. Opening borrows the whole debt; adjusting borrows
12
+ * `totalDebtChange`.
13
+ *
14
+ * The engine holds every simulation to this already (`assertCanBorrow`), so
15
+ * this is here for the transactions it never saw — a pasted calldata reaches
16
+ * the confirm screen with nothing else standing between it and a revert.
17
+ */
18
+ declare function checkDraw(suite: CreditSuite, preview: CreditOperationPreview, underlying: Token): InsufficientPoolLiquidityError[];
19
+ //#endregion
20
+ export { checkDraw };
@@ -0,0 +1,39 @@
1
+ import { Bps } from "../../../model/primitives.js";
2
+ import { InsufficientCollateralError } from "../../../model/errors/operation-errors.js";
3
+ import { AccountHoldings, AccountMetrics } from "../../../model/previews.js";
4
+ import "../../../model/index.js";
5
+ //#region src/onchain/validation/bundles/checkHealthFactors.d.ts
6
+ /**
7
+ * The factors a caller holds an account to. Omitting a threshold switches its
8
+ * check off — there is no single right one.
9
+ */
10
+ interface HealthFactorThresholds {
11
+ /** Lowest acceptable health factor at main prices, in bps. */
12
+ minHealthFactor?: Bps;
13
+ /** Lowest acceptable health factor at safe prices, in bps. */
14
+ minSafeHealthFactor?: Bps;
15
+ /**
16
+ * The factor the account stands at now. Given, an operation that raises it
17
+ * passes even from under the required factor — the top-ups that rescue a
18
+ * position would otherwise be stopped by the very check meant to protect it.
19
+ */
20
+ currentHealthFactor?: Bps;
21
+ }
22
+ /**
23
+ * An account's factors, in whichever branch of a routed leg the caller means to
24
+ * be held to: `prepare` reports the outcome the router expects, `preview` the
25
+ * floor its calldata guarantees. The check is indifferent — it weighs the
26
+ * numbers it is handed — and passing them one by one is what makes the choice
27
+ * visible where it is made.
28
+ */
29
+ interface WeighedFactors extends Pick<AccountHoldings, "totalDebt">, Pick<AccountMetrics, "healthFactor" | "safeHealthFactor"> {}
30
+ /**
31
+ * The account against whichever thresholds the caller holds it to, so a parsed
32
+ * transaction and a simulated one are weighed by the same code.
33
+ *
34
+ * A loan-free account is nothing to weigh: the health factor reports its
35
+ * zero-debt sentinel and no threshold applies.
36
+ */
37
+ declare function checkHealthFactors(account: WeighedFactors, thresholds: HealthFactorThresholds): InsufficientCollateralError[];
38
+ //#endregion
39
+ export { HealthFactorThresholds, WeighedFactors, checkHealthFactors };
@@ -0,0 +1,20 @@
1
+ import { CreditAccountFrozenError, LiquidatorNotEligibleError, NotEmergencyLiquidatorError } from "../../../model/errors/liquidation-errors.js";
2
+ import { LiquidationDetails } from "../../../model/liquidations.js";
3
+ import "../../../model/index.js";
4
+ import { OnchainSDK } from "../../OnchainSDK.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkLiquidationEligibility.d.ts
7
+ interface CheckLiquidationEligibilityInput {
8
+ sdk: OnchainSDK;
9
+ details: LiquidationDetails;
10
+ liquidator: Address;
11
+ }
12
+ /** {@inheritDoc checkLiquidationEligibility} */
13
+ type LiquidationEligibilityError = CreditAccountFrozenError | NotEmergencyLiquidatorError | LiquidatorNotEligibleError;
14
+ /**
15
+ * Whether this wallet may liquidate this account, from the facts the
16
+ * compressor already reported and the market's emergency-liquidator list.
17
+ */
18
+ declare function checkLiquidationEligibility(input: CheckLiquidationEligibilityInput): LiquidationEligibilityError[];
19
+ //#endregion
20
+ export { CheckLiquidationEligibilityInput, LiquidationEligibilityError, checkLiquidationEligibility };
@@ -0,0 +1,18 @@
1
+ import { LiquidationDetails } from "../../../model/liquidations.js";
2
+ import "../../../model/index.js";
3
+ import { OnchainSDK } from "../../OnchainSDK.js";
4
+ import { WalletFundingError } from "./checkWallet.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkLiquidationFunding.d.ts
7
+ interface CheckLiquidationFundingInput {
8
+ sdk: OnchainSDK;
9
+ details: LiquidationDetails;
10
+ liquidator: Address;
11
+ blockNumber?: bigint;
12
+ }
13
+ /**
14
+ * What the liquidator wallet must hold and have approved.
15
+ */
16
+ declare function checkLiquidationFunding(input: CheckLiquidationFundingInput): Promise<WalletFundingError[]>;
17
+ //#endregion
18
+ export { CheckLiquidationFundingInput, checkLiquidationFunding };
@@ -0,0 +1,15 @@
1
+ import { CreditManagerPausedError, MarketExpiredError } from "../../../model/errors/operation-errors.js";
2
+ import "../../../model/index.js";
3
+ import { CreditSuite } from "../../market/credit/CreditSuite.js";
4
+ //#region src/onchain/validation/bundles/checkMarket.d.ts
5
+ /** {@inheritDoc checkMarket} */
6
+ type MarketStateError = CreditManagerPausedError | MarketExpiredError;
7
+ /**
8
+ * What the market itself stops, whatever the operation does.
9
+ *
10
+ * Neither state is anything the sender can fix, which is why it comes first
11
+ * wherever it is composed in.
12
+ */
13
+ declare function checkMarket(suite: CreditSuite): MarketStateError[];
14
+ //#endregion
15
+ export { MarketStateError, checkMarket };
@@ -0,0 +1,9 @@
1
+ import { ForbiddenTokenError } from "../../../model/errors/operation-errors.js";
2
+ import "../../../model/index.js";
3
+ import { CreditSuite } from "../../market/credit/CreditSuite.js";
4
+ import { CreditOperationPreview } from "./checkCreditOperation.js";
5
+ //#region src/onchain/validation/bundles/checkObtained.d.ts
6
+ /** Every token the operation buys more of, against what the market forbids. */
7
+ declare function checkObtained(suite: CreditSuite, preview: CreditOperationPreview): ForbiddenTokenError[];
8
+ //#endregion
9
+ export { checkObtained };
@@ -0,0 +1,19 @@
1
+ import { PoolPositionOperationPreview } from "../../../model/previews.js";
2
+ import "../../../model/index.js";
3
+ import { OnchainSDK } from "../../OnchainSDK.js";
4
+ import { WalletFundingError } from "./checkWallet.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkPoolFunding.d.ts
7
+ interface CheckPoolFundingInput {
8
+ sdk: OnchainSDK;
9
+ preview: PoolPositionOperationPreview;
10
+ sender: Address;
11
+ blockNumber?: bigint;
12
+ }
13
+ /**
14
+ * What the wallet must hold (and approve) for a pool deposit, mint, withdraw
15
+ * or redeem, read off the preview's `tokenIn`, `zapper` and `holder`.
16
+ */
17
+ declare function checkPoolFunding(input: CheckPoolFundingInput): Promise<WalletFundingError[]>;
18
+ //#endregion
19
+ export { CheckPoolFundingInput, checkPoolFunding };
@@ -0,0 +1,31 @@
1
+ import { TokenAmount } from "../../../model/primitives.js";
2
+ import { InsufficientPoolLiquidityError, PoolPausedError, PoolSunsetError } from "../../../model/errors/operation-errors.js";
3
+ import "../../../model/index.js";
4
+ import { OnchainSDK } from "../../OnchainSDK.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkPoolOperation.d.ts
7
+ /** {@inheritDoc checkPoolOperation} */
8
+ type PoolOperationError = PoolPausedError | PoolSunsetError | InsufficientPoolLiquidityError;
9
+ interface PoolOperationArgs {
10
+ sdk: OnchainSDK;
11
+ /** Pool the liquidity moves through. */
12
+ pool: Address;
13
+ /** Whether the operation puts liquidity in rather than taking it out. */
14
+ isDeposit: boolean;
15
+ /**
16
+ * What the wallet receives. Weighed against the pool's liquidity on a
17
+ * withdrawal, where it is the underlying leaving the pool; on a deposit it
18
+ * is the shares the pool mints and nothing weighs it.
19
+ */
20
+ tokenOut: TokenAmount;
21
+ }
22
+ /**
23
+ * What the pool's own state stops, whichever side of it the wallet is on.
24
+ *
25
+ * The liquidity read is the market's rather than the trimmed figure a
26
+ * simulation carries: a withdrawal sized against that figure has to pass the
27
+ * check that follows it.
28
+ */
29
+ declare function checkPoolOperation(args: PoolOperationArgs): PoolOperationError[];
30
+ //#endregion
31
+ export { PoolOperationArgs, PoolOperationError, checkPoolOperation };
@@ -0,0 +1,10 @@
1
+ import { Token } from "../../../model/primitives.js";
2
+ import { QuotaLimitReachedError } from "../../../model/errors/operation-errors.js";
3
+ import "../../../model/index.js";
4
+ import { MarketSuite } from "../../market/MarketSuite.js";
5
+ import { CreditOperationPreview } from "./checkCreditOperation.js";
6
+ //#region src/onchain/validation/bundles/checkQuotasAsked.d.ts
7
+ /** Every quota the operation raises, against the room the keeper has left. */
8
+ declare function checkQuotasAsked(market: MarketSuite, preview: CreditOperationPreview, underlying: Token): QuotaLimitReachedError[];
9
+ //#endregion
10
+ export { checkQuotasAsked };
@@ -0,0 +1,21 @@
1
+ import { RWAOperationArgs } from "../../../model/rwa.js";
2
+ import { RWAOpenRequirementsError } from "../../../model/errors/operation-errors.js";
3
+ import { UnexpectedFailureError } from "../../../model/errors/prepare-errors.js";
4
+ import "../../../model/index.js";
5
+ import { OnchainSDK } from "../../OnchainSDK.js";
6
+ import { Address } from "viem";
7
+ //#region src/onchain/validation/bundles/checkRWAOpenRequirements.d.ts
8
+ interface CheckRWAOpenRequirementsInput {
9
+ sdk: OnchainSDK;
10
+ wallet: Address;
11
+ creditManager: Address;
12
+ token: Address;
13
+ providedArgs: RWAOperationArgs;
14
+ }
15
+ /**
16
+ * The RWA factory is satisfied that `wallet` may open on `token` with the
17
+ * registration args already on the transaction.
18
+ */
19
+ declare function checkRWAOpenRequirements(input: CheckRWAOpenRequirementsInput): Promise<(RWAOpenRequirementsError | UnexpectedFailureError)[]>;
20
+ //#endregion
21
+ export { CheckRWAOpenRequirementsInput, checkRWAOpenRequirements };
@@ -0,0 +1,19 @@
1
+ import { RWAOpenRequirementsError } from "../../../model/errors/operation-errors.js";
2
+ import { UnexpectedFailureError } from "../../../model/errors/prepare-errors.js";
3
+ import { OpenRWAStrategyPositionPreview } from "../../../model/previews.js";
4
+ import "../../../model/index.js";
5
+ import { OnchainSDK } from "../../OnchainSDK.js";
6
+ import { Address } from "viem";
7
+ //#region src/onchain/validation/bundles/checkRWAOpening.d.ts
8
+ interface CheckRWAOpeningInput {
9
+ sdk: OnchainSDK;
10
+ preview: OpenRWAStrategyPositionPreview;
11
+ sender: Address;
12
+ }
13
+ /**
14
+ * Per factory-gated token among `collateralAdded ∪ quotas`, whether the
15
+ * borrower still has to register or sign before this opening can land.
16
+ */
17
+ declare function checkRWAOpening(input: CheckRWAOpeningInput): Promise<(RWAOpenRequirementsError | UnexpectedFailureError)[]>;
18
+ //#endregion
19
+ export { CheckRWAOpeningInput, checkRWAOpening };
@@ -0,0 +1,23 @@
1
+ import { InsufficientAllowanceError, InsufficientBalanceError } from "../../../model/errors/operation-errors.js";
2
+ import { UnexpectedFailureError } from "../../../model/errors/prepare-errors.js";
3
+ import "../../../model/index.js";
4
+ import { OnchainSDK } from "../../OnchainSDK.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkWallet.d.ts
7
+ /** {@inheritDoc checkWallet} */
8
+ type WalletFundingError = InsufficientBalanceError | InsufficientAllowanceError | UnexpectedFailureError;
9
+ interface CheckWalletInput {
10
+ sdk: OnchainSDK;
11
+ token: Address;
12
+ holder: Address;
13
+ required: bigint;
14
+ spender?: Address;
15
+ blockNumber?: bigint;
16
+ }
17
+ /**
18
+ * The wallet's whole side for one token: always the balance; the allowance
19
+ * only when it can matter (an ERC-20, with a spender who is not the holder).
20
+ */
21
+ declare function checkWallet(input: CheckWalletInput): Promise<WalletFundingError[]>;
22
+ //#endregion
23
+ export { CheckWalletInput, WalletFundingError, checkWallet };
@@ -0,0 +1,18 @@
1
+ import { InsufficientAllowanceError } from "../../../model/errors/operation-errors.js";
2
+ import { UnexpectedFailureError } from "../../../model/errors/prepare-errors.js";
3
+ import "../../../model/index.js";
4
+ import { OnchainSDK } from "../../OnchainSDK.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkWalletAllowance.d.ts
7
+ interface CheckWalletAllowanceInput {
8
+ sdk: OnchainSDK;
9
+ token: Address;
10
+ owner: Address;
11
+ spender: Address;
12
+ required: bigint;
13
+ blockNumber?: bigint;
14
+ }
15
+ /** `owner` has approved `spender` for at least `required` of `token`. */
16
+ declare function checkWalletAllowance(input: CheckWalletAllowanceInput): Promise<(InsufficientAllowanceError | UnexpectedFailureError)[]>;
17
+ //#endregion
18
+ export { CheckWalletAllowanceInput, checkWalletAllowance };
@@ -0,0 +1,17 @@
1
+ import { InsufficientBalanceError } from "../../../model/errors/operation-errors.js";
2
+ import { UnexpectedFailureError } from "../../../model/errors/prepare-errors.js";
3
+ import "../../../model/index.js";
4
+ import { OnchainSDK } from "../../OnchainSDK.js";
5
+ import { Address } from "viem";
6
+ //#region src/onchain/validation/bundles/checkWalletBalance.d.ts
7
+ interface CheckWalletBalanceInput {
8
+ sdk: OnchainSDK;
9
+ token: Address;
10
+ holder: Address;
11
+ required: bigint;
12
+ blockNumber?: bigint;
13
+ }
14
+ /** `holder` holds at least `required` of `token` (ERC-20 or native). */
15
+ declare function checkWalletBalance(input: CheckWalletBalanceInput): Promise<(InsufficientBalanceError | UnexpectedFailureError)[]>;
16
+ //#endregion
17
+ export { CheckWalletBalanceInput, checkWalletBalance };
@@ -0,0 +1,18 @@
1
+ import { checkAccountQuotas } from "./checkAccountQuotas.js";
2
+ import { CheckWalletInput, WalletFundingError, checkWallet } from "./checkWallet.js";
3
+ import { CheckCollateralFundingInput, CollateralFundingPreview, checkCollateralFunding } from "./checkCollateralFunding.js";
4
+ import { HealthFactorThresholds, WeighedFactors, checkHealthFactors } from "./checkHealthFactors.js";
5
+ import { MarketStateError, checkMarket } from "./checkMarket.js";
6
+ import { CreditOperationArgs, CreditOperationError, CreditOperationPreview, checkCreditOperation } from "./checkCreditOperation.js";
7
+ import { checkDraw } from "./checkDraw.js";
8
+ import { CheckLiquidationEligibilityInput, LiquidationEligibilityError, checkLiquidationEligibility } from "./checkLiquidationEligibility.js";
9
+ import { CheckLiquidationFundingInput, checkLiquidationFunding } from "./checkLiquidationFunding.js";
10
+ import { checkObtained } from "./checkObtained.js";
11
+ import { CheckPoolFundingInput, checkPoolFunding } from "./checkPoolFunding.js";
12
+ import { PoolOperationArgs, PoolOperationError, checkPoolOperation } from "./checkPoolOperation.js";
13
+ import { checkQuotasAsked } from "./checkQuotasAsked.js";
14
+ import { CheckRWAOpeningInput, checkRWAOpening } from "./checkRWAOpening.js";
15
+ import { CheckRWAOpenRequirementsInput, checkRWAOpenRequirements } from "./checkRWAOpenRequirements.js";
16
+ import { CheckWalletAllowanceInput, checkWalletAllowance } from "./checkWalletAllowance.js";
17
+ import { CheckWalletBalanceInput, checkWalletBalance } from "./checkWalletBalance.js";
18
+ export { CheckCollateralFundingInput, CheckLiquidationEligibilityInput, CheckLiquidationFundingInput, CheckPoolFundingInput, CheckRWAOpenRequirementsInput, CheckRWAOpeningInput, CheckWalletAllowanceInput, CheckWalletBalanceInput, CheckWalletInput, CollateralFundingPreview, CreditOperationArgs, CreditOperationError, CreditOperationPreview, HealthFactorThresholds, LiquidationEligibilityError, MarketStateError, PoolOperationArgs, PoolOperationError, WalletFundingError, WeighedFactors, checkAccountQuotas, checkCollateralFunding, checkCreditOperation, checkDraw, checkHealthFactors, checkLiquidationEligibility, checkLiquidationFunding, checkMarket, checkObtained, checkPoolFunding, checkPoolOperation, checkQuotasAsked, checkRWAOpenRequirements, checkRWAOpening, checkWallet, checkWalletAllowance, checkWalletBalance };
@@ -0,0 +1,23 @@
1
+ import { LiquidationDetails } from "../../model/liquidations.js";
2
+ import "../../model/index.js";
3
+ import { OnchainSDK } from "../OnchainSDK.js";
4
+ import { WalletFundingError } from "./bundles/checkWallet.js";
5
+ import { LiquidationEligibilityError } from "./bundles/checkLiquidationEligibility.js";
6
+ import { Address } from "viem";
7
+ //#region src/onchain/validation/checkLiquidation.d.ts
8
+ interface CheckLiquidationInput {
9
+ details: LiquidationDetails;
10
+ liquidator: Address;
11
+ }
12
+ interface CheckLiquidationOptions {
13
+ /** Block to read at; defaults to latest. Only set for testnet forks. */
14
+ blockNumber?: bigint;
15
+ }
16
+ /** {@inheritDoc checkLiquidation} */
17
+ type LiquidationValidationError = LiquidationEligibilityError | WalletFundingError;
18
+ /**
19
+ * Whether `liquidator` may send a full liquidation of this account
20
+ */
21
+ declare function checkLiquidation(sdk: OnchainSDK, input: CheckLiquidationInput, options?: CheckLiquidationOptions): Promise<LiquidationValidationError[]>;
22
+ //#endregion
23
+ export { CheckLiquidationInput, CheckLiquidationOptions, LiquidationValidationError, checkLiquidation };
@@ -0,0 +1,32 @@
1
+ import { OperationPreview } from "../../model/previews.js";
2
+ import "../../model/index.js";
3
+ import { OnchainSDK } from "../OnchainSDK.js";
4
+ import { WalletFundingError } from "./bundles/checkWallet.js";
5
+ import { HealthFactorThresholds } from "./bundles/checkHealthFactors.js";
6
+ import { CreditOperationError } from "./bundles/checkCreditOperation.js";
7
+ import { PoolOperationError } from "./bundles/checkPoolOperation.js";
8
+ import { Address } from "viem";
9
+ //#region src/onchain/validation/checkOperation.d.ts
10
+ interface CheckOperationOptions extends HealthFactorThresholds {
11
+ /** Block to read at; defaults to latest. Only set for testnet forks. */
12
+ blockNumber?: bigint;
13
+ }
14
+ interface CheckOperationInput {
15
+ sdk: OnchainSDK;
16
+ preview: OperationPreview;
17
+ /** The wallet that signs. Its allowances, balances and RWA standing are read on-chain. */
18
+ sender: Address;
19
+ }
20
+ /** {@inheritDoc checkOperation} */
21
+ type OperationValidationError = CreditOperationError | PoolOperationError | WalletFundingError;
22
+ /**
23
+ * Whether a parsed operation may be signed by `sender`: protocol state first,
24
+ * then what the wallet has to approve, hold or sign.
25
+ *
26
+ * The array is in check order, most fundamental first, so a caller with room
27
+ * for one verdict reports the first entry. Approve and sign errors are picked
28
+ * out by `code`, not by position.
29
+ */
30
+ declare function checkOperation(input: CheckOperationInput, options?: CheckOperationOptions): Promise<OperationValidationError[]>;
31
+ //#endregion
32
+ export { CheckOperationInput, CheckOperationOptions, OperationValidationError, checkOperation };
@@ -0,0 +1,56 @@
1
+ import { ChainId } from "../../model/primitives.js";
2
+ import { DebtOutOfRangeError, InsufficientCollateralError, QuotaCountExceededError } from "../../model/errors/operation-errors.js";
3
+ import "../../model/index.js";
4
+ import { PoolSimulation } from "../pools/types.js";
5
+ import { OnchainSDK } from "../OnchainSDK.js";
6
+ import { OperationState } from "../accounts/intents/types.js";
7
+ import { HealthFactorThresholds } from "./bundles/checkHealthFactors.js";
8
+ import { MarketStateError } from "./bundles/checkMarket.js";
9
+ import { PoolOperationError } from "./bundles/checkPoolOperation.js";
10
+ import { Address } from "viem";
11
+ //#region src/onchain/validation/checkSimulation.d.ts
12
+ /** A simulated credit operation, as the intents engine reports one. */
13
+ interface CreditSimulationInput {
14
+ chainId: ChainId;
15
+ state: OperationState;
16
+ }
17
+ /**
18
+ * A simulated pool operation. The pool comes alongside the state, which names
19
+ * the tokens moving through it but not the market they belong to.
20
+ */
21
+ interface PoolSimulationInput {
22
+ chainId: ChainId;
23
+ pool: Address;
24
+ state: PoolSimulation;
25
+ /** Whether the operation puts liquidity in rather than taking it out. */
26
+ isDeposit: boolean;
27
+ }
28
+ type CheckSimulationInput = CreditSimulationInput | PoolSimulationInput;
29
+ /** {@inheritDoc checkSimulation} */
30
+ type SimulationValidationError = MarketStateError | DebtOutOfRangeError | QuotaCountExceededError | InsufficientCollateralError | PoolOperationError;
31
+ /**
32
+ * Whether a simulated operation clears the caller's own thresholds.
33
+ *
34
+ * The engine holds an account to the facade's `1.0`, because its guards answer
35
+ * "would this revert". A form is wiser to ask for more, and the engine's own
36
+ * note says so — a caller wanting the stricter threshold applies it itself.
37
+ * This is that second opinion, over the numbers the engine already reported.
38
+ *
39
+ * Three of the checks on a credit account the engine does not make at all:
40
+ * both health-factor thresholds are its own `1.0`, and the quota count it never
41
+ * weighs. The other two run against the same numbers the engine used, and are
42
+ * here so that a change in the engine cannot pass silently.
43
+ *
44
+ * What is deliberately absent: the forbidden-token, quota-limit and funding
45
+ * checks all need the *delta* an operation applies, and `OperationState` reports
46
+ * only the state after it. Weighing them against absolutes would stop a
47
+ * forbidden token the account merely holds, or a quota the operation never
48
+ * touched. The engine performed all three during the walk, so a simulation that
49
+ * came back `ok` has already passed them.
50
+ *
51
+ * A pool operation has no account to weigh, so what is left is the pool's own
52
+ * state — which the engine does not read either.
53
+ */
54
+ declare function checkSimulation(sdk: OnchainSDK, input: CheckSimulationInput, options?: HealthFactorThresholds): SimulationValidationError[];
55
+ //#endregion
56
+ export { CheckSimulationInput, CreditSimulationInput, PoolSimulationInput, SimulationValidationError, checkSimulation };
@@ -0,0 +1,21 @@
1
+ import { Token } from "../../../model/primitives.js";
2
+ import { BorrowLimitCause, InsufficientPoolLiquidityError } from "../../../model/errors/operation-errors.js";
3
+ import "../../../model/index.js";
4
+ //#region src/onchain/validation/checks/checkBorrowLimit.d.ts
5
+ interface BorrowLimitArgs {
6
+ requested: bigint;
7
+ available: bigint;
8
+ limit: BorrowLimitCause;
9
+ underlying: Token;
10
+ maxBorrowAmount?: bigint;
11
+ }
12
+ /**
13
+ * What the pool will hand over, against what is asked for.
14
+ *
15
+ * `available` and `limit` are the caller's reading of which limit is in the
16
+ * way; this check only compares. `maxBorrowAmount` is the largest debt still
17
+ * takeable, left out when none is.
18
+ */
19
+ declare function checkBorrowLimit(args: BorrowLimitArgs): InsufficientPoolLiquidityError[];
20
+ //#endregion
21
+ export { BorrowLimitArgs, checkBorrowLimit };