@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,5 +1,5 @@
1
- import { ZapperContract } from "./ZapperContract.js";
2
1
  import { iethZapperAbi } from "../../../abi/iETHZapper.js";
2
+ import { ZapperContract } from "./ZapperContract.js";
3
3
  //#region src/onchain/market/zapper/IETHZapperContract.ts
4
4
  const abi = iethZapperAbi;
5
5
  var IETHZapperContract = class extends ZapperContract {
@@ -1,8 +1,8 @@
1
+ import { iZapperAbi } from "../../../abi/iZapper.js";
1
2
  import { BaseContract } from "../../base/BaseContract.js";
2
3
  import "../../base/index.js";
3
4
  import { sdkErr, sdkOk } from "../../../model/result.js";
4
5
  import "../../../model/index.js";
5
- import { iZapperAbi } from "../../../abi/iZapper.js";
6
6
  //#region src/onchain/market/zapper/ZapperContract.ts
7
7
  /**
8
8
  * Base contract for every Gearbox zapper. Specialized zappers (e.g.
@@ -2,6 +2,5 @@ import { ZapperContract } from "./ZapperContract.js";
2
2
  import { IERC20ZapperContract } from "./IERC20ZapperContract.js";
3
3
  import { IETHZapperContract } from "./IETHZapperContract.js";
4
4
  import { createZapper } from "./createZapper.js";
5
- import "./errors.js";
6
5
  import "./types.js";
7
6
  export { IERC20ZapperContract, IETHZapperContract, ZapperContract, createZapper };
@@ -37,10 +37,10 @@ var MultichainOpportunitiesService = class extends MultichainConstruct {
37
37
  *
38
38
  * See {@link MultichainOpportunitiesService.getPool}.
39
39
  **/
40
- async getStrategy(key) {
40
+ async getStrategy(key, wallet) {
41
41
  return this.queryChain({
42
42
  network: key.chainId,
43
- run: (sdk) => sdk.opportunities.getStrategy(key)
43
+ run: (sdk) => sdk.opportunities.getStrategy(key, wallet)
44
44
  });
45
45
  }
46
46
  };
@@ -36,13 +36,21 @@ var OpportunitiesService = class extends SDKConstruct {
36
36
  * A single strategy opportunity plus the rate curve of the pool it borrows
37
37
  * from and the price feeds its liquidation price depends on.
38
38
  *
39
+ * @param wallet - When given, `kyc` says whether this wallet must register
40
+ * with the strategy's KYC provider first; `null` otherwise.
41
+ *
39
42
  * @throws If the credit manager is unknown, or does not currently offer a
40
43
  * strategy.
41
44
  **/
42
- async getStrategy(key) {
43
- const detail = this.sdk.marketRegister.findCreditManager(key.creditManager).strategyOpportunityDetail();
45
+ async getStrategy(key, wallet) {
46
+ const suite = this.sdk.marketRegister.findCreditManager(key.creditManager);
47
+ const detail = suite.strategyOpportunityDetail();
44
48
  if (!detail) throw new Error(`credit manager ${key.creditManager} does not currently offer a strategy`);
45
- return detail;
49
+ const kyc = wallet ? await suite.kycRequirement(wallet, detail.targetCollateral.address) : null;
50
+ return {
51
+ ...detail,
52
+ kyc
53
+ };
46
54
  }
47
55
  };
48
56
  //#endregion
@@ -14,20 +14,6 @@ import { IERC20ZapperContract } from "../market/zapper/IERC20ZapperContract.js";
14
14
  import { IETHZapperContract } from "../market/zapper/IETHZapperContract.js";
15
15
  import "../market/index.js";
16
16
  //#region src/onchain/pools/PoolService.ts
17
- /**
18
- * Haircut on reported pool liquidity, so a withdrawal sized against the reported
19
- * figure is not defeated by rounding in the share conversion.
20
- */
21
- const LIQUIDITY_SAFETY_NUM = 99999n;
22
- const LIQUIDITY_SAFETY_DENOM = 100000n;
23
- /**
24
- * What the pool can actually pay out right now, shaved by a hair so a
25
- * withdrawal sized against it does not fail on rounding.
26
- **/
27
- function payoutCeiling(market) {
28
- const { pool } = market;
29
- return market.priceOracle.toAmount(pool.underlying, pool.pool.availableLiquidity * LIQUIDITY_SAFETY_NUM / LIQUIDITY_SAFETY_DENOM);
30
- }
31
17
  var PoolService = class extends SDKConstruct {
32
18
  /**
33
19
  * {@inheritDoc IPoolsService.getDepositTokensIn}
@@ -168,7 +154,7 @@ var PoolService = class extends SDKConstruct {
168
154
  tokenIn: toTokenAmount(tokenIn, pool.pool.underlyingToShares(amount * PERCENTAGE_FACTOR / (PERCENTAGE_FACTOR - pool.pool.withdrawFee), true)),
169
155
  tokenOut: toTokenAmount(tokenOut, amount),
170
156
  zapper: zapper?.baseParams.addr,
171
- availableLiquidity: payoutCeiling(market)
157
+ availableLiquidity: this.#withdrawableLiquidity(market)
172
158
  };
173
159
  }
174
160
  /**
@@ -190,7 +176,7 @@ var PoolService = class extends SDKConstruct {
190
176
  tokenIn: toTokenAmount(tokenIn, amount),
191
177
  tokenOut: toTokenAmount(tokenOut, pool.pool.sharesToUnderlying(amount) * (PERCENTAGE_FACTOR - pool.pool.withdrawFee) / PERCENTAGE_FACTOR),
192
178
  zapper: zapper?.baseParams.addr,
193
- availableLiquidity: payoutCeiling(market)
179
+ availableLiquidity: this.#withdrawableLiquidity(market)
194
180
  };
195
181
  }
196
182
  /**
@@ -418,6 +404,14 @@ var PoolService = class extends SDKConstruct {
418
404
  apy: { organicApy: rayToBps(pool.supplyRate) }
419
405
  };
420
406
  }
407
+ /**
408
+ * The most the pool can actually hand over right now, trimmed slightly so a
409
+ * withdrawal sized against it does not fail on rounding.
410
+ **/
411
+ #withdrawableLiquidity(market) {
412
+ const { pool } = market;
413
+ return market.priceOracle.toAmount(pool.underlying, pool.pool.availableLiquidity * 99999n / 100000n);
414
+ }
421
415
  };
422
416
  //#endregion
423
417
  export { PoolService };
@@ -0,0 +1,20 @@
1
+ import { classifyInnerOperations } from "./parse/classifyInnerOperations.js";
2
+ import { parseFacadeOperationCalldata } from "./parse/parseFacadeOperationCalldata.js";
3
+ import { parsePoolOperationCalldata } from "./parse/parsePoolOperationCalldata.js";
4
+ import { parseRWAFactoryOperationCalldata } from "./parse/parseRWAFactoryOperationCalldata.js";
5
+ import { parseOperationCalldata } from "./parse/parseOperationCalldata.js";
6
+ import { isPoolOperation, isRWAOperation } from "./parse/types.js";
7
+ import "./parse/index.js";
8
+ import { buildDelayedStrategyPositionOperationPreview } from "./preview/buildDelayedStrategyPositionOperationPreview.js";
9
+ import { CreditAccountState } from "./preview/CreditAccountState.js";
10
+ import { classifyCloseOrRepay, isCloseOrRepay } from "./preview/detectCloseOrRepay.js";
11
+ import { detectDelayedClaim, resolveDelayedClaimIntent } from "./preview/detectDelayedClaim.js";
12
+ import { detectDelayedOperation } from "./preview/detectDelayedOperation.js";
13
+ import { estimateClaimableAt } from "./preview/estimateClaimableAt.js";
14
+ import { previewAdjustStrategyPosition } from "./preview/previewAdjustStrategyPosition.js";
15
+ import { previewExitOrRepayStrategyPosition } from "./preview/previewExitOrRepayStrategyPosition.js";
16
+ import { makeReplayState, replayInnerOperations } from "./preview/replayInnerOperations.js";
17
+ import { replayMulticall } from "./preview/replayMulticall.js";
18
+ import { previewOperation } from "./preview/previewOperation.js";
19
+ import "./preview/index.js";
20
+ export { CreditAccountState, buildDelayedStrategyPositionOperationPreview, classifyCloseOrRepay, classifyInnerOperations, detectDelayedClaim, detectDelayedOperation, estimateClaimableAt, isCloseOrRepay, isPoolOperation, isRWAOperation, makeReplayState, parseFacadeOperationCalldata, parseOperationCalldata, parsePoolOperationCalldata, parseRWAFactoryOperationCalldata, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent };
@@ -1,6 +1,5 @@
1
- import { AbstractAdapterContract } from "../../onchain/market/adapters/contracts/AbstractAdapter.js";
2
- import "../../onchain/index.js";
3
- //#region src/preview/parse/classifyInnerOperations.ts
1
+ import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
2
+ //#region src/onchain/preview/parse/classifyInnerOperations.ts
4
3
  /**
5
4
  * Maps each inner multicall entry to an {@link InnerOperation}:
6
5
  * - adapter and unknown targets become a pure-descriptor `Execute`
@@ -1,5 +1,4 @@
1
1
  import { classifyInnerOperations } from "./classifyInnerOperations.js";
2
- import "./errors.js";
3
2
  import { parseFacadeOperationCalldata } from "./parseFacadeOperationCalldata.js";
4
3
  import { parsePoolOperationCalldata } from "./parsePoolOperationCalldata.js";
5
4
  import { parseRWAFactoryOperationCalldata } from "./parseRWAFactoryOperationCalldata.js";
@@ -1,6 +1,6 @@
1
1
  import { classifyInnerOperations } from "./classifyInnerOperations.js";
2
2
  import { isAddressEqual, zeroAddress } from "viem";
3
- //#region src/preview/parse/parseFacadeOperationCalldata.ts
3
+ //#region src/onchain/preview/parse/parseFacadeOperationCalldata.ts
4
4
  /**
5
5
  * Decodes a credit-facade entry-point call into the matching
6
6
  * {@link OuterFacadeOperation}.
@@ -1,27 +1,26 @@
1
- import { CreditFacadeV310Contract } from "../../onchain/market/credit/CreditFacadeV310Contract.js";
2
- import { isSDKError, sdkErr, sdkOk } from "../../model/result.js";
3
- import "../../model/index.js";
4
- import { PoolV310Contract } from "../../onchain/market/pool/PoolV310Contract.js";
5
- import { ZapperContract } from "../../onchain/market/zapper/ZapperContract.js";
6
- import { isRWAFactory } from "../../onchain/market/rwa/types.js";
7
- import "../../onchain/index.js";
1
+ import { CreditFacadeV310Contract } from "../../market/credit/CreditFacadeV310Contract.js";
2
+ import { sdkErr, sdkOk } from "../../../model/result.js";
3
+ import "../../../model/index.js";
4
+ import { PoolV310Contract } from "../../market/pool/PoolV310Contract.js";
5
+ import { ZapperContract } from "../../market/zapper/ZapperContract.js";
6
+ import { isRWAFactory } from "../../market/rwa/types.js";
8
7
  import { parseFacadeOperationCalldata } from "./parseFacadeOperationCalldata.js";
9
8
  import { parsePoolOperationCalldata } from "./parsePoolOperationCalldata.js";
10
9
  import { parseRWAFactoryOperationCalldata } from "./parseRWAFactoryOperationCalldata.js";
11
- //#region src/preview/parse/parseOperationCalldata.ts
10
+ //#region src/onchain/preview/parse/parseOperationCalldata.ts
12
11
  /**
13
12
  * Decodes raw operation calldata into an {@link Operation}.
14
13
  *
15
14
  * Support parsing of pool operations (including via zappers),
16
15
  * credit facade operations and RWA factory operations.
17
16
  */
18
- function parseOperationCalldata(input) {
19
- const { sdk, to, calldata, value, sender } = input;
17
+ function parseOperationCalldata(sdk, input) {
18
+ const { to, calldata, value, sender } = input;
20
19
  const contract = sdk.getContract(to);
21
20
  if (contract instanceof PoolV310Contract) return parsePoolOperationCalldata(sdk, contract, calldata);
22
21
  if (contract instanceof ZapperContract) {
23
22
  const answer = contract.parseOperation(calldata, value);
24
- if (isSDKError(answer)) return answer;
23
+ if (!answer.ok) return answer;
25
24
  const parsed = answer.data;
26
25
  if (parsed.operation === "Deposit") {
27
26
  const op = {
@@ -1,6 +1,6 @@
1
- import { sdkErr, sdkOk } from "../../model/result.js";
2
- import "../../model/index.js";
3
- //#region src/preview/parse/parsePoolOperationCalldata.ts
1
+ import { sdkErr, sdkOk } from "../../../model/result.js";
2
+ import "../../../model/index.js";
3
+ //#region src/onchain/preview/parse/parsePoolOperationCalldata.ts
4
4
  /**
5
5
  * Decodes pool calldata into a {@link PoolOperation}.
6
6
  *
@@ -1,11 +1,11 @@
1
- import { hexEq } from "../../onchain/utils/hex.js";
2
- import { AbstractAdapterContract } from "../../onchain/market/adapters/contracts/AbstractAdapter.js";
3
- import { CreditFacadeV310Contract } from "../../onchain/market/credit/CreditFacadeV310Contract.js";
4
- import { RWA_FACTORY_SECURITIZE } from "../../onchain/market/rwa/securitize/constants.js";
5
- import { isRWAFactory } from "../../onchain/market/rwa/types.js";
6
- import "../../onchain/index.js";
1
+ import { hexEq } from "../../utils/hex.js";
2
+ import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
3
+ import { CreditFacadeV310Contract } from "../../market/credit/CreditFacadeV310Contract.js";
4
+ import { RWA_FACTORY_SECURITIZE } from "../../../model/rwa.js";
5
+ import "../../../model/index.js";
6
+ import { isRWAFactory } from "../../market/rwa/types.js";
7
7
  import { classifyInnerOperations } from "./classifyInnerOperations.js";
8
- //#region src/preview/parse/parseRWAFactoryOperationCalldata.ts
8
+ //#region src/onchain/preview/parse/parseRWAFactoryOperationCalldata.ts
9
9
  /**
10
10
  * Decodes a RWA-factory entry-point call into the matching
11
11
  * {@link RWAOperation}.
@@ -24,8 +24,7 @@ function parseRWAFactoryOperationCalldata(sdk, factory, calldata) {
24
24
  * Securitize branch of {@link parseRWAFactoryOperationCalldata}
25
25
  *
26
26
  * In the template flow `tokensToRegister`/`signaturesToCache` are empty; the
27
- * real values come from the factory's open-account requirements (see
28
- * `checkPrerequisites`).
27
+ * real values come from the factory's open-account requirements.
29
28
  */
30
29
  function parseSecuritizeOperationCalldata(sdk, factory, calldata) {
31
30
  const parsed = sdk.parseFunctionDataV2(factory.address, calldata);
@@ -2,7 +2,7 @@ import "./types-adapters.js";
2
2
  import "./types-facades.js";
3
3
  import "./types-pools.js";
4
4
  import "./types-rwa.js";
5
- //#region src/preview/parse/types.ts
5
+ //#region src/onchain/preview/parse/types.ts
6
6
  /**
7
7
  * Narrows an {@link Operation} to a {@link PoolOperation} (deposit, mint,
8
8
  * withdraw or redeem). Used by the UI to decide whether a custom view exists for
@@ -1,8 +1,7 @@
1
- import { AssetsMap } from "../../onchain/utils/AssetsMap.js";
2
- import { DUST_THRESHOLD } from "../../onchain/constants/math.js";
3
- import "../../onchain/index.js";
1
+ import { AssetsMap } from "../../utils/AssetsMap.js";
2
+ import { DUST_THRESHOLD } from "../../constants/math.js";
4
3
  import { zeroAddress } from "viem";
5
- //#region src/preview/preview/CreditAccountState.ts
4
+ //#region src/onchain/preview/preview/CreditAccountState.ts
6
5
  /**
7
6
  * A snapshot of a credit account's economic state (balances, quotas, debt)
8
7
  * as used by operation previews, together with the account's identity.
@@ -1,11 +1,10 @@
1
- import { AssetsMap } from "../../onchain/utils/AssetsMap.js";
2
- import { BigIntMath } from "../../onchain/utils/bigint-math.js";
3
- import { DUST_THRESHOLD } from "../../onchain/constants/math.js";
4
- import { asEstimated } from "../../model/previews.js";
5
- import "../../model/index.js";
6
- import "../../onchain/index.js";
1
+ import { AssetsMap } from "../../utils/AssetsMap.js";
2
+ import { BigIntMath } from "../../utils/bigint-math.js";
3
+ import { DUST_THRESHOLD } from "../../constants/math.js";
4
+ import { asEstimated } from "../../../model/previews.js";
5
+ import "../../../model/index.js";
7
6
  import { isAddressEqual } from "viem";
8
- //#region src/preview/preview/buildDelayedStrategyPositionOperationPreview.ts
7
+ //#region src/onchain/preview/preview/buildDelayedStrategyPositionOperationPreview.ts
9
8
  /**
10
9
  * Builds the best-effort preview of the account state after the detected
11
10
  * delayed withdrawal is claimed and its intent (if any) is resumed:
@@ -65,11 +64,11 @@ function applyClaim(post, request) {
65
64
  /**
66
65
  * `WITHDRAW_COLLATERAL` operation tail:
67
66
  * after the claim, `withdrawAmount` of `withdrawToken` goes to the
68
- * user's wallet and the rest of the claim proceeds repay the debt.
67
+ * user's wallet and the rest of the claim repays the debt.
69
68
  *
70
69
  * Tokens involved (Securitize ACRED redemption as the example):
71
- * - claim token (`request.claimToken`) - the token the claim pays out;
72
- * redeeming ACRED pays out USDC.
70
+ * - claim token (`request.claimToken`) - the token the claim settles in;
71
+ * redeeming ACRED settles in USDC.
73
72
  * - withdraw token (`intent.withdrawToken`) - the token the user receives
74
73
  * in the wallet. It can be the claim token itself (withdraw USDC) or a
75
74
  * different token (withdraw RLUSD, bought with the claimed USDC).
@@ -86,7 +85,7 @@ function applyClaim(post, request) {
86
85
  * 2. If the account holds less than `withdrawAmount` of `withdrawToken`,
87
86
  * buy the missing part with the claim-token balance. This happens when
88
87
  * the withdraw token differs from the claim token: e.g. withdrawing
89
- * RLUSD from a claim that paid out USDC - RLUSD is bought with the
88
+ * RLUSD from a claim that settled in USDC - RLUSD is bought with the
90
89
  * claimed USDC. If even the whole claim balance cannot cover it, spend
91
90
  * all of it and withdraw whatever it buys.
92
91
  * 3. Convert the claim tokens still left into the underlying and repay the
@@ -1,7 +1,6 @@
1
- import "../../onchain/constants/math.js";
2
- import "../../onchain/index.js";
1
+ import "../../constants/math.js";
3
2
  import { isAddressEqual } from "viem";
4
- //#region src/preview/preview/detectCloseOrRepay.ts
3
+ //#region src/onchain/preview/preview/detectCloseOrRepay.ts
5
4
  /**
6
5
  * Detects whether a credit-facade multicall fully closes or repays the
7
6
  * account: any multicall that calls `decreaseDebt(MAX_UINT256)`.
@@ -1,8 +1,7 @@
1
- import { AbstractAdapterContract } from "../../onchain/market/adapters/contracts/AbstractAdapter.js";
2
- import { sdkOk } from "../../model/result.js";
3
- import "../../model/index.js";
4
- import "../../onchain/index.js";
5
- //#region src/preview/preview/detectDelayedClaim.ts
1
+ import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
2
+ import { sdkOk } from "../../../model/result.js";
3
+ import "../../../model/index.js";
4
+ //#region src/onchain/preview/preview/detectDelayedClaim.ts
6
5
  /**
7
6
  * Scans a credit-facade multicall for a delayed-withdrawal claim call.
8
7
  *
@@ -1,10 +1,9 @@
1
- import { AbstractAdapterContract } from "../../onchain/market/adapters/contracts/AbstractAdapter.js";
2
- import { sdkErr, sdkOk } from "../../model/result.js";
3
- import "../../model/index.js";
4
- import { decodeDelayedIntent } from "../../onchain/accounts/withdrawal-compressor/intent-codec.js";
5
- import "../../onchain/index.js";
1
+ import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
2
+ import { sdkErr, sdkOk } from "../../../model/result.js";
3
+ import "../../../model/index.js";
4
+ import { decodeDelayedIntent } from "../../accounts/withdrawal-compressor/intent-codec.js";
6
5
  import { isAddressEqual } from "viem";
7
- //#region src/preview/preview/detectDelayedOperation.ts
6
+ //#region src/onchain/preview/preview/detectDelayedOperation.ts
8
7
  /**
9
8
  * Scans a credit-facade multicall for a delayed-withdrawal request.
10
9
  *
@@ -1,5 +1,5 @@
1
1
  import { isAddressEqual } from "viem";
2
- //#region src/preview/preview/estimateClaimableAt.ts
2
+ //#region src/onchain/preview/preview/estimateClaimableAt.ts
3
3
  /**
4
4
  * Estimates when a newly requested delayed withdrawal becomes claimable:
5
5
  * `now + withdrawalLength` of the cached withdrawable asset whose phantom
@@ -3,11 +3,10 @@ import { CreditAccountState } from "./CreditAccountState.js";
3
3
  import { classifyCloseOrRepay, isCloseOrRepay } from "./detectCloseOrRepay.js";
4
4
  import { detectDelayedClaim, resolveDelayedClaimIntent } from "./detectDelayedClaim.js";
5
5
  import { detectDelayedOperation } from "./detectDelayedOperation.js";
6
- import { adapterCallOutsideBracketError, invalidTransactionValueError, malformedBracketError, nonAdapterCallInBracketError, unpreviewableAdapterCallError, unsupportedOutOfBracketCallError } from "./errors.js";
7
6
  import { estimateClaimableAt } from "./estimateClaimableAt.js";
8
- import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
9
- import { replayMulticall } from "./replayMulticall.js";
10
7
  import { previewAdjustStrategyPosition } from "./previewAdjustStrategyPosition.js";
11
8
  import { previewExitOrRepayStrategyPosition } from "./previewExitOrRepayStrategyPosition.js";
9
+ import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
10
+ import { replayMulticall } from "./replayMulticall.js";
12
11
  import { previewOperation } from "./previewOperation.js";
13
- export { CreditAccountState, adapterCallOutsideBracketError, buildDelayedStrategyPositionOperationPreview, classifyCloseOrRepay, detectDelayedClaim, detectDelayedOperation, estimateClaimableAt, invalidTransactionValueError, isCloseOrRepay, makeReplayState, malformedBracketError, nonAdapterCallInBracketError, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent, unpreviewableAdapterCallError, unsupportedOutOfBracketCallError };
12
+ export { CreditAccountState, buildDelayedStrategyPositionOperationPreview, classifyCloseOrRepay, detectDelayedClaim, detectDelayedOperation, estimateClaimableAt, isCloseOrRepay, makeReplayState, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent };
@@ -1,33 +1,29 @@
1
- import { AP_WETH_TOKEN } from "../../onchain/constants/address-provider.js";
2
- import { DUST_THRESHOLD } from "../../onchain/constants/math.js";
3
- import { asEstimated } from "../../model/previews.js";
4
- import "../../model/index.js";
5
- import "../../onchain/index.js";
6
- import { replayMulticall } from "./replayMulticall.js";
1
+ import { AP_WETH_TOKEN } from "../../constants/address-provider.js";
2
+ import { DUST_THRESHOLD } from "../../constants/math.js";
3
+ import { asEstimated } from "../../../model/previews.js";
4
+ import { sdkOk } from "../../../model/result.js";
5
+ import "../../../model/index.js";
7
6
  import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
8
- //#region src/preview/preview/previewAdjustStrategyPosition.ts
7
+ //#region src/onchain/preview/preview/previewAdjustStrategyPosition.ts
9
8
  /**
10
9
  * Previews a `multicall`/`botMulticall` operation on an existing credit
11
- * account: threads the multicall through {@link replayMulticall} over the
12
- * pre-resolved account state (`options.creditAccount`) and reports the
13
- * minimal guaranteed post-state alongside the changes relative to the
14
- * pre-state.
10
+ * account: reports the replayed post-state alongside the changes relative
11
+ * to the pre-state.
15
12
  */
16
- function previewAdjustStrategyPosition(input, operation, options) {
17
- const { sdk, value = 0n } = input;
13
+ function previewAdjustStrategyPosition(sdk, input, operation, replay) {
14
+ const { value = 0n } = input;
18
15
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
19
16
  const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
20
17
  const oracle = market.priceOracle;
21
- const { before, after, warning: replayWarning } = replayMulticall(sdk, operation, options);
18
+ const { before, after } = replay;
22
19
  const account = after.account;
23
- let warning = replayWarning;
24
- const { assets: collateralAdded, warning: unwrapWarning } = unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
25
- warning ??= unwrapWarning;
20
+ const unwrapped = unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
21
+ if (!unwrapped.ok) return unwrapped;
22
+ const collateralAdded = unwrapped.data;
26
23
  const assetsChange = account.balances.difference(before.balances).toAssets(DUST_THRESHOLD);
27
24
  const priced = oracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
28
- warning ??= priced.error;
29
25
  const snap = account.toSnapshot(priced.value);
30
- return {
26
+ return sdkOk({
31
27
  operation: "AdjustCreditAccount",
32
28
  ...asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: before.totalDebt - account.totalDebt })),
33
29
  creditAccount: operation.creditAccount,
@@ -41,8 +37,8 @@ function previewAdjustStrategyPosition(input, operation, options) {
41
37
  ...oracle.toAmount(market.underlying, q.balance)
42
38
  })),
43
39
  assetsChange: assetsChange.map((a) => oracle.toTokenAmount(a.token, a.balance)),
44
- warning
45
- };
40
+ warning: priced.error
41
+ });
46
42
  }
47
43
  //#endregion
48
44
  export { previewAdjustStrategyPosition };
@@ -1,34 +1,28 @@
1
- import { AP_WETH_TOKEN } from "../../onchain/constants/address-provider.js";
2
- import "../../onchain/constants/math.js";
3
- import { asEstimated } from "../../model/previews.js";
4
- import "../../model/index.js";
5
- import "../../onchain/index.js";
1
+ import { AP_WETH_TOKEN } from "../../constants/address-provider.js";
2
+ import "../../constants/math.js";
3
+ import { asEstimated } from "../../../model/previews.js";
4
+ import { sdkOk } from "../../../model/result.js";
5
+ import "../../../model/index.js";
6
6
  import { classifyCloseOrRepay } from "./detectCloseOrRepay.js";
7
- import { replayMulticall } from "./replayMulticall.js";
8
7
  import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
9
- //#region src/preview/preview/previewExitOrRepayStrategyPosition.ts
10
- function previewExitOrRepayStrategyPosition(input, operation, permanent, options) {
11
- const { sdk } = input;
8
+ //#region src/onchain/preview/preview/previewExitOrRepayStrategyPosition.ts
9
+ function previewExitOrRepayStrategyPosition(sdk, input, operation, permanent, replay) {
12
10
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
13
11
  const exitTokens = [market.underlying];
14
12
  const meta = sdk.tokensMeta.get(market.underlying);
15
13
  if (meta && sdk.tokensMeta.isRWAUnderlying(meta)) exitTokens.push(meta.asset);
16
- const replay = replayMulticall(sdk, operation, options);
17
- return classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? previewCloseCreditAccount(input, operation, permanent, replay) : previewRepayCreditAccount(input, operation, permanent, replay);
14
+ return classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? sdkOk(previewCloseCreditAccount(sdk, operation, permanent, replay)) : previewRepayCreditAccount(sdk, input, operation, permanent, replay);
18
15
  }
19
16
  /**
20
17
  * Previews a credit account closure: all collateral is swapped into
21
18
  * underlying, the debt is fully repaid and the remaining underlying is
22
19
  * withdrawn to the user.
23
20
  */
24
- function previewCloseCreditAccount(input, operation, permanent, replay) {
25
- const { sdk } = input;
21
+ function previewCloseCreditAccount(sdk, operation, permanent, replay) {
26
22
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
27
- const { before, after, warning: replayWarning } = replay;
23
+ const { before, after } = replay;
28
24
  const account = after.account;
29
- let warning = replayWarning;
30
25
  const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
31
- warning ??= priced.error;
32
26
  const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
33
27
  let receivedToken = market.underlying;
34
28
  for (const m of operation.multicall) if (m.operation === "WithdrawCollateral" && m.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n) {
@@ -43,7 +37,7 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
43
37
  name: suite.accountStrategyName(operation.creditAccount),
44
38
  targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
45
39
  receivedAmount: market.priceOracle.toTokenAmount(receivedToken, after.collateralWithdrawn.getOrZero(receivedToken)),
46
- warning
40
+ warning: priced.error
47
41
  };
48
42
  }
49
43
  /**
@@ -51,17 +45,17 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
51
45
  * from the wallet when needed) and collateral is returned to the user
52
46
  * in-kind.
53
47
  */
54
- function previewRepayCreditAccount(input, operation, permanent, replay) {
55
- const { sdk, value = 0n } = input;
48
+ function previewRepayCreditAccount(sdk, input, operation, permanent, replay) {
49
+ const { value = 0n } = input;
56
50
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
57
- const { before, after, warning: replayWarning } = replay;
51
+ const { before, after } = replay;
58
52
  const account = after.account;
59
- const { assets: collateralAdded, warning: unwrapWarning } = unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
60
- let warning = replayWarning ?? unwrapWarning;
53
+ const unwrapped = unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
54
+ if (!unwrapped.ok) return unwrapped;
55
+ const collateralAdded = unwrapped.data;
61
56
  const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
62
- warning ??= priced.error;
63
57
  const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
64
- return {
58
+ return sdkOk({
65
59
  operation: "RepayCreditAccount",
66
60
  permanent,
67
61
  ...asEstimated(sdk.positions.projection(account.toSnapshot(priced.value), { availableLiquidityChange: before.totalDebt - account.totalDebt })),
@@ -71,8 +65,8 @@ function previewRepayCreditAccount(input, operation, permanent, replay) {
71
65
  collateralAdded: collateralAdded.map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
72
66
  debtRepaid: market.toUnderlyingAmount(before.totalDebt - account.totalDebt),
73
67
  collateralWithdrawn: after.collateralWithdrawn.toAssets().map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
74
- warning
75
- };
68
+ warning: priced.error
69
+ });
76
70
  }
77
71
  //#endregion
78
72
  export { previewExitOrRepayStrategyPosition };
@@ -1,35 +1,45 @@
1
- import { AP_WETH_TOKEN } from "../../onchain/constants/address-provider.js";
2
- import { asEstimated } from "../../model/previews.js";
3
- import "../../model/index.js";
4
- import "../../onchain/index.js";
1
+ import { AP_WETH_TOKEN } from "../../constants/address-provider.js";
2
+ import { asEstimated } from "../../../model/previews.js";
3
+ import { sdkErr, sdkOk } from "../../../model/result.js";
4
+ import "../../../model/index.js";
5
5
  import { CreditAccountState } from "./CreditAccountState.js";
6
- import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
7
6
  import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
8
- //#region src/preview/preview/previewOpenStrategyPosition.ts
9
- function previewOpenStrategyPosition(input, operation) {
10
- const { sdk, value = 0n } = input;
7
+ import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
8
+ //#region src/onchain/preview/preview/previewOpenStrategyPosition.ts
9
+ function previewOpenStrategyPosition(sdk, input, operation) {
10
+ const { value = 0n } = input;
11
11
  const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
12
12
  const oracle = market.priceOracle;
13
13
  const state = makeReplayState(CreditAccountState.beforeOpen(operation.creditManager, market.underlying));
14
- let warning = replayInnerOperations(sdk, operation.multicall, state);
14
+ const replayError = replayInnerOperations(sdk, operation.multicall, state);
15
+ if (replayError) return sdkErr(replayError);
15
16
  const account = state.account;
16
- let priceWarning;
17
+ let warning;
17
18
  const netValue = state.collateralAdded.sum((token, balance) => {
18
19
  const priced = oracle.safeConvert(token, market.underlying, balance);
19
- priceWarning ??= priced.error;
20
+ warning ??= priced.error;
20
21
  return priced.value;
21
22
  });
22
- const { assets: collateral, warning: unwrapWarning } = unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
23
- warning ??= unwrapWarning ?? priceWarning;
23
+ const unwrapped = unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
24
+ if (!unwrapped.ok) return unwrapped;
25
+ const collateral = unwrapped.data;
24
26
  const snap = account.toSnapshot(netValue + account.totalDebt);
25
27
  const targetAsset = inferTargetAsset(operation.multicall, account.balances);
26
- return {
27
- operation: operation.operation,
28
+ const projection = {
28
29
  ...asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: -account.totalDebt })),
29
30
  targetCollateral: targetAsset ? oracle.toTokenAmount(targetAsset.token, targetAsset.balance) : void 0,
30
31
  collateralAdded: collateral.map((a) => oracle.toTokenAmount(a.token, a.balance)),
31
32
  warning
32
33
  };
34
+ if (operation.operation === "RWAOpenCreditAccount") return sdkOk({
35
+ ...projection,
36
+ operation: "RWAOpenCreditAccount",
37
+ rwaArgs: operation.args
38
+ });
39
+ return sdkOk({
40
+ ...projection,
41
+ operation: "OpenCreditAccount"
42
+ });
33
43
  }
34
44
  /**
35
45
  * Infers the strategy target token of an account opening: the first quoted