@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,37 +0,0 @@
1
- import { Prerequisite } from "./Prerequisite.js";
2
- import { erc20Abi } from "viem";
3
- //#region src/preview/prerequisites/AllowancePrerequisite.ts
4
- /** Checks that `owner` granted `spender` an ERC-20 allowance >= `required`. */
5
- var AllowancePrerequisite = class extends Prerequisite {
6
- #detail;
7
- constructor(detail) {
8
- super();
9
- this.#detail = { ...detail };
10
- }
11
- async check(ctx) {
12
- const actual = await ctx.sdk.client.readContract({
13
- address: this.#detail.token,
14
- abi: erc20Abi,
15
- functionName: "allowance",
16
- args: [this.#detail.owner, this.#detail.spender],
17
- blockNumber: ctx.blockNumber
18
- });
19
- return {
20
- kind: "allowance",
21
- detail: {
22
- ...this.#detail,
23
- actual
24
- },
25
- satisfied: actual >= this.#detail.required
26
- };
27
- }
28
- errorResult(error) {
29
- return {
30
- kind: "allowance",
31
- detail: this.#detail,
32
- error
33
- };
34
- }
35
- };
36
- //#endregion
37
- export { AllowancePrerequisite };
@@ -1,51 +0,0 @@
1
- import "../../onchain/constants/addresses.js";
2
- import { hexEq } from "../../onchain/utils/hex.js";
3
- import "../../onchain/index.js";
4
- import { Prerequisite } from "./Prerequisite.js";
5
- import { erc20Abi } from "viem";
6
- //#region src/preview/prerequisites/BalancePrerequisite.ts
7
- /**
8
- * Checks that `owner` holds a token balance >= `required`. The token is read
9
- * as an ERC-20, except for the native pseudo-address ({@link NATIVE_ADDRESS},
10
- * e.g. ETH-zapper deposits) whose balance is read via `getBalance`.
11
- */
12
- var BalancePrerequisite = class extends Prerequisite {
13
- #detail;
14
- constructor(detail) {
15
- super();
16
- this.#detail = { ...detail };
17
- }
18
- async check(ctx) {
19
- const actual = await this.#readBalance(ctx);
20
- return {
21
- kind: "balance",
22
- detail: {
23
- ...this.#detail,
24
- actual
25
- },
26
- satisfied: actual >= this.#detail.required
27
- };
28
- }
29
- errorResult(error) {
30
- return {
31
- kind: "balance",
32
- detail: this.#detail,
33
- error
34
- };
35
- }
36
- async #readBalance(ctx) {
37
- if (hexEq(this.#detail.token, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE")) return ctx.sdk.client.getBalance({
38
- address: this.#detail.owner,
39
- blockNumber: ctx.blockNumber
40
- });
41
- return ctx.sdk.client.readContract({
42
- address: this.#detail.token,
43
- abi: erc20Abi,
44
- functionName: "balanceOf",
45
- args: [this.#detail.owner],
46
- blockNumber: ctx.blockNumber
47
- });
48
- }
49
- };
50
- //#endregion
51
- export { BalancePrerequisite };
@@ -1,51 +0,0 @@
1
- import { BaseError, ContractFunctionRevertedError } from "viem";
2
- //#region src/preview/prerequisites/Prerequisite.ts
3
- /**
4
- * Decodes an unknown error into a {@link PrerequisiteError} with a
5
- * human-readable revert reason. Mirrors the SDK's `extractCallError`: walk the
6
- * viem error chain for a {@link ContractFunctionRevertedError} and use its
7
- * `errorName`, otherwise fall back to the error's short message / name.
8
- */
9
- function toPrerequisiteError(cause) {
10
- if (cause instanceof BaseError) {
11
- const reverted = cause.walk((e) => e instanceof ContractFunctionRevertedError);
12
- if (reverted instanceof ContractFunctionRevertedError) return {
13
- reason: reverted.data?.errorName ?? reverted.shortMessage ?? "reverted",
14
- cause
15
- };
16
- return {
17
- reason: cause.shortMessage ?? cause.name,
18
- cause
19
- };
20
- }
21
- if (cause instanceof Error) return {
22
- reason: cause.message,
23
- cause
24
- };
25
- return {
26
- reason: "unknown error",
27
- cause
28
- };
29
- }
30
- /**
31
- * A single verifiable prerequisite for a transaction. Subclasses implement
32
- * {@link check} to perform whatever async reads they need (an ERC-20
33
- * `readContract`, a compressor call, ...) and map the outcome into a
34
- * {@link PrerequisiteResult}.
35
- */
36
- var Prerequisite = class {
37
- /**
38
- * Verifies this prerequisite. Never rejects: any error thrown by
39
- * {@link check} (revert, RPC/network failure, compressor error) is
40
- * normalized into an `error` result.
41
- */
42
- async verify(ctx) {
43
- try {
44
- return await this.check(ctx);
45
- } catch (cause) {
46
- return this.errorResult(toPrerequisiteError(cause));
47
- }
48
- }
49
- };
50
- //#endregion
51
- export { Prerequisite };
@@ -1,52 +0,0 @@
1
- import { Prerequisite } from "./Prerequisite.js";
2
- //#region src/preview/prerequisites/RWAOpenRequirementsPrerequisite.ts
3
- /**
4
- * Checks that the borrower has fulfilled the RWA factory's open-account
5
- * requirements (issuer-side token registration, EIP-712 signatures).
6
- *
7
- * The requirements are fetched at verify time via
8
- * `sdk.accounts.getOpenAccountRequirements`, so re-running verification picks
9
- * up off-chain progress (the borrower registering on the issuer's website or
10
- * signing the factory's message) without rebuilding the prerequisites. The
11
- * unfulfilled subset is computed by the factory itself
12
- * (`IRWAFactory.getMissingRequirements`) and exposed on the result's
13
- * `detail.missing`; the full requirements are kept on `detail.requirements`.
14
- */
15
- var RWAOpenRequirementsPrerequisite = class extends Prerequisite {
16
- #detail;
17
- #providedArgs;
18
- constructor(detail, providedArgs) {
19
- super();
20
- this.#detail = { ...detail };
21
- this.#providedArgs = providedArgs;
22
- }
23
- async check(ctx) {
24
- const requirements = await ctx.sdk.accounts.getOpenAccountRequirements(ctx.wallet, this.#detail.creditManager, { tokenOutAddress: this.#detail.token });
25
- if (!requirements) return {
26
- kind: "rwaOpenRequirements",
27
- detail: this.#detail,
28
- satisfied: true
29
- };
30
- const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(this.#detail.creditManager);
31
- if (!rwaFactory) throw new Error(`no RWA factory found for credit manager ${this.#detail.creditManager}`);
32
- const missing = rwaFactory.getMissingRequirements(requirements, this.#providedArgs);
33
- return {
34
- kind: "rwaOpenRequirements",
35
- detail: {
36
- ...this.#detail,
37
- requirements,
38
- missing
39
- },
40
- satisfied: !missing && requirements.securitizeTokensToRegister.length === 0
41
- };
42
- }
43
- errorResult(error) {
44
- return {
45
- kind: "rwaOpenRequirements",
46
- detail: this.#detail,
47
- error
48
- };
49
- }
50
- };
51
- //#endregion
52
- export { RWAOpenRequirementsPrerequisite };
@@ -1,62 +0,0 @@
1
- import { AssetsMap } from "../../onchain/utils/AssetsMap.js";
2
- import { AP_WETH_TOKEN } from "../../onchain/constants/address-provider.js";
3
- import { NATIVE_ADDRESS } from "../../onchain/constants/addresses.js";
4
- import "../../onchain/index.js";
5
- import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
6
- import { BalancePrerequisite } from "./BalancePrerequisite.js";
7
- import { allowanceAndBalance } from "./helpers.js";
8
- import { isAddressEqual } from "viem";
9
- //#region src/preview/prerequisites/buildCollateralPrerequisites.ts
10
- /**
11
- * For every `addCollateral` inside a multicall, requires the wallet to approve
12
- * and hold the collateral token for the collateral spender.
13
- *
14
- * The approval spender is resolved via {@link OnchainSDK.accounts.getApprovalAddress}:
15
- * the credit manager for classic markets, but a per-investor "special wallet"
16
- * for RWA markets. The resolution happens at build time because the spender is
17
- * part of the prerequisite's identity and UI detail.
18
- *
19
- */
20
- async function buildCollateralPrerequisites(spenderOptions, multicall, ctx) {
21
- const { sdk, wallet, value = 0n } = ctx;
22
- const required = new AssetsMap();
23
- for (const op of multicall) {
24
- if (op.operation !== "AddCollateral" || op.amount === 0n) continue;
25
- required.inc(op.token, op.amount);
26
- }
27
- if (required.size === 0 && value === 0n) return [];
28
- const prereqs = [];
29
- if (value > 0n) prereqs.push(new BalancePrerequisite({
30
- token: NATIVE_ADDRESS,
31
- owner: wallet,
32
- required: value
33
- }));
34
- if (required.size === 0) return prereqs;
35
- const spender = await sdk.accounts.getApprovalAddress(spenderOptions);
36
- const weth = sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0);
37
- for (const [token, amount] of required.entries()) {
38
- if (value > 0n && isAddressEqual(token, weth)) {
39
- prereqs.push(new AllowancePrerequisite({
40
- token,
41
- owner: wallet,
42
- spender,
43
- required: amount
44
- }));
45
- if (amount > value) prereqs.push(new BalancePrerequisite({
46
- token,
47
- owner: wallet,
48
- required: amount - value
49
- }));
50
- continue;
51
- }
52
- prereqs.push(...allowanceAndBalance({
53
- token,
54
- owner: wallet,
55
- spender,
56
- required: amount
57
- }));
58
- }
59
- return prereqs;
60
- }
61
- //#endregion
62
- export { buildCollateralPrerequisites };
@@ -1,18 +0,0 @@
1
- import { allowanceAndBalance } from "./helpers.js";
2
- //#region src/preview/prerequisites/buildPartialLiquidationPrerequisites.ts
3
- /**
4
- * Partial liquidation pulls the repaid underlying from the liquidator: they
5
- * must have approved it to the credit manager and hold enough of it.
6
- */
7
- function buildPartialLiquidationPrerequisites(tx, ctx) {
8
- if (tx.repaidAmount === 0n) return [];
9
- const suite = ctx.sdk.marketRegister.findByCreditManager(tx.creditManager);
10
- return allowanceAndBalance({
11
- token: suite.underlying,
12
- owner: ctx.wallet,
13
- spender: tx.creditManager,
14
- required: tx.repaidAmount
15
- });
16
- }
17
- //#endregion
18
- export { buildPartialLiquidationPrerequisites };
@@ -1,75 +0,0 @@
1
- import "../../onchain/constants/addresses.js";
2
- import "../../onchain/index.js";
3
- import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
4
- import { BalancePrerequisite } from "./BalancePrerequisite.js";
5
- import { allowanceAndBalance } from "./helpers.js";
6
- import { isAddressEqual } from "viem";
7
- //#region src/preview/prerequisites/buildPoolPrerequisites.ts
8
- /**
9
- * Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
10
- * either direct or zapper-routed.
11
- */
12
- function buildPoolPrerequisites(tx, wallet) {
13
- switch (tx.operation) {
14
- case "Deposit":
15
- if (tx.zapper) {
16
- if (isAddressEqual(tx.tokenIn, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE")) return [new BalancePrerequisite({
17
- token: tx.tokenIn,
18
- owner: wallet,
19
- required: tx.assets
20
- })];
21
- return allowanceAndBalance({
22
- token: tx.tokenIn,
23
- owner: wallet,
24
- spender: tx.zapper,
25
- required: tx.assets
26
- });
27
- }
28
- return allowanceAndBalance({
29
- token: tx.underlying,
30
- owner: wallet,
31
- spender: tx.pool,
32
- required: tx.assets
33
- });
34
- case "Mint": return allowanceAndBalance({
35
- token: tx.underlying,
36
- owner: wallet,
37
- spender: tx.pool,
38
- required: tx.shares
39
- });
40
- case "Redeem":
41
- if (tx.zapper) return [new BalancePrerequisite({
42
- token: tx.tokenIn,
43
- owner: wallet,
44
- required: tx.shares
45
- }), new AllowancePrerequisite({
46
- token: tx.tokenIn,
47
- owner: wallet,
48
- spender: tx.zapper,
49
- required: tx.shares
50
- })];
51
- return lpSharePrerequisites(tx.pool, tx.owner, tx.shares, wallet);
52
- case "Withdraw": return lpSharePrerequisites(tx.pool, tx.owner, tx.assets, wallet);
53
- }
54
- }
55
- /**
56
- * Direct redeem/withdraw prerequisites: `owner` must hold enough LP (diesel)
57
- * tokens, and a third-party caller burning on behalf of `owner` needs an LP
58
- * allowance from them.
59
- */
60
- function lpSharePrerequisites(pool, owner, required, wallet) {
61
- const prereqs = [new BalancePrerequisite({
62
- token: pool,
63
- owner,
64
- required
65
- })];
66
- if (!isAddressEqual(owner, wallet)) prereqs.push(new AllowancePrerequisite({
67
- token: pool,
68
- owner,
69
- spender: wallet,
70
- required
71
- }));
72
- return prereqs;
73
- }
74
- //#endregion
75
- export { buildPoolPrerequisites };
@@ -1,38 +0,0 @@
1
- import { AddressSet } from "../../onchain/utils/AddressSet.js";
2
- import "../../onchain/index.js";
3
- import { RWAOpenRequirementsPrerequisite } from "./RWAOpenRequirementsPrerequisite.js";
4
- //#region src/preview/prerequisites/buildRWAPrerequisites.ts
5
- /**
6
- * For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
7
- * builds a prerequisite per RWA token the multicall touches; each one checks
8
- * the factory's open-account requirements (issuer-side token registration,
9
- * EIP-712 signatures) at verify time.
10
- *
11
- * The `providedArgs` params are the registration values decoded from the
12
- * transaction calldata itself: signatures already included there satisfy the
13
- * signature requirement, so a fully built transaction is not reported as
14
- * missing signatures. In the template flow they are empty and the verified
15
- * result's `detail.missing` describes what is still unfulfilled; acting on it
16
- * (signing, rebuilding calldata) is up to the consumer.
17
- *
18
- * Returns nothing for non-RWA markets.
19
- */
20
- function buildRWAPrerequisites(multicall, creditManager, providedArgs, ctx) {
21
- const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(creditManager);
22
- if (!rwaFactory) return [];
23
- const rwaTokens = new AddressSet(rwaFactory.getTokens());
24
- const candidates = new AddressSet();
25
- for (const op of multicall) if (op.operation === "AddCollateral" || op.operation === "UpdateQuota") candidates.add(op.token);
26
- const prereqs = [];
27
- for (const token of candidates) {
28
- if (!rwaTokens.has(token)) continue;
29
- prereqs.push(new RWAOpenRequirementsPrerequisite({
30
- token,
31
- creditManager,
32
- factory: rwaFactory.address
33
- }, providedArgs));
34
- }
35
- return prereqs;
36
- }
37
- //#endregion
38
- export { buildRWAPrerequisites };
@@ -1,73 +0,0 @@
1
- import { isSDKError, sdkOk } from "../../model/result.js";
2
- import "../../model/index.js";
3
- import { parseOperationCalldata } from "../parse/parseOperationCalldata.js";
4
- import "../parse/index.js";
5
- import { buildCollateralPrerequisites } from "./buildCollateralPrerequisites.js";
6
- import { buildPartialLiquidationPrerequisites } from "./buildPartialLiquidationPrerequisites.js";
7
- import { buildPoolPrerequisites } from "./buildPoolPrerequisites.js";
8
- import { buildRWAPrerequisites } from "./buildRWAPrerequisites.js";
9
- //#region src/preview/prerequisites/checkPrerequisites.ts
10
- /**
11
- * Derives and verifies the on-chain prerequisites for an operation given its
12
- * raw calldata: the conditions that must hold for the call not to revert and
13
- * that we can verify with the SDK (token approvals, wallet balances, RWA
14
- * open-account requirements).
15
- *
16
- * Each prerequisite performs its own reads and resolves into a
17
- * {@link PrerequisiteResult} (`satisfied` or `error`).
18
- *
19
- * Only *sender-actionable* prerequisites belong here: conditions the LP
20
- * provider or borrower can fix themselves before retrying (e.g. approve a
21
- * token, sign the RWA factory's messages). Non-actionable protocol/admin state
22
- * (e.g. pool is paused) is intentionally out of scope, since the user cannot
23
- * resolve it.
24
- */
25
- async function checkPrerequisites(input, options) {
26
- const { sdk, sender: wallet } = input;
27
- const tx = parseOperationCalldata(input);
28
- if (isSDKError(tx)) return tx;
29
- const ctx = {
30
- sdk,
31
- wallet,
32
- blockNumber: options?.blockNumber,
33
- value: input.value ?? 0n
34
- };
35
- const prereqs = await buildPrerequisites(tx.data, ctx);
36
- return sdkOk(await Promise.all(prereqs.map((p) => p.verify(ctx))));
37
- }
38
- /**
39
- * Dispatches a parsed operation to the per-operation-family prerequisite
40
- * builders.
41
- */
42
- async function buildPrerequisites(tx, ctx) {
43
- const { wallet } = ctx;
44
- switch (tx.operation) {
45
- case "Deposit":
46
- case "Mint":
47
- case "Redeem":
48
- case "Withdraw": return buildPoolPrerequisites(tx, wallet);
49
- case "MultiCall":
50
- case "BotMulticall":
51
- case "OpenCreditAccount":
52
- case "CloseCreditAccount":
53
- case "LiquidateCreditAccount": return buildCollateralPrerequisites(tx.operation === "OpenCreditAccount" ? {
54
- creditManager: tx.creditManager,
55
- borrower: wallet
56
- } : {
57
- creditManager: tx.creditManager,
58
- creditAccount: tx.creditAccount
59
- }, tx.multicall, ctx);
60
- case "RWAOpenCreditAccount": return [...await buildCollateralPrerequisites({
61
- creditManager: tx.creditManager,
62
- borrower: wallet
63
- }, tx.multicall, ctx), ...buildRWAPrerequisites(tx.multicall, tx.creditManager, tx.args, ctx)];
64
- case "RWAMulticall": return buildCollateralPrerequisites({
65
- creditManager: tx.creditManager,
66
- creditAccount: tx.creditAccount
67
- }, tx.multicall, ctx);
68
- case "PartiallyLiquidateCreditAccount": return buildPartialLiquidationPrerequisites(tx, ctx);
69
- default: return [];
70
- }
71
- }
72
- //#endregion
73
- export { checkPrerequisites };
@@ -1,22 +0,0 @@
1
- import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
2
- import { BalancePrerequisite } from "./BalancePrerequisite.js";
3
- //#region src/preview/prerequisites/helpers.ts
4
- /**
5
- * The most common prerequisite pair: `owner` must have approved `spender` for
6
- * `required` of `token` and must hold at least that much of it.
7
- */
8
- function allowanceAndBalance(props) {
9
- const { token, owner, spender, required } = props;
10
- return [new AllowancePrerequisite({
11
- token,
12
- owner,
13
- spender,
14
- required
15
- }), new BalancePrerequisite({
16
- token,
17
- owner,
18
- required
19
- })];
20
- }
21
- //#endregion
22
- export { allowanceAndBalance };
@@ -1,7 +0,0 @@
1
- import { Prerequisite } from "./Prerequisite.js";
2
- import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
3
- import { BalancePrerequisite } from "./BalancePrerequisite.js";
4
- import { RWAOpenRequirementsPrerequisite } from "./RWAOpenRequirementsPrerequisite.js";
5
- import { checkPrerequisites } from "./checkPrerequisites.js";
6
- import "./types.js";
7
- export { AllowancePrerequisite, BalancePrerequisite, Prerequisite, RWAOpenRequirementsPrerequisite, checkPrerequisites };
@@ -1,79 +0,0 @@
1
- //#region src/preview/preview/errors.ts
2
- const MALFORMED_BRACKET_MESSAGE = {
3
- nested: "nested storeExpectedBalances/compareBalances bracket",
4
- unmatchedCompare: "compareBalances without a preceding storeExpectedBalances",
5
- unmatchedStore: "storeExpectedBalances without a matching compareBalances"
6
- };
7
- /**
8
- * Builds a {@link MalformedBracketError} for the given bracket invariant.
9
- **/
10
- function malformedBracketError(kind) {
11
- return {
12
- code: "malformedBracket",
13
- message: MALFORMED_BRACKET_MESSAGE[kind],
14
- kind
15
- };
16
- }
17
- /**
18
- * Builds an {@link AdapterCallOutsideBracketError} for `adapter`.
19
- **/
20
- function adapterCallOutsideBracketError(adapter) {
21
- return {
22
- code: "adapterCallOutsideBracket",
23
- message: `call to ${adapter} outside of a storeExpectedBalances/compareBalances bracket`,
24
- adapter
25
- };
26
- }
27
- /**
28
- * Builds a {@link NonAdapterCallInBracketError} for `target`.
29
- **/
30
- function nonAdapterCallInBracketError(target) {
31
- return {
32
- code: "nonAdapterCallInBracket",
33
- message: `call to ${target} between storeExpectedBalances and compareBalances is not an adapter call`,
34
- target
35
- };
36
- }
37
- function asCause(cause) {
38
- return cause instanceof Error ? cause : new Error(String(cause));
39
- }
40
- /**
41
- * Builds an {@link UnpreviewableAdapterCallError} for a bracketed adapter
42
- * call that could not be replayed.
43
- **/
44
- function unpreviewableAdapterCallError(adapter, cause) {
45
- const err = asCause(cause);
46
- return {
47
- code: "unpreviewableAdapterCall",
48
- message: err.message,
49
- adapter,
50
- cause: err
51
- };
52
- }
53
- /**
54
- * Builds an {@link UnsupportedOutOfBracketCallError} for an allowed
55
- * out-of-bracket adapter call that could not be replayed.
56
- **/
57
- function unsupportedOutOfBracketCallError(adapter, cause) {
58
- const err = asCause(cause);
59
- return {
60
- code: "unsupportedOutOfBracketCall",
61
- message: err.message,
62
- adapter,
63
- cause: err
64
- };
65
- }
66
- /**
67
- * Builds an {@link InvalidTransactionValueError} when `msg.value` does not
68
- * fit into the declared WETH collateral.
69
- **/
70
- function invalidTransactionValueError(value, wethCollateral) {
71
- return {
72
- code: "invalidTransactionValue",
73
- message: `transaction value ${value} exceeds WETH collateral ${wethCollateral}`,
74
- value,
75
- wethCollateral
76
- };
77
- }
78
- //#endregion
79
- export { adapterCallOutsideBracketError, invalidTransactionValueError, malformedBracketError, nonAdapterCallInBracketError, unpreviewableAdapterCallError, unsupportedOutOfBracketCallError };
@@ -1,48 +0,0 @@
1
- import { ierc20Abi } from "../../abi/iERC20.js";
2
- import { sdkErr, sdkOk } from "../../model/result.js";
3
- import "../../model/index.js";
4
- import { asPreviewSimulationError } from "../simulate/errors.js";
5
- import { amountsInOut, previewContract } from "../simulate/simulatePoolOperation.js";
6
- //#region src/preview/preview/previewPoolPositionOperation.ts
7
- async function previewPoolPositionOperation(input, operation, options) {
8
- const { sdk } = input;
9
- const { tokenIn, tokenOut } = operation;
10
- const market = sdk.marketRegister.findByPool(operation.pool);
11
- const pool = market.pool.pool;
12
- const holder = "owner" in operation ? operation.owner : operation.receiver;
13
- let previewAmount;
14
- let shares;
15
- try {
16
- [previewAmount, shares] = await sdk.client.multicall({
17
- contracts: [previewContract(operation), {
18
- address: operation.pool,
19
- abi: ierc20Abi,
20
- functionName: "balanceOf",
21
- args: [holder]
22
- }],
23
- allowFailure: false,
24
- batchSize: 0,
25
- blockNumber: options?.blockNumber
26
- });
27
- } catch (cause) {
28
- const error = asPreviewSimulationError(cause, "multicall");
29
- options?.logger?.error(error, "pool operation simulation failed");
30
- return sdkErr(error);
31
- }
32
- const sim = amountsInOut(operation, previewAmount);
33
- const inflow = operation.operation === "Deposit" || operation.operation === "Mint";
34
- const after = shares + (inflow ? sim.amountOut : -sim.amountIn);
35
- return sdkOk({
36
- operation: operation.operation,
37
- pool: operation.pool,
38
- name: sdk.tokensMeta.mustGetToken(operation.pool).name,
39
- underlyingToken: market.underlyingToken,
40
- shareRate: pool.dieselRate,
41
- tokenIn: market.priceOracle.toTokenAmount(tokenIn, sim.amountIn),
42
- tokenOut: market.priceOracle.toTokenAmount(tokenOut, sim.amountOut),
43
- curator: market.curator,
44
- netValue: market.toUnderlyingAmount(pool.sharesToUnderlying(after > 0n ? after : 0n))
45
- });
46
- }
47
- //#endregion
48
- export { previewPoolPositionOperation };