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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/dist/cjs/history/assembleOperations.js +3 -3
  2. package/dist/cjs/history/classifyMulticallOperations.js +7 -7
  3. package/dist/cjs/history/index.js +13 -0
  4. package/dist/cjs/history/parseCreditAccountTransaction.js +5 -5
  5. package/dist/cjs/{preview → history}/trace/errors.js +1 -1
  6. package/dist/cjs/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
  7. package/dist/cjs/{preview → history}/trace/extractTransfers.js +3 -3
  8. package/dist/cjs/{preview → history}/trace/findFacadeCalls.js +3 -3
  9. package/dist/cjs/history/trace/index.js +14 -0
  10. package/dist/cjs/model/errors/index.js +37 -0
  11. package/dist/cjs/model/errors/liquidation-errors.js +32 -0
  12. package/dist/cjs/model/errors/operation-errors.js +135 -0
  13. package/dist/cjs/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
  14. package/dist/cjs/model/errors/prepare-errors.js +108 -0
  15. package/dist/cjs/model/errors/preview-errors.js +12 -0
  16. package/dist/cjs/model/index.js +40 -2
  17. package/dist/cjs/model/positions.js +1 -1
  18. package/dist/cjs/model/result.js +0 -8
  19. package/dist/cjs/model/rwa.js +40 -0
  20. package/dist/cjs/onchain/accounts/index.js +0 -2
  21. package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
  22. package/dist/cjs/onchain/accounts/intents/index.js +38 -35
  23. package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
  24. package/dist/cjs/onchain/accounts/intents/math.js +19 -15
  25. package/dist/cjs/onchain/accounts/intents/open-strategy.js +6 -4
  26. package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
  27. package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
  28. package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
  29. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  30. package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  31. package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  32. package/dist/cjs/onchain/accounts/intents/view.js +1 -1
  33. package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
  34. package/dist/cjs/onchain/index.js +122 -36
  35. package/dist/cjs/onchain/market/MarketSuite.js +7 -1
  36. package/dist/cjs/onchain/market/adapters/index.js +1 -0
  37. package/dist/cjs/onchain/market/credit/CreditSuite.js +47 -15
  38. package/dist/cjs/onchain/market/index.js +0 -6
  39. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
  40. package/dist/cjs/onchain/market/oracle/index.js +0 -2
  41. package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  42. package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
  43. package/dist/cjs/onchain/market/rwa/index.js +0 -4
  44. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +7 -7
  45. package/dist/cjs/onchain/market/rwa/securitize/constants.js +0 -2
  46. package/dist/cjs/onchain/market/rwa/securitize/index.js +1 -3
  47. package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
  48. package/dist/cjs/onchain/market/rwa/types.js +0 -7
  49. package/dist/cjs/onchain/market/zapper/index.js +0 -1
  50. package/dist/cjs/onchain/pools/PoolService.js +10 -16
  51. package/dist/cjs/onchain/preview/index.js +41 -0
  52. package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  53. package/dist/cjs/onchain/preview/parse/index.js +14 -0
  54. package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
  55. package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
  56. package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  57. package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
  58. package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
  59. package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  60. package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  61. package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  62. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  63. package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  64. package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  65. package/dist/cjs/onchain/preview/preview/index.js +26 -0
  66. package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
  67. package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
  68. package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
  69. package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
  70. package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
  71. package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
  72. package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
  73. package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  74. package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
  75. package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
  76. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
  77. package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
  78. package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
  79. package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
  80. package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
  81. package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
  82. package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
  83. package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
  84. package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
  85. package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
  86. package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
  87. package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
  88. package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
  89. package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
  90. package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
  91. package/dist/cjs/onchain/validation/bundles/index.js +35 -0
  92. package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
  93. package/dist/cjs/onchain/validation/checkOperation.js +62 -0
  94. package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
  95. package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
  96. package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
  97. package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
  98. package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
  99. package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
  100. package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
  101. package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
  102. package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
  103. package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
  104. package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
  105. package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
  106. package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
  107. package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
  108. package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
  109. package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
  110. package/dist/cjs/onchain/validation/checks/index.js +31 -0
  111. package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
  112. package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
  113. package/dist/cjs/onchain/validation/helpers/index.js +11 -0
  114. package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
  115. package/dist/cjs/onchain/validation/index.js +85 -27
  116. package/dist/cjs/onchain/validation/raise.js +33 -0
  117. package/dist/cjs/sdk/index.js +6 -11
  118. package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
  119. package/dist/cjs/sdk/prepare/PrepareApi.js +40 -50
  120. package/dist/cjs/sdk/prepare/index.js +7 -11
  121. package/dist/cjs/sdk/prepare/types.js +0 -4
  122. package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
  123. package/dist/esm/dev/AccountOpener.js +1 -1
  124. package/dist/esm/dev/withdrawalUtils.js +1 -1
  125. package/dist/esm/history/assembleOperations.js +2 -2
  126. package/dist/esm/history/classifyMulticallOperations.js +2 -2
  127. package/dist/esm/history/index.js +6 -1
  128. package/dist/esm/history/parseCreditAccountTransaction.js +3 -3
  129. package/dist/esm/{preview → history}/trace/errors.js +1 -1
  130. package/dist/esm/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
  131. package/dist/esm/{preview → history}/trace/extractTransfers.js +2 -2
  132. package/dist/esm/{preview → history}/trace/findFacadeCalls.js +1 -1
  133. package/dist/esm/model/errors/index.js +7 -0
  134. package/dist/esm/model/errors/liquidation-errors.js +29 -0
  135. package/dist/esm/model/errors/operation-errors.js +121 -0
  136. package/dist/esm/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
  137. package/dist/esm/model/errors/prepare-errors.js +97 -0
  138. package/dist/esm/model/errors/preview-errors.js +11 -0
  139. package/dist/esm/model/index.js +9 -3
  140. package/dist/esm/model/positions.js +1 -1
  141. package/dist/esm/model/result.js +1 -8
  142. package/dist/esm/model/rwa.js +37 -0
  143. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
  144. package/dist/esm/onchain/accounts/index.js +1 -2
  145. package/dist/esm/onchain/accounts/intents/guards.js +29 -52
  146. package/dist/esm/onchain/accounts/intents/index.js +39 -35
  147. package/dist/esm/onchain/accounts/intents/leverage-band.js +1 -1
  148. package/dist/esm/onchain/accounts/intents/math.js +18 -14
  149. package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -6
  150. package/dist/esm/onchain/accounts/intents/plan.js +51 -47
  151. package/dist/esm/onchain/accounts/intents/realize.js +26 -24
  152. package/dist/esm/onchain/accounts/intents/tail.js +14 -11
  153. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +7 -0
  154. package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
  155. package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
  156. package/dist/esm/onchain/accounts/intents/view.js +1 -1
  157. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  158. package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  159. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  160. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  161. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  162. package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
  163. package/dist/esm/onchain/base/TokensMeta.js +3 -3
  164. package/dist/esm/onchain/core/createAddressProvider.js +1 -1
  165. package/dist/esm/onchain/index.js +61 -10
  166. package/dist/esm/onchain/market/MarketSuite.js +7 -1
  167. package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  168. package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
  169. package/dist/esm/onchain/market/adapters/index.js +1 -0
  170. package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  171. package/dist/esm/onchain/market/credit/CreditSuite.js +47 -15
  172. package/dist/esm/onchain/market/index.js +3 -5
  173. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
  174. package/dist/esm/onchain/market/oracle/index.js +1 -2
  175. package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
  176. package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
  177. package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
  178. package/dist/esm/onchain/market/rwa/index.js +3 -4
  179. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +2 -2
  180. package/dist/esm/onchain/market/rwa/securitize/constants.js +1 -2
  181. package/dist/esm/onchain/market/rwa/securitize/index.js +3 -3
  182. package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
  183. package/dist/esm/onchain/market/rwa/types.js +1 -7
  184. package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
  185. package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
  186. package/dist/esm/onchain/market/zapper/index.js +0 -1
  187. package/dist/esm/onchain/pools/PoolService.js +10 -16
  188. package/dist/esm/onchain/preview/index.js +20 -0
  189. package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
  190. package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
  191. package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
  192. package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
  193. package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
  194. package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
  195. package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
  196. package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
  197. package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
  198. package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
  199. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
  200. package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
  201. package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
  202. package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
  203. package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
  204. package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
  205. package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
  206. package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
  207. package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
  208. package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
  209. package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
  210. package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
  211. package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  212. package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
  213. package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
  214. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
  215. package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
  216. package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
  217. package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
  218. package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
  219. package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
  220. package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
  221. package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
  222. package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
  223. package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
  224. package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
  225. package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
  226. package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
  227. package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
  228. package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
  229. package/dist/esm/onchain/validation/bundles/index.js +18 -0
  230. package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
  231. package/dist/esm/onchain/validation/checkOperation.js +61 -0
  232. package/dist/esm/onchain/validation/checkSimulation.js +59 -0
  233. package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
  234. package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
  235. package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
  236. package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
  237. package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
  238. package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
  239. package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
  240. package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
  241. package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
  242. package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
  243. package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
  244. package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
  245. package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
  246. package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
  247. package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
  248. package/dist/esm/onchain/validation/checks/index.js +16 -0
  249. package/dist/esm/onchain/validation/helpers/amount.js +11 -0
  250. package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
  251. package/dist/esm/onchain/validation/helpers/index.js +4 -0
  252. package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
  253. package/dist/esm/onchain/validation/index.js +43 -4
  254. package/dist/esm/onchain/validation/raise.js +31 -0
  255. package/dist/esm/sdk/index.js +2 -3
  256. package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
  257. package/dist/esm/sdk/prepare/PrepareApi.js +25 -35
  258. package/dist/esm/sdk/prepare/index.js +3 -3
  259. package/dist/esm/sdk/prepare/types.js +1 -2
  260. package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
  261. package/dist/types/history/assembleOperations.d.ts +4 -5
  262. package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
  263. package/dist/types/history/index.d.ts +8 -2
  264. package/dist/types/history/mapOperations.d.ts +1 -1
  265. package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
  266. package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
  267. package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
  268. package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
  269. package/dist/types/{preview → history}/trace/types.d.ts +1 -1
  270. package/dist/types/history/types.d.ts +2 -3
  271. package/dist/types/model/errors/base.d.ts +28 -0
  272. package/dist/types/model/errors/index.d.ts +7 -0
  273. package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
  274. package/dist/types/model/errors/operation-errors.d.ts +216 -0
  275. package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
  276. package/dist/types/model/errors/prepare-errors.d.ts +131 -0
  277. package/dist/types/model/errors/preview-errors.d.ts +72 -0
  278. package/dist/types/model/index.d.ts +11 -4
  279. package/dist/types/model/opportunities.d.ts +3 -2
  280. package/dist/types/model/positions.d.ts +2 -2
  281. package/dist/types/model/previews.d.ts +52 -113
  282. package/dist/types/model/result.d.ts +4 -8
  283. package/dist/types/model/rwa.d.ts +143 -0
  284. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
  285. package/dist/types/onchain/accounts/index.d.ts +2 -4
  286. package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
  287. package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
  288. package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
  289. package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
  290. package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
  291. package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
  292. package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
  293. package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
  294. package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
  295. package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
  296. package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
  297. package/dist/types/onchain/accounts/types.d.ts +2 -1
  298. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
  299. package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
  300. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
  301. package/dist/types/onchain/index.d.ts +68 -13
  302. package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
  303. package/dist/types/onchain/market/adapters/index.d.ts +2 -1
  304. package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
  305. package/dist/types/onchain/market/credit/CreditSuite.d.ts +20 -8
  306. package/dist/types/onchain/market/credit/index.d.ts +2 -2
  307. package/dist/types/onchain/market/credit/types.d.ts +11 -1
  308. package/dist/types/onchain/market/index.d.ts +6 -7
  309. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
  310. package/dist/types/onchain/market/oracle/index.d.ts +1 -2
  311. package/dist/types/onchain/market/oracle/types.d.ts +1 -1
  312. package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
  313. package/dist/types/onchain/market/rwa/index.d.ts +4 -4
  314. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +3 -2
  315. package/dist/types/onchain/market/rwa/securitize/constants.d.ts +1 -2
  316. package/dist/types/onchain/market/rwa/securitize/index.d.ts +3 -3
  317. package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
  318. package/dist/types/onchain/market/rwa/types.d.ts +6 -32
  319. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
  320. package/dist/types/onchain/market/zapper/index.d.ts +1 -2
  321. package/dist/types/onchain/market/zapper/types.d.ts +1 -1
  322. package/dist/types/onchain/pools/types.d.ts +2 -2
  323. package/dist/types/onchain/preview/index.d.ts +24 -0
  324. package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
  325. package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
  326. package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
  327. package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
  328. package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
  329. package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
  330. package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
  331. package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
  332. package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
  333. package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
  334. package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
  335. package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
  336. package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
  337. package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
  338. package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
  339. package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
  340. package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
  341. package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
  342. package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
  343. package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
  344. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
  345. package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
  346. package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
  347. package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
  348. package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
  349. package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
  350. package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
  351. package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
  352. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
  353. package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
  354. package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
  355. package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
  356. package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
  357. package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
  358. package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
  359. package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
  360. package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
  361. package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
  362. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
  363. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
  364. package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
  365. package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
  366. package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
  367. package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
  368. package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
  369. package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
  370. package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
  371. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
  372. package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
  373. package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
  374. package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
  375. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
  376. package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
  377. package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
  378. package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
  379. package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
  380. package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
  381. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
  382. package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
  383. package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
  384. package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
  385. package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
  386. package/dist/types/onchain/validation/checks/index.d.ts +16 -0
  387. package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
  388. package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
  389. package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
  390. package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
  391. package/dist/types/onchain/validation/index.d.ts +43 -4
  392. package/dist/types/onchain/validation/raise.d.ts +33 -0
  393. package/dist/types/sdk/execute/types.d.ts +2 -2
  394. package/dist/types/sdk/index.d.ts +5 -6
  395. package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
  396. package/dist/types/sdk/liquidations/types.d.ts +8 -0
  397. package/dist/types/sdk/prepare/PrepareApi.d.ts +5 -4
  398. package/dist/types/sdk/prepare/index.d.ts +5 -5
  399. package/dist/types/sdk/prepare/types.d.ts +41 -22
  400. package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
  401. package/dist/types/sdk/preview/index.d.ts +2 -2
  402. package/dist/types/sdk/preview/types.d.ts +30 -7
  403. package/package.json +1 -6
  404. package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  405. package/dist/cjs/onchain/market/zapper/errors.js +0 -1
  406. package/dist/cjs/onchain/validation/checks.js +0 -258
  407. package/dist/cjs/onchain/validation/refusal.js +0 -39
  408. package/dist/cjs/preview/index.js +0 -86
  409. package/dist/cjs/preview/package.json +0 -1
  410. package/dist/cjs/preview/parse/errors.js +0 -1
  411. package/dist/cjs/preview/parse/index.js +0 -15
  412. package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
  413. package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
  414. package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
  415. package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
  416. package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
  417. package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
  418. package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
  419. package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
  420. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
  421. package/dist/cjs/preview/prerequisites/helpers.js +0 -23
  422. package/dist/cjs/preview/prerequisites/index.js +0 -12
  423. package/dist/cjs/preview/preview/errors.js +0 -85
  424. package/dist/cjs/preview/preview/index.js +0 -33
  425. package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
  426. package/dist/cjs/preview/preview/previewOperation.js +0 -100
  427. package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
  428. package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
  429. package/dist/cjs/preview/preview/replayMulticall.js +0 -19
  430. package/dist/cjs/preview/simulate/errors.js +0 -73
  431. package/dist/cjs/preview/simulate/index.js +0 -11
  432. package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
  433. package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
  434. package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
  435. package/dist/cjs/preview/simulate/types.js +0 -1
  436. package/dist/cjs/preview/trace/index.js +0 -14
  437. package/dist/cjs/preview/trace/types.js +0 -1
  438. package/dist/cjs/preview/types.js +0 -1
  439. package/dist/cjs/preview/validate/checkOperation.js +0 -187
  440. package/dist/cjs/preview/validate/checkSimulation.js +0 -39
  441. package/dist/cjs/preview/validate/index.js +0 -8
  442. package/dist/cjs/sdk/prepare/errors.js +0 -114
  443. package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
  444. package/dist/esm/onchain/market/zapper/errors.js +0 -1
  445. package/dist/esm/onchain/validation/checks.js +0 -238
  446. package/dist/esm/onchain/validation/refusal.js +0 -36
  447. package/dist/esm/preview/index.js +0 -38
  448. package/dist/esm/preview/package.json +0 -1
  449. package/dist/esm/preview/parse/errors.js +0 -1
  450. package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
  451. package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
  452. package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
  453. package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
  454. package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
  455. package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
  456. package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
  457. package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
  458. package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
  459. package/dist/esm/preview/prerequisites/helpers.js +0 -22
  460. package/dist/esm/preview/prerequisites/index.js +0 -7
  461. package/dist/esm/preview/preview/errors.js +0 -79
  462. package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
  463. package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
  464. package/dist/esm/preview/preview/replayMulticall.js +0 -18
  465. package/dist/esm/preview/simulate/errors.js +0 -71
  466. package/dist/esm/preview/simulate/index.js +0 -6
  467. package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
  468. package/dist/esm/preview/simulate/simulateOperation.js +0 -28
  469. package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
  470. package/dist/esm/preview/simulate/types.js +0 -1
  471. package/dist/esm/preview/trace/types.js +0 -1
  472. package/dist/esm/preview/types.js +0 -1
  473. package/dist/esm/preview/validate/checkOperation.js +0 -183
  474. package/dist/esm/preview/validate/checkSimulation.js +0 -38
  475. package/dist/esm/preview/validate/index.js +0 -3
  476. package/dist/esm/sdk/prepare/errors.js +0 -108
  477. package/dist/types/model/errors.d.ts +0 -46
  478. package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
  479. package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
  480. package/dist/types/onchain/validation/checks.d.ts +0 -164
  481. package/dist/types/onchain/validation/refusal.d.ts +0 -242
  482. package/dist/types/preview/index.d.ts +0 -47
  483. package/dist/types/preview/parse/errors.d.ts +0 -29
  484. package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
  485. package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
  486. package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
  487. package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
  488. package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
  489. package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
  490. package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
  491. package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
  492. package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
  493. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
  494. package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
  495. package/dist/types/preview/prerequisites/index.d.ts +0 -7
  496. package/dist/types/preview/prerequisites/types.d.ts +0 -53
  497. package/dist/types/preview/preview/errors.d.ts +0 -44
  498. package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
  499. package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
  500. package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
  501. package/dist/types/preview/preview/previewOperation.d.ts +0 -32
  502. package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
  503. package/dist/types/preview/simulate/errors.d.ts +0 -52
  504. package/dist/types/preview/simulate/index.d.ts +0 -7
  505. package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
  506. package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
  507. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
  508. package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
  509. package/dist/types/preview/simulate/types.d.ts +0 -48
  510. package/dist/types/preview/types.d.ts +0 -65
  511. package/dist/types/preview/validate/checkOperation.d.ts +0 -71
  512. package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
  513. package/dist/types/preview/validate/index.d.ts +0 -3
  514. package/dist/types/sdk/prepare/errors.d.ts +0 -343
  515. /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
  516. /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
  517. /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  518. /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
  519. /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
  520. /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  521. /package/dist/esm/{preview → history}/trace/index.js +0 -0
  522. /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
  523. /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
  524. /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
  525. /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
  526. /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
  527. /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
  528. /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
@@ -1,19 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_preview_prerequisites_helpers = require("./helpers.js");
3
- //#region src/preview/prerequisites/buildPartialLiquidationPrerequisites.ts
4
- /**
5
- * Partial liquidation pulls the repaid underlying from the liquidator: they
6
- * must have approved it to the credit manager and hold enough of it.
7
- */
8
- function buildPartialLiquidationPrerequisites(tx, ctx) {
9
- if (tx.repaidAmount === 0n) return [];
10
- const suite = ctx.sdk.marketRegister.findByCreditManager(tx.creditManager);
11
- return require_preview_prerequisites_helpers.allowanceAndBalance({
12
- token: suite.underlying,
13
- owner: ctx.wallet,
14
- spender: tx.creditManager,
15
- required: tx.repaidAmount
16
- });
17
- }
18
- //#endregion
19
- exports.buildPartialLiquidationPrerequisites = buildPartialLiquidationPrerequisites;
@@ -1,76 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../../onchain/constants/addresses.js");
3
- require("../../onchain/index.js");
4
- const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
5
- const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
6
- const require_preview_prerequisites_helpers = require("./helpers.js");
7
- let viem = require("viem");
8
- //#region src/preview/prerequisites/buildPoolPrerequisites.ts
9
- /**
10
- * Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
11
- * either direct or zapper-routed.
12
- */
13
- function buildPoolPrerequisites(tx, wallet) {
14
- switch (tx.operation) {
15
- case "Deposit":
16
- if (tx.zapper) {
17
- if ((0, viem.isAddressEqual)(tx.tokenIn, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE")) return [new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
18
- token: tx.tokenIn,
19
- owner: wallet,
20
- required: tx.assets
21
- })];
22
- return require_preview_prerequisites_helpers.allowanceAndBalance({
23
- token: tx.tokenIn,
24
- owner: wallet,
25
- spender: tx.zapper,
26
- required: tx.assets
27
- });
28
- }
29
- return require_preview_prerequisites_helpers.allowanceAndBalance({
30
- token: tx.underlying,
31
- owner: wallet,
32
- spender: tx.pool,
33
- required: tx.assets
34
- });
35
- case "Mint": return require_preview_prerequisites_helpers.allowanceAndBalance({
36
- token: tx.underlying,
37
- owner: wallet,
38
- spender: tx.pool,
39
- required: tx.shares
40
- });
41
- case "Redeem":
42
- if (tx.zapper) return [new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
43
- token: tx.tokenIn,
44
- owner: wallet,
45
- required: tx.shares
46
- }), new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
47
- token: tx.tokenIn,
48
- owner: wallet,
49
- spender: tx.zapper,
50
- required: tx.shares
51
- })];
52
- return lpSharePrerequisites(tx.pool, tx.owner, tx.shares, wallet);
53
- case "Withdraw": return lpSharePrerequisites(tx.pool, tx.owner, tx.assets, wallet);
54
- }
55
- }
56
- /**
57
- * Direct redeem/withdraw prerequisites: `owner` must hold enough LP (diesel)
58
- * tokens, and a third-party caller burning on behalf of `owner` needs an LP
59
- * allowance from them.
60
- */
61
- function lpSharePrerequisites(pool, owner, required, wallet) {
62
- const prereqs = [new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
63
- token: pool,
64
- owner,
65
- required
66
- })];
67
- if (!(0, viem.isAddressEqual)(owner, wallet)) prereqs.push(new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
68
- token: pool,
69
- owner,
70
- spender: wallet,
71
- required
72
- }));
73
- return prereqs;
74
- }
75
- //#endregion
76
- exports.buildPoolPrerequisites = buildPoolPrerequisites;
@@ -1,39 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_utils_AddressSet = require("../../onchain/utils/AddressSet.js");
3
- require("../../onchain/index.js");
4
- const require_preview_prerequisites_RWAOpenRequirementsPrerequisite = require("./RWAOpenRequirementsPrerequisite.js");
5
- //#region src/preview/prerequisites/buildRWAPrerequisites.ts
6
- /**
7
- * For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
8
- * builds a prerequisite per RWA token the multicall touches; each one checks
9
- * the factory's open-account requirements (issuer-side token registration,
10
- * EIP-712 signatures) at verify time.
11
- *
12
- * The `providedArgs` params are the registration values decoded from the
13
- * transaction calldata itself: signatures already included there satisfy the
14
- * signature requirement, so a fully built transaction is not reported as
15
- * missing signatures. In the template flow they are empty and the verified
16
- * result's `detail.missing` describes what is still unfulfilled; acting on it
17
- * (signing, rebuilding calldata) is up to the consumer.
18
- *
19
- * Returns nothing for non-RWA markets.
20
- */
21
- function buildRWAPrerequisites(multicall, creditManager, providedArgs, ctx) {
22
- const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(creditManager);
23
- if (!rwaFactory) return [];
24
- const rwaTokens = new require_onchain_utils_AddressSet.AddressSet(rwaFactory.getTokens());
25
- const candidates = new require_onchain_utils_AddressSet.AddressSet();
26
- for (const op of multicall) if (op.operation === "AddCollateral" || op.operation === "UpdateQuota") candidates.add(op.token);
27
- const prereqs = [];
28
- for (const token of candidates) {
29
- if (!rwaTokens.has(token)) continue;
30
- prereqs.push(new require_preview_prerequisites_RWAOpenRequirementsPrerequisite.RWAOpenRequirementsPrerequisite({
31
- token,
32
- creditManager,
33
- factory: rwaFactory.address
34
- }, providedArgs));
35
- }
36
- return prereqs;
37
- }
38
- //#endregion
39
- exports.buildRWAPrerequisites = buildRWAPrerequisites;
@@ -1,74 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_model_result = require("../../model/result.js");
3
- require("../../model/index.js");
4
- const require_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
5
- require("../parse/index.js");
6
- const require_preview_prerequisites_buildCollateralPrerequisites = require("./buildCollateralPrerequisites.js");
7
- const require_preview_prerequisites_buildPartialLiquidationPrerequisites = require("./buildPartialLiquidationPrerequisites.js");
8
- const require_preview_prerequisites_buildPoolPrerequisites = require("./buildPoolPrerequisites.js");
9
- const require_preview_prerequisites_buildRWAPrerequisites = require("./buildRWAPrerequisites.js");
10
- //#region src/preview/prerequisites/checkPrerequisites.ts
11
- /**
12
- * Derives and verifies the on-chain prerequisites for an operation given its
13
- * raw calldata: the conditions that must hold for the call not to revert and
14
- * that we can verify with the SDK (token approvals, wallet balances, RWA
15
- * open-account requirements).
16
- *
17
- * Each prerequisite performs its own reads and resolves into a
18
- * {@link PrerequisiteResult} (`satisfied` or `error`).
19
- *
20
- * Only *sender-actionable* prerequisites belong here: conditions the LP
21
- * provider or borrower can fix themselves before retrying (e.g. approve a
22
- * token, sign the RWA factory's messages). Non-actionable protocol/admin state
23
- * (e.g. pool is paused) is intentionally out of scope, since the user cannot
24
- * resolve it.
25
- */
26
- async function checkPrerequisites(input, options) {
27
- const { sdk, sender: wallet } = input;
28
- const tx = require_preview_parse_parseOperationCalldata.parseOperationCalldata(input);
29
- if (require_model_result.isSDKError(tx)) return tx;
30
- const ctx = {
31
- sdk,
32
- wallet,
33
- blockNumber: options?.blockNumber,
34
- value: input.value ?? 0n
35
- };
36
- const prereqs = await buildPrerequisites(tx.data, ctx);
37
- return require_model_result.sdkOk(await Promise.all(prereqs.map((p) => p.verify(ctx))));
38
- }
39
- /**
40
- * Dispatches a parsed operation to the per-operation-family prerequisite
41
- * builders.
42
- */
43
- async function buildPrerequisites(tx, ctx) {
44
- const { wallet } = ctx;
45
- switch (tx.operation) {
46
- case "Deposit":
47
- case "Mint":
48
- case "Redeem":
49
- case "Withdraw": return require_preview_prerequisites_buildPoolPrerequisites.buildPoolPrerequisites(tx, wallet);
50
- case "MultiCall":
51
- case "BotMulticall":
52
- case "OpenCreditAccount":
53
- case "CloseCreditAccount":
54
- case "LiquidateCreditAccount": return require_preview_prerequisites_buildCollateralPrerequisites.buildCollateralPrerequisites(tx.operation === "OpenCreditAccount" ? {
55
- creditManager: tx.creditManager,
56
- borrower: wallet
57
- } : {
58
- creditManager: tx.creditManager,
59
- creditAccount: tx.creditAccount
60
- }, tx.multicall, ctx);
61
- case "RWAOpenCreditAccount": return [...await require_preview_prerequisites_buildCollateralPrerequisites.buildCollateralPrerequisites({
62
- creditManager: tx.creditManager,
63
- borrower: wallet
64
- }, tx.multicall, ctx), ...require_preview_prerequisites_buildRWAPrerequisites.buildRWAPrerequisites(tx.multicall, tx.creditManager, tx.args, ctx)];
65
- case "RWAMulticall": return require_preview_prerequisites_buildCollateralPrerequisites.buildCollateralPrerequisites({
66
- creditManager: tx.creditManager,
67
- creditAccount: tx.creditAccount
68
- }, tx.multicall, ctx);
69
- case "PartiallyLiquidateCreditAccount": return require_preview_prerequisites_buildPartialLiquidationPrerequisites.buildPartialLiquidationPrerequisites(tx, ctx);
70
- default: return [];
71
- }
72
- }
73
- //#endregion
74
- exports.checkPrerequisites = checkPrerequisites;
@@ -1,23 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
3
- const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
4
- //#region src/preview/prerequisites/helpers.ts
5
- /**
6
- * The most common prerequisite pair: `owner` must have approved `spender` for
7
- * `required` of `token` and must hold at least that much of it.
8
- */
9
- function allowanceAndBalance(props) {
10
- const { token, owner, spender, required } = props;
11
- return [new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
12
- token,
13
- owner,
14
- spender,
15
- required
16
- }), new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
17
- token,
18
- owner,
19
- required
20
- })];
21
- }
22
- //#endregion
23
- exports.allowanceAndBalance = allowanceAndBalance;
@@ -1,12 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_preview_prerequisites_Prerequisite = require("./Prerequisite.js");
3
- const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
4
- const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
5
- const require_preview_prerequisites_RWAOpenRequirementsPrerequisite = require("./RWAOpenRequirementsPrerequisite.js");
6
- const require_preview_prerequisites_checkPrerequisites = require("./checkPrerequisites.js");
7
- require("./types.js");
8
- exports.AllowancePrerequisite = require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite;
9
- exports.BalancePrerequisite = require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite;
10
- exports.Prerequisite = require_preview_prerequisites_Prerequisite.Prerequisite;
11
- exports.RWAOpenRequirementsPrerequisite = require_preview_prerequisites_RWAOpenRequirementsPrerequisite.RWAOpenRequirementsPrerequisite;
12
- exports.checkPrerequisites = require_preview_prerequisites_checkPrerequisites.checkPrerequisites;
@@ -1,85 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/preview/preview/errors.ts
3
- const MALFORMED_BRACKET_MESSAGE = {
4
- nested: "nested storeExpectedBalances/compareBalances bracket",
5
- unmatchedCompare: "compareBalances without a preceding storeExpectedBalances",
6
- unmatchedStore: "storeExpectedBalances without a matching compareBalances"
7
- };
8
- /**
9
- * Builds a {@link MalformedBracketError} for the given bracket invariant.
10
- **/
11
- function malformedBracketError(kind) {
12
- return {
13
- code: "malformedBracket",
14
- message: MALFORMED_BRACKET_MESSAGE[kind],
15
- kind
16
- };
17
- }
18
- /**
19
- * Builds an {@link AdapterCallOutsideBracketError} for `adapter`.
20
- **/
21
- function adapterCallOutsideBracketError(adapter) {
22
- return {
23
- code: "adapterCallOutsideBracket",
24
- message: `call to ${adapter} outside of a storeExpectedBalances/compareBalances bracket`,
25
- adapter
26
- };
27
- }
28
- /**
29
- * Builds a {@link NonAdapterCallInBracketError} for `target`.
30
- **/
31
- function nonAdapterCallInBracketError(target) {
32
- return {
33
- code: "nonAdapterCallInBracket",
34
- message: `call to ${target} between storeExpectedBalances and compareBalances is not an adapter call`,
35
- target
36
- };
37
- }
38
- function asCause(cause) {
39
- return cause instanceof Error ? cause : new Error(String(cause));
40
- }
41
- /**
42
- * Builds an {@link UnpreviewableAdapterCallError} for a bracketed adapter
43
- * call that could not be replayed.
44
- **/
45
- function unpreviewableAdapterCallError(adapter, cause) {
46
- const err = asCause(cause);
47
- return {
48
- code: "unpreviewableAdapterCall",
49
- message: err.message,
50
- adapter,
51
- cause: err
52
- };
53
- }
54
- /**
55
- * Builds an {@link UnsupportedOutOfBracketCallError} for an allowed
56
- * out-of-bracket adapter call that could not be replayed.
57
- **/
58
- function unsupportedOutOfBracketCallError(adapter, cause) {
59
- const err = asCause(cause);
60
- return {
61
- code: "unsupportedOutOfBracketCall",
62
- message: err.message,
63
- adapter,
64
- cause: err
65
- };
66
- }
67
- /**
68
- * Builds an {@link InvalidTransactionValueError} when `msg.value` does not
69
- * fit into the declared WETH collateral.
70
- **/
71
- function invalidTransactionValueError(value, wethCollateral) {
72
- return {
73
- code: "invalidTransactionValue",
74
- message: `transaction value ${value} exceeds WETH collateral ${wethCollateral}`,
75
- value,
76
- wethCollateral
77
- };
78
- }
79
- //#endregion
80
- exports.adapterCallOutsideBracketError = adapterCallOutsideBracketError;
81
- exports.invalidTransactionValueError = invalidTransactionValueError;
82
- exports.malformedBracketError = malformedBracketError;
83
- exports.nonAdapterCallInBracketError = nonAdapterCallInBracketError;
84
- exports.unpreviewableAdapterCallError = unpreviewableAdapterCallError;
85
- exports.unsupportedOutOfBracketCallError = unsupportedOutOfBracketCallError;
@@ -1,33 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
3
- const require_preview_preview_CreditAccountState = require("./CreditAccountState.js");
4
- const require_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
5
- const require_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
6
- const require_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
7
- const require_preview_preview_errors = require("./errors.js");
8
- const require_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
9
- const require_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
10
- const require_preview_preview_replayMulticall = require("./replayMulticall.js");
11
- const require_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
12
- const require_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
13
- const require_preview_preview_previewOperation = require("./previewOperation.js");
14
- exports.CreditAccountState = require_preview_preview_CreditAccountState.CreditAccountState;
15
- exports.adapterCallOutsideBracketError = require_preview_preview_errors.adapterCallOutsideBracketError;
16
- exports.buildDelayedStrategyPositionOperationPreview = require_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview;
17
- exports.classifyCloseOrRepay = require_preview_preview_detectCloseOrRepay.classifyCloseOrRepay;
18
- exports.detectDelayedClaim = require_preview_preview_detectDelayedClaim.detectDelayedClaim;
19
- exports.detectDelayedOperation = require_preview_preview_detectDelayedOperation.detectDelayedOperation;
20
- exports.estimateClaimableAt = require_preview_preview_estimateClaimableAt.estimateClaimableAt;
21
- exports.invalidTransactionValueError = require_preview_preview_errors.invalidTransactionValueError;
22
- exports.isCloseOrRepay = require_preview_preview_detectCloseOrRepay.isCloseOrRepay;
23
- exports.makeReplayState = require_preview_preview_replayInnerOperations.makeReplayState;
24
- exports.malformedBracketError = require_preview_preview_errors.malformedBracketError;
25
- exports.nonAdapterCallInBracketError = require_preview_preview_errors.nonAdapterCallInBracketError;
26
- exports.previewAdjustStrategyPosition = require_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition;
27
- exports.previewExitOrRepayStrategyPosition = require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition;
28
- exports.previewOperation = require_preview_preview_previewOperation.previewOperation;
29
- exports.replayInnerOperations = require_preview_preview_replayInnerOperations.replayInnerOperations;
30
- exports.replayMulticall = require_preview_preview_replayMulticall.replayMulticall;
31
- exports.resolveDelayedClaimIntent = require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent;
32
- exports.unpreviewableAdapterCallError = require_preview_preview_errors.unpreviewableAdapterCallError;
33
- exports.unsupportedOutOfBracketCallError = require_preview_preview_errors.unsupportedOutOfBracketCallError;
@@ -1,50 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_constants_address_provider = require("../../onchain/constants/address-provider.js");
3
- const require_model_previews = require("../../model/previews.js");
4
- require("../../model/index.js");
5
- require("../../onchain/index.js");
6
- const require_preview_preview_CreditAccountState = require("./CreditAccountState.js");
7
- const require_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
8
- const require_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
9
- //#region src/preview/preview/previewOpenStrategyPosition.ts
10
- function previewOpenStrategyPosition(input, operation) {
11
- const { sdk, value = 0n } = input;
12
- const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
13
- const oracle = market.priceOracle;
14
- const state = require_preview_preview_replayInnerOperations.makeReplayState(require_preview_preview_CreditAccountState.CreditAccountState.beforeOpen(operation.creditManager, market.underlying));
15
- let warning = require_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, state);
16
- const account = state.account;
17
- let priceWarning;
18
- const netValue = state.collateralAdded.sum((token, balance) => {
19
- const priced = oracle.safeConvert(token, market.underlying, balance);
20
- priceWarning ??= priced.error;
21
- return priced.value;
22
- });
23
- const { assets: collateral, warning: unwrapWarning } = require_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
24
- warning ??= unwrapWarning ?? priceWarning;
25
- const snap = account.toSnapshot(netValue + account.totalDebt);
26
- const targetAsset = inferTargetAsset(operation.multicall, account.balances);
27
- return {
28
- operation: operation.operation,
29
- ...require_model_previews.asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: -account.totalDebt })),
30
- targetCollateral: targetAsset ? oracle.toTokenAmount(targetAsset.token, targetAsset.balance) : void 0,
31
- collateralAdded: collateral.map((a) => oracle.toTokenAmount(a.token, a.balance)),
32
- warning
33
- };
34
- }
35
- /**
36
- * Infers the strategy target token of an account opening: the first quoted
37
- * token (first `UpdateQuota` with a positive change), with its balance taken
38
- * from the computed assets. Returns `undefined` when nothing is quoted.
39
- */
40
- function inferTargetAsset(multicall, balances) {
41
- for (const op of multicall) if (op.operation === "UpdateQuota" && op.change > 0n) {
42
- const balance = balances.get(op.token);
43
- return balance ? {
44
- token: op.token,
45
- balance
46
- } : void 0;
47
- }
48
- }
49
- //#endregion
50
- exports.previewOpenStrategyPosition = previewOpenStrategyPosition;
@@ -1,100 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_model_result = require("../../model/result.js");
3
- require("../../model/index.js");
4
- const require_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
5
- const require_preview_parse_types = require("../parse/types.js");
6
- require("../parse/index.js");
7
- const require_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
8
- const require_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
9
- const require_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
10
- const require_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
11
- const require_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
12
- const require_preview_preview_replayMulticall = require("./replayMulticall.js");
13
- const require_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
14
- const require_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
15
- const require_preview_preview_previewOpenStrategyPosition = require("./previewOpenStrategyPosition.js");
16
- const require_preview_preview_previewPoolPositionOperation = require("./previewPoolPositionOperation.js");
17
- //#region src/preview/preview/previewOperation.ts
18
- /**
19
- * Previews a raw operation calldata: decodes it into a typed operation and
20
- * assembles an operation-specific, human-displayable preview.
21
- *
22
- * Answers an {@link SDKReturn} envelope: the preview behind `ok: true`, or —
23
- * when the transaction is one the previewer refuses to read — a
24
- * {@link PreviewOperationError} behind `ok: false`. A thrown exception
25
- * still means the SDK could not do its job (a read failed, the targeted
26
- * credit account could not be resolved), not a refusal of the transaction.
27
- */
28
- async function previewOperation(input, options) {
29
- const parsed = require_preview_parse_parseOperationCalldata.parseOperationCalldata(input);
30
- if (require_model_result.isSDKError(parsed)) return parsed;
31
- const operation = parsed.data;
32
- if (require_preview_parse_types.isPoolOperation(operation)) return require_preview_preview_previewPoolPositionOperation.previewPoolPositionOperation(input, operation, options);
33
- if (operation.operation === "OpenCreditAccount" || operation.operation === "RWAOpenCreditAccount") return require_model_result.sdkOk(await require_preview_preview_previewOpenStrategyPosition.previewOpenStrategyPosition(input, operation));
34
- if (operation.operation === "CloseCreditAccount") {
35
- const resolved = await resolveCreditAccount(input, operation, options);
36
- const preview = require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(input, operation, true, resolved);
37
- const intent = await require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(input.sdk, operation.multicall, options?.blockNumber);
38
- if (require_model_result.isSDKError(intent)) return intent;
39
- preview.intent = intent.data;
40
- return require_model_result.sdkOk(preview);
41
- }
42
- if (operation.operation === "MultiCall" || operation.operation === "BotMulticall" || operation.operation === "RWAMulticall") return previewMulticallOperation(input, operation, await resolveCreditAccount(input, operation, options));
43
- return require_model_result.sdkErr({
44
- code: "unsupportedOperation",
45
- message: `operation "${operation.operation}" is not supported by previewOperation`,
46
- operation: operation.operation
47
- });
48
- }
49
- /**
50
- * Resolves the pre-state of the credit account an operation targets: uses the
51
- * state provided via options when present, otherwise fetches it from the
52
- * credit account compressor.
53
- */
54
- async function resolveCreditAccount(input, operation, options) {
55
- let creditAccount = options?.creditAccount;
56
- if (!creditAccount) creditAccount = await input.sdk.accounts.getCreditAccountData(operation.creditAccount, options?.blockNumber);
57
- if (!creditAccount) throw new Error(`credit account ${operation.creditAccount} not found`);
58
- return {
59
- ...options,
60
- creditAccount
61
- };
62
- }
63
- /**
64
- * Previews a plain/bot/RWA multicall: classifies the instant preview
65
- * (zero-debt closure/repay vs adjustment) and, when the multicall requests a
66
- * delayed withdrawal, wraps the instant preview into a
67
- * `DelayedCreditAccountOperation` together with the best-effort preview of
68
- * the state after the withdrawal is claimed.
69
- */
70
- async function previewMulticallOperation(input, operation, options) {
71
- const { sdk } = input;
72
- const instantPreview = require_preview_preview_detectCloseOrRepay.isCloseOrRepay(operation.multicall) ? require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(input, operation, false, options) : require_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition(input, operation, options);
73
- const detected = require_preview_preview_detectDelayedOperation.detectDelayedOperation(sdk, operation.multicall);
74
- if (require_model_result.isSDKError(detected)) return detected;
75
- const delayed = detected.data;
76
- if (!delayed) {
77
- const intent = await require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(sdk, operation.multicall, options?.blockNumber);
78
- if (require_model_result.isSDKError(intent)) return intent;
79
- instantPreview.intent = intent.data;
80
- return require_model_result.sdkOk(instantPreview);
81
- }
82
- const { before, after } = require_preview_preview_replayMulticall.replayMulticall(sdk, operation, options);
83
- const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
84
- const meta = sdk.tokensMeta.get(market.underlying);
85
- const receivedToken = meta && sdk.tokensMeta.isRWAUnderlying(meta) ? meta.asset : market.underlying;
86
- const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
87
- return require_model_result.sdkOk({
88
- operation: "DelayedCreditAccountOperation",
89
- creditAccount: operation.creditAccount,
90
- ...suite.creditOperationMarket(),
91
- name: suite.accountStrategyName(operation.creditAccount),
92
- targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
93
- intent: delayed.intent,
94
- estClaimableAt: require_preview_preview_estimateClaimableAt.estimateClaimableAt(sdk, delayed.request.phantomToken),
95
- instantPreview,
96
- delayedPreview: require_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview(after.account, before, delayed, receivedToken, sdk)
97
- });
98
- }
99
- //#endregion
100
- exports.previewOperation = previewOperation;
@@ -1,49 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_abi_iERC20 = require("../../abi/iERC20.js");
3
- const require_model_result = require("../../model/result.js");
4
- require("../../model/index.js");
5
- const require_preview_simulate_errors = require("../simulate/errors.js");
6
- const require_preview_simulate_simulatePoolOperation = require("../simulate/simulatePoolOperation.js");
7
- //#region src/preview/preview/previewPoolPositionOperation.ts
8
- async function previewPoolPositionOperation(input, operation, options) {
9
- const { sdk } = input;
10
- const { tokenIn, tokenOut } = operation;
11
- const market = sdk.marketRegister.findByPool(operation.pool);
12
- const pool = market.pool.pool;
13
- const holder = "owner" in operation ? operation.owner : operation.receiver;
14
- let previewAmount;
15
- let shares;
16
- try {
17
- [previewAmount, shares] = await sdk.client.multicall({
18
- contracts: [require_preview_simulate_simulatePoolOperation.previewContract(operation), {
19
- address: operation.pool,
20
- abi: require_abi_iERC20.ierc20Abi,
21
- functionName: "balanceOf",
22
- args: [holder]
23
- }],
24
- allowFailure: false,
25
- batchSize: 0,
26
- blockNumber: options?.blockNumber
27
- });
28
- } catch (cause) {
29
- const error = require_preview_simulate_errors.asPreviewSimulationError(cause, "multicall");
30
- options?.logger?.error(error, "pool operation simulation failed");
31
- return require_model_result.sdkErr(error);
32
- }
33
- const sim = require_preview_simulate_simulatePoolOperation.amountsInOut(operation, previewAmount);
34
- const inflow = operation.operation === "Deposit" || operation.operation === "Mint";
35
- const after = shares + (inflow ? sim.amountOut : -sim.amountIn);
36
- return require_model_result.sdkOk({
37
- operation: operation.operation,
38
- pool: operation.pool,
39
- name: sdk.tokensMeta.mustGetToken(operation.pool).name,
40
- underlyingToken: market.underlyingToken,
41
- shareRate: pool.dieselRate,
42
- tokenIn: market.priceOracle.toTokenAmount(tokenIn, sim.amountIn),
43
- tokenOut: market.priceOracle.toTokenAmount(tokenOut, sim.amountOut),
44
- curator: market.curator,
45
- netValue: market.toUnderlyingAmount(pool.sharesToUnderlying(after > 0n ? after : 0n))
46
- });
47
- }
48
- //#endregion
49
- exports.previewPoolPositionOperation = previewPoolPositionOperation;