@gearbox-protocol/sdk 16.0.0-next.8 → 16.0.0

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 (1164) hide show
  1. package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +20 -0
  2. package/dist/cjs/dev/mode-parity/compareOpportunities.js +4 -5
  3. package/dist/cjs/dev/mode-parity/comparePositions.js +9 -9
  4. package/dist/cjs/dev/mode-parity/compareRules.js +12 -1
  5. package/dist/cjs/dev/mode-parity/fieldDiff.js +4 -6
  6. package/dist/cjs/dev/mode-parity/scriptUtils.js +146 -6
  7. package/dist/cjs/model/analytics.schema.js +117 -0
  8. package/dist/cjs/model/charts.js +5 -1
  9. package/dist/cjs/model/charts.schema.js +1 -1
  10. package/dist/cjs/model/compare.schema.js +8 -0
  11. package/dist/cjs/model/delayed-intent.schema.js +35 -0
  12. package/dist/cjs/model/index.js +34 -14
  13. package/dist/cjs/model/liquidations.schema.js +7 -2
  14. package/dist/cjs/model/opportunities.schema.js +12 -3
  15. package/dist/cjs/model/positions.js +6 -0
  16. package/dist/cjs/model/positions.schema.js +14 -8
  17. package/dist/cjs/model/previews.js +21 -37
  18. package/dist/cjs/model/result.js +37 -0
  19. package/dist/cjs/model/withdrawals.schema.js +44 -0
  20. package/dist/cjs/offchain/GearboxAPI.js +5 -0
  21. package/dist/cjs/offchain/analytics/OffchainAnalytics.js +12 -0
  22. package/dist/cjs/offchain/analytics/OffchainAnalyticsPositions.js +24 -0
  23. package/dist/cjs/offchain/analytics/index.js +6 -0
  24. package/dist/cjs/offchain/index.js +5 -0
  25. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +13 -5
  26. package/dist/cjs/offchain/opportunities/index.js +1 -0
  27. package/dist/cjs/offchain/positions/OffchainPositions.js +20 -2
  28. package/dist/cjs/offchain/positions/index.js +1 -0
  29. package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +0 -10
  30. package/dist/cjs/onchain/accounts/credit-account-compressor/CreditAccountCompressor.js +1 -1
  31. package/dist/cjs/onchain/accounts/index.js +9 -4
  32. package/dist/cjs/onchain/accounts/intents/guards.js +85 -23
  33. package/dist/cjs/onchain/accounts/intents/index.js +94 -43
  34. package/dist/cjs/onchain/accounts/intents/leverage-band.js +70 -0
  35. package/dist/cjs/onchain/accounts/intents/math.js +16 -6
  36. package/dist/cjs/onchain/accounts/intents/maxWithdrawCollateral.js +10 -21
  37. package/dist/cjs/onchain/accounts/intents/open-strategy.js +29 -29
  38. package/dist/cjs/onchain/accounts/intents/plan.js +29 -21
  39. package/dist/cjs/onchain/accounts/intents/realize.js +104 -51
  40. package/dist/cjs/onchain/accounts/intents/tail.js +118 -10
  41. package/dist/cjs/onchain/accounts/intents/testing/market.js +9 -6
  42. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +84 -58
  43. package/dist/cjs/onchain/accounts/intents/tests/add-collateral.fixtures.js +4 -4
  44. package/dist/cjs/onchain/accounts/intents/tests/adjust-leverage.fixtures.js +15 -15
  45. package/dist/cjs/onchain/accounts/intents/tests/deposit.fixtures.js +18 -15
  46. package/dist/cjs/onchain/accounts/intents/tests/finish-decrease-leverage.fixtures.js +2 -2
  47. package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +2 -2
  48. package/dist/cjs/onchain/accounts/intents/tests/withdraw-asset.fixtures.js +4 -4
  49. package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +7 -7
  50. package/dist/cjs/onchain/accounts/intents/types.js +0 -16
  51. package/dist/cjs/onchain/accounts/intents/utils/adjust-state-to-snapshot.js +8 -5
  52. package/dist/cjs/onchain/accounts/intents/utils/common.js +2 -2
  53. package/dist/cjs/onchain/accounts/intents/utils/credit-account-slice.js +5 -5
  54. package/dist/cjs/onchain/accounts/intents/utils/index.js +4 -2
  55. package/dist/cjs/onchain/accounts/intents/utils/pick-token.js +2 -2
  56. package/dist/cjs/onchain/accounts/intents/utils/price-impact.js +99 -0
  57. package/dist/cjs/onchain/accounts/intents/utils/quotas-for-update.js +3 -3
  58. package/dist/cjs/onchain/accounts/intents/utils/router-path.js +100 -42
  59. package/dist/cjs/onchain/accounts/intents/view.js +7 -6
  60. package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +8 -8
  61. package/dist/cjs/onchain/accounts/liquidations/skipLiquidatableAccount.js +12 -0
  62. package/dist/cjs/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.js +3 -3
  63. package/dist/cjs/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +13 -7
  64. package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -19
  65. package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +1 -2
  66. package/dist/cjs/onchain/chain/chains.js +9 -3
  67. package/dist/cjs/onchain/constants/index.js +1 -0
  68. package/dist/cjs/onchain/constants/math.js +11 -0
  69. package/dist/cjs/onchain/index.js +50 -8
  70. package/dist/cjs/onchain/market/MarketSuite.js +24 -1
  71. package/dist/cjs/onchain/market/adapters/contracts/AbstractAdapter.js +19 -5
  72. package/dist/cjs/onchain/market/adapters/contracts/AbstractCurveAdapter.js +2 -2
  73. package/dist/cjs/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.js +35 -3
  74. package/dist/cjs/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  75. package/dist/cjs/onchain/market/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  76. package/dist/cjs/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  77. package/dist/cjs/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  78. package/dist/cjs/onchain/market/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  79. package/dist/cjs/onchain/market/adapters/contracts/ERC4626AdapterContract.js +56 -2
  80. package/dist/cjs/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  81. package/dist/cjs/onchain/market/adapters/contracts/FluidDexAdapterContract.js +2 -2
  82. package/dist/cjs/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  83. package/dist/cjs/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  84. package/dist/cjs/onchain/market/adapters/contracts/LidoV1AdapterContract.js +2 -2
  85. package/dist/cjs/onchain/market/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  86. package/dist/cjs/onchain/market/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  87. package/dist/cjs/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  88. package/dist/cjs/onchain/market/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  89. package/dist/cjs/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +15 -2
  90. package/dist/cjs/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  91. package/dist/cjs/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  92. package/dist/cjs/onchain/market/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  93. package/dist/cjs/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.js +2 -2
  94. package/dist/cjs/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +2 -2
  95. package/dist/cjs/onchain/market/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  96. package/dist/cjs/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  97. package/dist/cjs/onchain/market/adapters/contracts/UniswapV2AdapterContract.js +2 -2
  98. package/dist/cjs/onchain/market/adapters/contracts/UniswapV3AdapterContract.js +2 -2
  99. package/dist/cjs/onchain/market/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  100. package/dist/cjs/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  101. package/dist/cjs/onchain/market/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  102. package/dist/cjs/onchain/market/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  103. package/dist/cjs/onchain/market/credit/CreditManagerV310Contract.js +2 -2
  104. package/dist/cjs/onchain/market/credit/CreditSuite.js +71 -7
  105. package/dist/cjs/onchain/market/credit/collateralUtils.js +2 -2
  106. package/dist/cjs/onchain/market/index.js +4 -2
  107. package/dist/cjs/onchain/market/math.js +29 -13
  108. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +67 -14
  109. package/dist/cjs/onchain/market/oracle/TestPriceOracle.mock.js +215 -0
  110. package/dist/cjs/onchain/market/oracle/collateralPriceInUnderlying.js +27 -0
  111. package/dist/cjs/onchain/market/oracle/errors.js +14 -0
  112. package/dist/cjs/onchain/market/oracle/index.js +4 -0
  113. package/dist/cjs/onchain/market/pool/PoolV310Contract.js +25 -0
  114. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +3 -2
  115. package/dist/cjs/onchain/market/zapper/ZapperContract.js +15 -8
  116. package/dist/cjs/onchain/market/zapper/errors.js +0 -17
  117. package/dist/cjs/onchain/market/zapper/index.js +1 -2
  118. package/dist/cjs/onchain/opportunities/index.js +1 -0
  119. package/dist/cjs/onchain/pools/PoolService.js +27 -66
  120. package/dist/cjs/onchain/pools/index.js +0 -2
  121. package/dist/cjs/onchain/positions/MultichainPositionsService.js +15 -0
  122. package/dist/cjs/onchain/positions/PositionsService.js +182 -28
  123. package/dist/cjs/onchain/positions/calcHealthFactor.js +4 -3
  124. package/dist/cjs/onchain/positions/calcLiquidationPrice.js +14 -4
  125. package/dist/cjs/onchain/positions/index.js +1 -0
  126. package/dist/cjs/onchain/router/AbstractRouterContract.js +2 -24
  127. package/dist/cjs/onchain/router/RouterV310Contract.js +1 -12
  128. package/dist/cjs/onchain/utils/index.js +7 -0
  129. package/dist/cjs/{common-utils → onchain}/utils/trace.js +1 -1
  130. package/dist/cjs/onchain/validation/checks.js +258 -0
  131. package/dist/cjs/onchain/validation/index.js +28 -0
  132. package/dist/cjs/onchain/validation/refusal.js +39 -0
  133. package/dist/cjs/onchain/validation/token.js +29 -0
  134. package/dist/cjs/permissionless/bindings/instance-manager.js +16 -0
  135. package/dist/cjs/preview/index.js +27 -12
  136. package/dist/cjs/preview/parse/errors.js +0 -32
  137. package/dist/cjs/preview/parse/index.js +1 -5
  138. package/dist/cjs/preview/parse/parseOperationCalldata.js +28 -17
  139. package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +17 -11
  140. package/dist/cjs/preview/prerequisites/checkPrerequisites.js +5 -2
  141. package/dist/cjs/preview/preview/{buildDelayedPreview.js → buildDelayedStrategyPositionOperationPreview.js} +47 -72
  142. package/dist/cjs/preview/preview/detectDelayedClaim.js +9 -7
  143. package/dist/cjs/preview/preview/detectDelayedOperation.js +11 -4
  144. package/dist/cjs/preview/preview/errors.js +81 -13
  145. package/dist/cjs/preview/preview/estimateClaimableAt.js +21 -0
  146. package/dist/cjs/preview/preview/index.js +14 -7
  147. package/dist/cjs/preview/preview/previewAdjustStrategyPosition.js +49 -0
  148. package/dist/cjs/preview/preview/{previewCloseOrRepayCreditAccount.js → previewExitOrRepayStrategyPosition.js} +28 -15
  149. package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +50 -0
  150. package/dist/cjs/preview/preview/previewOperation.js +46 -24
  151. package/dist/cjs/preview/preview/previewPoolPositionOperation.js +49 -0
  152. package/dist/cjs/preview/preview/replayInnerOperations.js +23 -60
  153. package/dist/cjs/preview/preview/replayMulticall.js +2 -2
  154. package/dist/cjs/preview/preview/unwrapNativeCollateral.js +4 -9
  155. package/dist/cjs/preview/simulate/errors.js +15 -24
  156. package/dist/cjs/preview/simulate/index.js +2 -2
  157. package/dist/cjs/preview/simulate/simulateOperation.js +7 -5
  158. package/dist/cjs/preview/simulate/simulatePoolOperation.js +8 -3
  159. package/dist/cjs/preview/trace/extractAdapterCallTraces.js +2 -2
  160. package/dist/cjs/preview/trace/findFacadeCalls.js +2 -2
  161. package/dist/cjs/preview/validate/checkOperation.js +187 -0
  162. package/dist/cjs/preview/validate/checkSimulation.js +39 -0
  163. package/dist/cjs/preview/validate/index.js +8 -0
  164. package/dist/cjs/rewards/errors.js +27 -0
  165. package/dist/cjs/rewards/index.js +6 -7
  166. package/dist/cjs/rewards/merkl-api.js +45 -0
  167. package/dist/cjs/rewards/multichain.js +40 -0
  168. package/dist/cjs/rewards/toMerklRewards.js +85 -0
  169. package/dist/cjs/sdk/GearboxSDK.js +5 -0
  170. package/dist/cjs/sdk/analytics/AnalyticsNamespace.js +11 -0
  171. package/dist/cjs/sdk/analytics/index.js +4 -0
  172. package/dist/cjs/sdk/execute/ExecuteApi.js +20 -17
  173. package/dist/cjs/sdk/execute/index.js +1 -0
  174. package/dist/cjs/sdk/index.js +12 -0
  175. package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +5 -5
  176. package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +14 -8
  177. package/dist/cjs/sdk/positions/PositionsNamespace.js +22 -4
  178. package/dist/cjs/sdk/positions/mergePositionList.js +45 -1
  179. package/dist/cjs/sdk/prepare/PrepareApi.js +438 -188
  180. package/dist/cjs/sdk/prepare/errors.js +93 -0
  181. package/dist/cjs/sdk/prepare/index.js +9 -0
  182. package/dist/cjs/sdk/prepare/types.js +4 -0
  183. package/dist/cjs/sdk/prepare/withdrawable-collaterals.js +23 -0
  184. package/dist/cjs/sdk/preview/PreviewNamespace.js +2 -2
  185. package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +20 -0
  186. package/dist/esm/dev/AccountOpener.js +1 -1
  187. package/dist/esm/dev/mode-parity/compareOpportunities.js +4 -5
  188. package/dist/esm/dev/mode-parity/comparePositions.js +9 -9
  189. package/dist/esm/dev/mode-parity/compareRules.js +12 -1
  190. package/dist/esm/dev/mode-parity/fieldDiff.js +4 -6
  191. package/dist/esm/dev/mode-parity/scriptUtils.js +143 -7
  192. package/dist/esm/dev/withdrawalUtils.js +1 -1
  193. package/dist/esm/model/analytics.schema.js +108 -0
  194. package/dist/esm/model/charts.js +5 -1
  195. package/dist/esm/model/charts.schema.js +1 -1
  196. package/dist/esm/model/compare.schema.js +8 -1
  197. package/dist/esm/model/delayed-intent.schema.js +34 -0
  198. package/dist/esm/model/index.js +17 -11
  199. package/dist/esm/model/liquidations.schema.js +7 -2
  200. package/dist/esm/model/opportunities.schema.js +12 -4
  201. package/dist/esm/model/positions.js +6 -1
  202. package/dist/esm/model/positions.schema.js +14 -8
  203. package/dist/esm/model/previews.js +21 -31
  204. package/dist/esm/model/result.js +33 -0
  205. package/dist/esm/model/withdrawals.schema.js +40 -0
  206. package/dist/esm/offchain/GearboxAPI.js +5 -0
  207. package/dist/esm/offchain/analytics/OffchainAnalytics.js +11 -0
  208. package/dist/esm/offchain/analytics/OffchainAnalyticsPositions.js +23 -0
  209. package/dist/esm/offchain/analytics/index.js +4 -0
  210. package/dist/esm/offchain/index.js +4 -1
  211. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +14 -6
  212. package/dist/esm/offchain/opportunities/index.js +1 -0
  213. package/dist/esm/offchain/positions/OffchainPositions.js +21 -3
  214. package/dist/esm/offchain/positions/index.js +1 -0
  215. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -12
  216. package/dist/esm/onchain/accounts/credit-account-compressor/CreditAccountCompressor.js +1 -1
  217. package/dist/esm/onchain/accounts/index.js +4 -3
  218. package/dist/esm/onchain/accounts/intents/guards.js +85 -23
  219. package/dist/esm/onchain/accounts/intents/index.js +95 -45
  220. package/dist/esm/onchain/accounts/intents/leverage-band.js +69 -0
  221. package/dist/esm/onchain/accounts/intents/math.js +16 -6
  222. package/dist/esm/onchain/accounts/intents/maxWithdrawCollateral.js +10 -21
  223. package/dist/esm/onchain/accounts/intents/open-strategy.js +30 -30
  224. package/dist/esm/onchain/accounts/intents/plan.js +29 -21
  225. package/dist/esm/onchain/accounts/intents/realize.js +104 -51
  226. package/dist/esm/onchain/accounts/intents/tail.js +118 -10
  227. package/dist/esm/onchain/accounts/intents/testing/market.js +9 -6
  228. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +84 -60
  229. package/dist/esm/onchain/accounts/intents/tests/add-collateral.fixtures.js +4 -4
  230. package/dist/esm/onchain/accounts/intents/tests/adjust-leverage.fixtures.js +15 -15
  231. package/dist/esm/onchain/accounts/intents/tests/deposit.fixtures.js +18 -15
  232. package/dist/esm/onchain/accounts/intents/tests/finish-decrease-leverage.fixtures.js +2 -2
  233. package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +2 -2
  234. package/dist/esm/onchain/accounts/intents/tests/withdraw-asset.fixtures.js +4 -4
  235. package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +7 -7
  236. package/dist/esm/onchain/accounts/intents/types.js +1 -16
  237. package/dist/esm/onchain/accounts/intents/utils/adjust-state-to-snapshot.js +8 -5
  238. package/dist/esm/onchain/accounts/intents/utils/common.js +2 -2
  239. package/dist/esm/onchain/accounts/intents/utils/credit-account-slice.js +5 -5
  240. package/dist/esm/onchain/accounts/intents/utils/index.js +2 -2
  241. package/dist/esm/onchain/accounts/intents/utils/pick-token.js +2 -2
  242. package/dist/esm/onchain/accounts/intents/utils/price-impact.js +96 -0
  243. package/dist/esm/onchain/accounts/intents/utils/quotas-for-update.js +2 -2
  244. package/dist/esm/onchain/accounts/intents/utils/router-path.js +100 -42
  245. package/dist/esm/onchain/accounts/intents/view.js +7 -6
  246. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +9 -9
  247. package/dist/esm/onchain/accounts/liquidations/skipLiquidatableAccount.js +11 -0
  248. package/dist/esm/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.js +3 -3
  249. package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +14 -8
  250. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  251. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  252. package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  253. package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +1 -19
  254. package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +2 -2
  255. package/dist/esm/onchain/base/TokensMeta.js +3 -3
  256. package/dist/esm/onchain/chain/chains.js +9 -3
  257. package/dist/esm/onchain/constants/index.js +2 -2
  258. package/dist/esm/onchain/constants/math.js +11 -1
  259. package/dist/esm/onchain/core/createAddressProvider.js +1 -1
  260. package/dist/esm/onchain/index.js +14 -7
  261. package/dist/esm/onchain/market/MarketSuite.js +24 -1
  262. package/dist/esm/onchain/market/adapters/contracts/AbstractAdapter.js +18 -4
  263. package/dist/esm/onchain/market/adapters/contracts/AbstractCurveAdapter.js +2 -2
  264. package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
  265. package/dist/esm/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.js +35 -3
  266. package/dist/esm/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
  267. package/dist/esm/onchain/market/adapters/contracts/CamelotV3AdapterContract.js +2 -2
  268. package/dist/esm/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
  269. package/dist/esm/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
  270. package/dist/esm/onchain/market/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
  271. package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +58 -4
  272. package/dist/esm/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
  273. package/dist/esm/onchain/market/adapters/contracts/FluidDexAdapterContract.js +2 -2
  274. package/dist/esm/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
  275. package/dist/esm/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
  276. package/dist/esm/onchain/market/adapters/contracts/LidoV1AdapterContract.js +2 -2
  277. package/dist/esm/onchain/market/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
  278. package/dist/esm/onchain/market/adapters/contracts/MellowDVVAdapterContract.js +2 -2
  279. package/dist/esm/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
  280. package/dist/esm/onchain/market/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
  281. package/dist/esm/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +16 -3
  282. package/dist/esm/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
  283. package/dist/esm/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
  284. package/dist/esm/onchain/market/adapters/contracts/PendleRouterAdapterContract.js +2 -2
  285. package/dist/esm/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.js +2 -2
  286. package/dist/esm/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +2 -2
  287. package/dist/esm/onchain/market/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
  288. package/dist/esm/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
  289. package/dist/esm/onchain/market/adapters/contracts/UniswapV2AdapterContract.js +2 -2
  290. package/dist/esm/onchain/market/adapters/contracts/UniswapV3AdapterContract.js +2 -2
  291. package/dist/esm/onchain/market/adapters/contracts/UniswapV4AdapterContract.js +2 -2
  292. package/dist/esm/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
  293. package/dist/esm/onchain/market/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
  294. package/dist/esm/onchain/market/adapters/contracts/WstETHV1AdapterContract.js +2 -2
  295. package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
  296. package/dist/esm/onchain/market/credit/CreditManagerV310Contract.js +2 -2
  297. package/dist/esm/onchain/market/credit/CreditSuite.js +73 -9
  298. package/dist/esm/onchain/market/credit/collateralUtils.js +2 -2
  299. package/dist/esm/onchain/market/index.js +3 -2
  300. package/dist/esm/onchain/market/math.js +29 -13
  301. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +67 -14
  302. package/dist/esm/onchain/market/oracle/TestPriceOracle.mock.js +213 -0
  303. package/dist/esm/onchain/market/oracle/collateralPriceInUnderlying.js +26 -0
  304. package/dist/esm/onchain/market/oracle/errors.js +13 -0
  305. package/dist/esm/onchain/market/oracle/index.js +3 -1
  306. package/dist/esm/onchain/market/pool/PoolV310Contract.js +26 -1
  307. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +3 -2
  308. package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
  309. package/dist/esm/onchain/market/zapper/ZapperContract.js +16 -9
  310. package/dist/esm/onchain/market/zapper/errors.js +1 -17
  311. package/dist/esm/onchain/market/zapper/index.js +2 -2
  312. package/dist/esm/onchain/opportunities/index.js +1 -0
  313. package/dist/esm/onchain/pools/PoolService.js +29 -66
  314. package/dist/esm/onchain/pools/index.js +2 -2
  315. package/dist/esm/onchain/positions/MultichainPositionsService.js +15 -0
  316. package/dist/esm/onchain/positions/PositionsService.js +184 -30
  317. package/dist/esm/onchain/positions/calcHealthFactor.js +4 -3
  318. package/dist/esm/onchain/positions/calcLiquidationPrice.js +14 -5
  319. package/dist/esm/onchain/positions/index.js +2 -2
  320. package/dist/esm/onchain/router/AbstractRouterContract.js +2 -24
  321. package/dist/esm/onchain/router/RouterV310Contract.js +1 -12
  322. package/dist/esm/onchain/utils/index.js +2 -1
  323. package/dist/esm/{common-utils → onchain}/utils/trace.js +1 -1
  324. package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
  325. package/dist/esm/onchain/validation/checks.js +238 -0
  326. package/dist/esm/onchain/validation/index.js +4 -0
  327. package/dist/esm/onchain/validation/refusal.js +36 -0
  328. package/dist/esm/onchain/validation/token.js +27 -0
  329. package/dist/esm/permissionless/bindings/instance-manager.js +16 -0
  330. package/dist/esm/preview/index.js +11 -7
  331. package/dist/esm/preview/parse/errors.js +1 -30
  332. package/dist/esm/preview/parse/index.js +2 -3
  333. package/dist/esm/preview/parse/parseOperationCalldata.js +28 -17
  334. package/dist/esm/preview/parse/parsePoolOperationCalldata.js +17 -11
  335. package/dist/esm/preview/prerequisites/checkPrerequisites.js +5 -2
  336. package/dist/esm/preview/preview/{buildDelayedPreview.js → buildDelayedStrategyPositionOperationPreview.js} +48 -73
  337. package/dist/esm/preview/preview/detectDelayedClaim.js +9 -7
  338. package/dist/esm/preview/preview/detectDelayedOperation.js +11 -4
  339. package/dist/esm/preview/preview/errors.js +76 -13
  340. package/dist/esm/preview/preview/estimateClaimableAt.js +20 -0
  341. package/dist/esm/preview/preview/index.js +6 -5
  342. package/dist/esm/preview/preview/previewAdjustStrategyPosition.js +48 -0
  343. package/dist/esm/preview/preview/{previewCloseOrRepayCreditAccount.js → previewExitOrRepayStrategyPosition.js} +28 -15
  344. package/dist/esm/preview/preview/previewOpenStrategyPosition.js +49 -0
  345. package/dist/esm/preview/preview/previewOperation.js +46 -24
  346. package/dist/esm/preview/preview/previewPoolPositionOperation.js +48 -0
  347. package/dist/esm/preview/preview/replayInnerOperations.js +23 -60
  348. package/dist/esm/preview/preview/replayMulticall.js +2 -2
  349. package/dist/esm/preview/preview/unwrapNativeCollateral.js +4 -9
  350. package/dist/esm/preview/simulate/errors.js +16 -24
  351. package/dist/esm/preview/simulate/index.js +3 -3
  352. package/dist/esm/preview/simulate/simulateOperation.js +7 -5
  353. package/dist/esm/preview/simulate/simulatePoolOperation.js +8 -5
  354. package/dist/esm/preview/trace/extractAdapterCallTraces.js +1 -1
  355. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  356. package/dist/esm/preview/trace/findFacadeCalls.js +1 -1
  357. package/dist/esm/preview/validate/checkOperation.js +183 -0
  358. package/dist/esm/preview/validate/checkSimulation.js +38 -0
  359. package/dist/esm/preview/validate/index.js +3 -0
  360. package/dist/esm/rewards/errors.js +26 -0
  361. package/dist/esm/rewards/index.js +4 -5
  362. package/dist/esm/rewards/merkl-api.js +42 -0
  363. package/dist/esm/rewards/multichain.js +39 -0
  364. package/dist/esm/rewards/toMerklRewards.js +84 -0
  365. package/dist/esm/sdk/GearboxSDK.js +5 -0
  366. package/dist/esm/sdk/analytics/AnalyticsNamespace.js +10 -0
  367. package/dist/esm/sdk/analytics/index.js +3 -0
  368. package/dist/esm/sdk/execute/ExecuteApi.js +20 -17
  369. package/dist/esm/sdk/execute/index.js +1 -0
  370. package/dist/esm/sdk/index.js +5 -1
  371. package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +5 -5
  372. package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +14 -8
  373. package/dist/esm/sdk/positions/PositionsNamespace.js +22 -4
  374. package/dist/esm/sdk/positions/mergePositionList.js +45 -1
  375. package/dist/esm/sdk/prepare/PrepareApi.js +439 -189
  376. package/dist/esm/sdk/prepare/errors.js +89 -0
  377. package/dist/esm/sdk/prepare/index.js +3 -1
  378. package/dist/esm/sdk/prepare/types.js +2 -1
  379. package/dist/esm/sdk/prepare/withdrawable-collaterals.js +22 -0
  380. package/dist/esm/sdk/preview/PreviewNamespace.js +2 -2
  381. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +16 -0
  382. package/dist/types/dev/mode-parity/compareOpportunities.d.ts +3 -7
  383. package/dist/types/dev/mode-parity/comparePositions.d.ts +9 -11
  384. package/dist/types/dev/mode-parity/fieldDiff.d.ts +12 -9
  385. package/dist/types/dev/mode-parity/scriptUtils.d.ts +26 -1
  386. package/dist/types/history/classifyMulticallOperations.d.ts +1 -1
  387. package/dist/types/model/analytics.d.ts +62 -0
  388. package/dist/types/model/analytics.schema.d.ts +149 -0
  389. package/dist/types/model/charts.d.ts +4 -2
  390. package/dist/types/model/charts.schema.d.ts +8 -0
  391. package/dist/types/model/compare.schema.d.ts +9 -2
  392. package/dist/types/model/delayed-intent.schema.d.ts +28 -0
  393. package/dist/types/model/errors.d.ts +46 -0
  394. package/dist/types/model/index.d.ts +16 -10
  395. package/dist/types/model/liquidations.d.ts +14 -8
  396. package/dist/types/model/liquidations.schema.d.ts +64 -2
  397. package/dist/types/model/opportunities.d.ts +20 -2
  398. package/dist/types/model/opportunities.schema.d.ts +9 -1
  399. package/dist/types/model/positions.d.ts +62 -7
  400. package/dist/types/model/positions.schema.d.ts +29 -49
  401. package/dist/types/model/previews.d.ts +383 -204
  402. package/dist/types/model/result.d.ts +63 -0
  403. package/dist/types/model/withdrawals.d.ts +106 -0
  404. package/dist/types/model/withdrawals.schema.d.ts +263 -0
  405. package/dist/types/offchain/AbstractOffchainNamespace.d.ts +1 -1
  406. package/dist/types/offchain/GearboxAPI.d.ts +4 -0
  407. package/dist/types/offchain/analytics/OffchainAnalytics.d.ts +11 -0
  408. package/dist/types/offchain/analytics/OffchainAnalyticsPositions.d.ts +14 -0
  409. package/dist/types/offchain/analytics/index.d.ts +4 -0
  410. package/dist/types/offchain/analytics/types.d.ts +17 -0
  411. package/dist/types/offchain/index.d.ts +7 -1
  412. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +12 -12
  413. package/dist/types/offchain/opportunities/index.d.ts +2 -1
  414. package/dist/types/offchain/opportunities/types.d.ts +36 -0
  415. package/dist/types/offchain/positions/OffchainPositions.d.ts +15 -9
  416. package/dist/types/offchain/positions/index.d.ts +2 -1
  417. package/dist/types/offchain/positions/types.d.ts +36 -0
  418. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +1 -5
  419. package/dist/types/onchain/accounts/index.d.ts +9 -5
  420. package/dist/types/onchain/accounts/intents/guards.d.ts +30 -8
  421. package/dist/types/onchain/accounts/intents/index.d.ts +58 -23
  422. package/dist/types/onchain/accounts/intents/leverage-band.d.ts +58 -0
  423. package/dist/types/onchain/accounts/intents/math.d.ts +3 -1
  424. package/dist/types/onchain/accounts/intents/maxWithdrawCollateral.d.ts +5 -3
  425. package/dist/types/onchain/accounts/intents/open-strategy.d.ts +15 -35
  426. package/dist/types/onchain/accounts/intents/operations.d.ts +1 -1
  427. package/dist/types/onchain/accounts/intents/plan.d.ts +4 -1
  428. package/dist/types/onchain/accounts/intents/realize.d.ts +1 -1
  429. package/dist/types/onchain/accounts/intents/tail.d.ts +13 -3
  430. package/dist/types/onchain/accounts/intents/testing/expect.d.ts +7 -3
  431. package/dist/types/onchain/accounts/intents/testing/market.d.ts +9 -2
  432. package/dist/types/onchain/accounts/intents/testing/sdk-mock.d.ts +33 -3
  433. package/dist/types/onchain/accounts/intents/tests/add-collateral.fixtures.d.ts +1 -1
  434. package/dist/types/onchain/accounts/intents/tests/adjust-leverage.fixtures.d.ts +2 -2
  435. package/dist/types/onchain/accounts/intents/tests/deposit.fixtures.d.ts +3 -3
  436. package/dist/types/onchain/accounts/intents/tests/withdraw-asset.fixtures.d.ts +1 -1
  437. package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +2 -2
  438. package/dist/types/onchain/accounts/intents/types.d.ts +122 -123
  439. package/dist/types/onchain/accounts/intents/utils/adjust-state-to-snapshot.d.ts +2 -2
  440. package/dist/types/onchain/accounts/intents/utils/credit-account-slice.d.ts +4 -4
  441. package/dist/types/onchain/accounts/intents/utils/index.d.ts +4 -4
  442. package/dist/types/onchain/accounts/intents/utils/ledger.d.ts +2 -2
  443. package/dist/types/onchain/accounts/intents/utils/price-impact.d.ts +49 -0
  444. package/dist/types/onchain/accounts/intents/utils/quotas-for-update.d.ts +1 -1
  445. package/dist/types/onchain/accounts/intents/utils/router-path.d.ts +9 -0
  446. package/dist/types/onchain/accounts/intents/view.d.ts +2 -2
  447. package/dist/types/onchain/accounts/liquidations/LiquidationsService.d.ts +0 -1
  448. package/dist/types/onchain/accounts/liquidations/skipLiquidatableAccount.d.ts +11 -0
  449. package/dist/types/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.d.ts +3 -4
  450. package/dist/types/onchain/accounts/types.d.ts +2 -27
  451. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +6 -4
  452. package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +9 -5
  453. package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -1
  454. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +6 -4
  455. package/dist/types/onchain/base/index.d.ts +2 -2
  456. package/dist/types/onchain/base/types.d.ts +5 -1
  457. package/dist/types/onchain/constants/index.d.ts +2 -2
  458. package/dist/types/onchain/constants/math.d.ts +9 -1
  459. package/dist/types/onchain/index.d.ts +26 -14
  460. package/dist/types/onchain/market/MarketSuite.d.ts +19 -1
  461. package/dist/types/onchain/market/adapters/contracts/AbstractAdapter.d.ts +15 -3
  462. package/dist/types/onchain/market/adapters/contracts/AbstractCurveAdapter.d.ts +1 -1
  463. package/dist/types/onchain/market/adapters/contracts/AccountMigratorAdapterContract.d.ts +1 -1
  464. package/dist/types/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +1 -1
  465. package/dist/types/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +1 -1
  466. package/dist/types/onchain/market/adapters/contracts/CamelotV3AdapterContract.d.ts +1 -1
  467. package/dist/types/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +1 -1
  468. package/dist/types/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +1 -1
  469. package/dist/types/onchain/market/adapters/contracts/DaiUsdsAdapterContract.d.ts +1 -1
  470. package/dist/types/onchain/market/adapters/contracts/ERC4626AdapterContract.d.ts +9 -2
  471. package/dist/types/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +1 -1
  472. package/dist/types/onchain/market/adapters/contracts/FluidDexAdapterContract.d.ts +1 -1
  473. package/dist/types/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +1 -1
  474. package/dist/types/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +1 -1
  475. package/dist/types/onchain/market/adapters/contracts/LidoV1AdapterContract.d.ts +1 -1
  476. package/dist/types/onchain/market/adapters/contracts/MellowClaimerAdapterContract.d.ts +1 -1
  477. package/dist/types/onchain/market/adapters/contracts/MellowDVVAdapterContract.d.ts +1 -1
  478. package/dist/types/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +1 -1
  479. package/dist/types/onchain/market/adapters/contracts/MellowWrapperAdapterContract.d.ts +1 -1
  480. package/dist/types/onchain/market/adapters/contracts/MidasGatewayAdapterContract.d.ts +8 -1
  481. package/dist/types/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +1 -1
  482. package/dist/types/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +1 -1
  483. package/dist/types/onchain/market/adapters/contracts/PendleRouterAdapterContract.d.ts +1 -1
  484. package/dist/types/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +1 -1
  485. package/dist/types/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +1 -1
  486. package/dist/types/onchain/market/adapters/contracts/StakingRewardsAdapterContract.d.ts +1 -1
  487. package/dist/types/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +1 -1
  488. package/dist/types/onchain/market/adapters/contracts/UniswapV2AdapterContract.d.ts +1 -1
  489. package/dist/types/onchain/market/adapters/contracts/UniswapV3AdapterContract.d.ts +1 -1
  490. package/dist/types/onchain/market/adapters/contracts/UniswapV4AdapterContract.d.ts +1 -1
  491. package/dist/types/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.d.ts +1 -1
  492. package/dist/types/onchain/market/adapters/contracts/VelodromeV2AdapterContract.d.ts +1 -1
  493. package/dist/types/onchain/market/adapters/contracts/WstETHV1AdapterContract.d.ts +1 -1
  494. package/dist/types/onchain/market/credit/CreditManagerV310Contract.d.ts +1 -1
  495. package/dist/types/onchain/market/credit/CreditSuite.d.ts +49 -3
  496. package/dist/types/onchain/market/credit/index.d.ts +2 -2
  497. package/dist/types/onchain/market/credit/types.d.ts +14 -4
  498. package/dist/types/onchain/market/index.d.ts +7 -5
  499. package/dist/types/onchain/market/math.d.ts +25 -10
  500. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +15 -5
  501. package/dist/types/onchain/market/oracle/collateralPriceInUnderlying.d.ts +19 -0
  502. package/dist/types/onchain/market/oracle/errors.d.ts +19 -0
  503. package/dist/types/onchain/market/oracle/index.d.ts +4 -2
  504. package/dist/types/onchain/market/oracle/types.d.ts +44 -26
  505. package/dist/types/onchain/market/pool/PoolV310Contract.d.ts +12 -0
  506. package/dist/types/onchain/market/pool/types.d.ts +18 -0
  507. package/dist/types/onchain/market/rwa/index.d.ts +2 -2
  508. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +2 -2
  509. package/dist/types/onchain/market/rwa/types.d.ts +17 -5
  510. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +7 -3
  511. package/dist/types/onchain/market/zapper/errors.d.ts +11 -6
  512. package/dist/types/onchain/market/zapper/index.d.ts +1 -1
  513. package/dist/types/onchain/market/zapper/types.d.ts +4 -1
  514. package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -1
  515. package/dist/types/onchain/opportunities/index.d.ts +2 -1
  516. package/dist/types/onchain/opportunities/types.d.ts +27 -0
  517. package/dist/types/onchain/pools/PoolService.d.ts +1 -19
  518. package/dist/types/onchain/pools/index.d.ts +2 -2
  519. package/dist/types/onchain/pools/types.d.ts +6 -4
  520. package/dist/types/onchain/positions/MultichainPositionsService.d.ts +8 -2
  521. package/dist/types/onchain/positions/PositionsService.d.ts +44 -1
  522. package/dist/types/onchain/positions/calcHealthFactor.d.ts +7 -3
  523. package/dist/types/onchain/positions/calcLiquidationPrice.d.ts +10 -1
  524. package/dist/types/onchain/positions/index.d.ts +3 -3
  525. package/dist/types/onchain/positions/types.d.ts +47 -3
  526. package/dist/types/onchain/router/AbstractRouterContract.d.ts +0 -4
  527. package/dist/types/onchain/utils/index.d.ts +2 -1
  528. package/dist/types/{common-utils → onchain}/utils/trace.d.ts +1 -1
  529. package/dist/types/onchain/validation/checks.d.ts +164 -0
  530. package/dist/types/onchain/validation/index.d.ts +4 -0
  531. package/dist/types/onchain/validation/refusal.d.ts +242 -0
  532. package/dist/types/onchain/validation/token.d.ts +17 -0
  533. package/dist/types/preview/index.d.ts +13 -6
  534. package/dist/types/preview/parse/errors.d.ts +19 -12
  535. package/dist/types/preview/parse/index.d.ts +1 -1
  536. package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -1
  537. package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +5 -2
  538. package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +6 -1
  539. package/dist/types/preview/preview/{buildDelayedPreview.d.ts → buildDelayedStrategyPositionOperationPreview.d.ts} +8 -12
  540. package/dist/types/preview/preview/detectDelayedClaim.d.ts +7 -6
  541. package/dist/types/preview/preview/detectDelayedOperation.d.ts +3 -1
  542. package/dist/types/preview/preview/errors.d.ts +38 -6
  543. package/dist/types/preview/preview/estimateClaimableAt.d.ts +19 -0
  544. package/dist/types/preview/preview/index.d.ts +7 -6
  545. package/dist/types/preview/preview/{previewAdjustCreditAccount.d.ts → previewAdjustStrategyPosition.d.ts} +4 -4
  546. package/dist/types/preview/preview/{previewCloseOrRepayCreditAccount.d.ts → previewExitOrRepayStrategyPosition.d.ts} +4 -4
  547. package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +12 -0
  548. package/dist/types/preview/preview/previewOperation.d.ts +21 -2
  549. package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +13 -0
  550. package/dist/types/preview/preview/replayInnerOperations.d.ts +3 -3
  551. package/dist/types/preview/preview/replayMulticall.d.ts +2 -2
  552. package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +4 -5
  553. package/dist/types/preview/simulate/errors.d.ts +12 -8
  554. package/dist/types/preview/simulate/index.d.ts +2 -2
  555. package/dist/types/preview/simulate/simulateOperation.d.ts +4 -1
  556. package/dist/types/preview/simulate/simulatePoolOperation.d.ts +22 -2
  557. package/dist/types/preview/simulate/types.d.ts +12 -4
  558. package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +1 -1
  559. package/dist/types/preview/trace/findFacadeCalls.d.ts +1 -1
  560. package/dist/types/preview/trace/types.d.ts +1 -1
  561. package/dist/types/preview/validate/checkOperation.d.ts +71 -0
  562. package/dist/types/preview/validate/checkSimulation.d.ts +32 -0
  563. package/dist/types/preview/validate/index.d.ts +3 -0
  564. package/dist/types/rewards/errors.d.ts +18 -0
  565. package/dist/types/rewards/index.d.ts +4 -7
  566. package/dist/types/rewards/merkl-api.d.ts +64 -0
  567. package/dist/types/rewards/multichain.d.ts +33 -0
  568. package/dist/types/rewards/toMerklRewards.d.ts +42 -0
  569. package/dist/types/sdk/AbstractNamespace.d.ts +1 -1
  570. package/dist/types/sdk/GearboxSDK.d.ts +15 -11
  571. package/dist/types/sdk/analytics/AnalyticsNamespace.d.ts +11 -0
  572. package/dist/types/sdk/analytics/index.d.ts +3 -0
  573. package/dist/types/sdk/analytics/types.d.ts +15 -0
  574. package/dist/types/sdk/execute/ExecuteApi.d.ts +5 -94
  575. package/dist/types/sdk/execute/index.d.ts +3 -2
  576. package/dist/types/sdk/execute/types.d.ts +91 -0
  577. package/dist/types/sdk/index.d.ts +19 -11
  578. package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +7 -7
  579. package/dist/types/sdk/liquidations/index.d.ts +2 -2
  580. package/dist/types/sdk/liquidations/types.d.ts +5 -7
  581. package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +24 -20
  582. package/dist/types/sdk/opportunities/index.d.ts +2 -2
  583. package/dist/types/sdk/opportunities/types.d.ts +42 -42
  584. package/dist/types/sdk/positions/PositionsNamespace.d.ts +24 -10
  585. package/dist/types/sdk/positions/index.d.ts +2 -2
  586. package/dist/types/sdk/positions/mergePositionList.d.ts +5 -0
  587. package/dist/types/sdk/positions/types.d.ts +51 -35
  588. package/dist/types/sdk/prepare/PrepareApi.d.ts +60 -40
  589. package/dist/types/sdk/prepare/errors.d.ts +319 -0
  590. package/dist/types/sdk/prepare/index.d.ts +6 -2
  591. package/dist/types/sdk/prepare/types.d.ts +237 -119
  592. package/dist/types/sdk/prepare/withdrawable-collaterals.d.ts +11 -0
  593. package/dist/types/sdk/preview/PreviewNamespace.d.ts +8 -5
  594. package/dist/types/sdk/preview/index.d.ts +2 -2
  595. package/dist/types/sdk/preview/types.d.ts +12 -10
  596. package/dist/types/sdk/types.d.ts +66 -6
  597. package/package.json +2 -8
  598. package/dist/cjs/_virtual/_rolldown/runtime.js +0 -23
  599. package/dist/cjs/common-utils/axios-cache/AxiosCache.js +0 -98
  600. package/dist/cjs/common-utils/axios-cache/index.js +0 -3
  601. package/dist/cjs/common-utils/charts/credit-manager.js +0 -100
  602. package/dist/cjs/common-utils/charts/credit-session.js +0 -211
  603. package/dist/cjs/common-utils/charts/index.js +0 -18
  604. package/dist/cjs/common-utils/charts/pool.js +0 -177
  605. package/dist/cjs/common-utils/charts/token-data.js +0 -68
  606. package/dist/cjs/common-utils/index.js +0 -209
  607. package/dist/cjs/common-utils/package.json +0 -1
  608. package/dist/cjs/common-utils/static/index.js +0 -5
  609. package/dist/cjs/common-utils/static/pool-config.js +0 -1
  610. package/dist/cjs/common-utils/static/strategy.js +0 -1
  611. package/dist/cjs/common-utils/static/trading-pair.js +0 -1
  612. package/dist/cjs/common-utils/test-utils/index.js +0 -104
  613. package/dist/cjs/common-utils/utils/apy/bonus-apy-from-points.js +0 -5
  614. package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +0 -22
  615. package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +0 -34
  616. package/dist/cjs/common-utils/utils/apy/calculate-earnings.js +0 -23
  617. package/dist/cjs/common-utils/utils/apy/calculate-earnings.spec.js +0 -68
  618. package/dist/cjs/common-utils/utils/apy/calculate-effective-borrow-rate.js +0 -8
  619. package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.js +0 -20
  620. package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +0 -39
  621. package/dist/cjs/common-utils/utils/apy/get-complex-apy-list.js +0 -18
  622. package/dist/cjs/common-utils/utils/apy/get-rate-with-fee.js +0 -16
  623. package/dist/cjs/common-utils/utils/apy/get-safe-base-borrow-rate.js +0 -14
  624. package/dist/cjs/common-utils/utils/apy/get-single-quota-borrow-rate.js +0 -16
  625. package/dist/cjs/common-utils/utils/apy/index.js +0 -21
  626. package/dist/cjs/common-utils/utils/apy/max-apy-formula.js +0 -14
  627. package/dist/cjs/common-utils/utils/assets-math.js +0 -185
  628. package/dist/cjs/common-utils/utils/constants.js +0 -9
  629. package/dist/cjs/common-utils/utils/creditAccount/calc-health-factor.js +0 -41
  630. package/dist/cjs/common-utils/utils/creditAccount/calc-overall-apy.js +0 -46
  631. package/dist/cjs/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +0 -22
  632. package/dist/cjs/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.js +0 -16
  633. package/dist/cjs/common-utils/utils/creditAccount/debt.js +0 -46
  634. package/dist/cjs/common-utils/utils/creditAccount/get-time-to-liquidation.js +0 -24
  635. package/dist/cjs/common-utils/utils/creditAccount/index.js +0 -27
  636. package/dist/cjs/common-utils/utils/creditAccount/liquidation-price.js +0 -39
  637. package/dist/cjs/common-utils/utils/creditAccount/sort.js +0 -95
  638. package/dist/cjs/common-utils/utils/index.js +0 -194
  639. package/dist/cjs/common-utils/utils/price-math.js +0 -51
  640. package/dist/cjs/common-utils/utils/strategies/assets/assets.js +0 -7
  641. package/dist/cjs/common-utils/utils/strategies/assets/index.js +0 -3
  642. package/dist/cjs/common-utils/utils/strategies/availability/check-boolean.js +0 -10
  643. package/dist/cjs/common-utils/utils/strategies/availability/check-degen-nft.js +0 -13
  644. package/dist/cjs/common-utils/utils/strategies/availability/index.js +0 -5
  645. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +0 -23
  646. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +0 -109
  647. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.js +0 -31
  648. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +0 -15
  649. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +0 -23
  650. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +0 -29
  651. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +0 -95
  652. package/dist/cjs/common-utils/utils/strategies/credit-managers/index.js +0 -13
  653. package/dist/cjs/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +0 -9
  654. package/dist/cjs/common-utils/utils/strategies/eligibility/index.js +0 -5
  655. package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +0 -20
  656. package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-released.js +0 -8
  657. package/dist/cjs/common-utils/utils/strategies/index.js +0 -118
  658. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-loss-coefficient.js +0 -10
  659. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +0 -16
  660. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +0 -21
  661. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +0 -304
  662. package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +0 -10
  663. package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +0 -30
  664. package/dist/cjs/common-utils/utils/strategies/leverage/get-factor-from-leverage.js +0 -9
  665. package/dist/cjs/common-utils/utils/strategies/leverage/get-leverage-from-factor.js +0 -9
  666. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.js +0 -47
  667. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +0 -222
  668. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +0 -7
  669. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +0 -19
  670. package/dist/cjs/common-utils/utils/strategies/leverage/index.js +0 -21
  671. package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage-threshold.js +0 -17
  672. package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage.js +0 -17
  673. package/dist/cjs/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +0 -16
  674. package/dist/cjs/common-utils/utils/strategies/lists/get-available-strategies.js +0 -32
  675. package/dist/cjs/common-utils/utils/strategies/lists/get-disabled-strategies.js +0 -33
  676. package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list-core.js +0 -24
  677. package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list.js +0 -16
  678. package/dist/cjs/common-utils/utils/strategies/lists/index.js +0 -7
  679. package/dist/cjs/common-utils/utils/strategies/points/get-complex-points-list.js +0 -15
  680. package/dist/cjs/common-utils/utils/strategies/points/get-points-info.js +0 -12
  681. package/dist/cjs/common-utils/utils/strategies/points/get-points-rates.js +0 -8
  682. package/dist/cjs/common-utils/utils/strategies/points/get-strategy-points.js +0 -41
  683. package/dist/cjs/common-utils/utils/strategies/points/index.js +0 -9
  684. package/dist/cjs/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.js +0 -3
  685. package/dist/cjs/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.js +0 -18
  686. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +0 -63
  687. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +0 -184
  688. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.js +0 -38
  689. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +0 -126
  690. package/dist/cjs/common-utils/utils/strategies/strategy-info/cm-availability-condition.js +0 -43
  691. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +0 -308
  692. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +0 -267
  693. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-info-core.js +0 -70
  694. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-info.js +0 -33
  695. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.js +0 -66
  696. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +0 -58
  697. package/dist/cjs/common-utils/utils/strategies/strategy-info/index.js +0 -20
  698. package/dist/cjs/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +0 -9
  699. package/dist/cjs/common-utils/utils/strategies/strategy-state/index.js +0 -3
  700. package/dist/cjs/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +0 -14
  701. package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.js +0 -18
  702. package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +0 -29
  703. package/dist/cjs/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +0 -10
  704. package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +0 -12
  705. package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +0 -37
  706. package/dist/cjs/common-utils/utils/strategies/tokens/get-native-token-address.js +0 -8
  707. package/dist/cjs/common-utils/utils/strategies/tokens/index.js +0 -26
  708. package/dist/cjs/common-utils/utils/strategies/tokens/is-activated-token.js +0 -9
  709. package/dist/cjs/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +0 -10
  710. package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.js +0 -28
  711. package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +0 -143
  712. package/dist/cjs/common-utils/utils/strategies/tokens/is-forbidden-token.js +0 -7
  713. package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.js +0 -13
  714. package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +0 -148
  715. package/dist/cjs/common-utils/utils/strategies/tokens/is-usable-token.js +0 -15
  716. package/dist/cjs/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +0 -22
  717. package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.js +0 -8
  718. package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +0 -15
  719. package/dist/cjs/common-utils/utils/strategies/types/chains.js +0 -1
  720. package/dist/cjs/common-utils/utils/strategies/types/credit-manager-data-legacy.js +0 -1
  721. package/dist/cjs/common-utils/utils/strategies/types/curator-filter.js +0 -1
  722. package/dist/cjs/common-utils/utils/strategies/types/index.js +0 -14
  723. package/dist/cjs/common-utils/utils/strategies/types/legacy-strategy-data-source.js +0 -30
  724. package/dist/cjs/common-utils/utils/strategies/types/points-slices.js +0 -1
  725. package/dist/cjs/common-utils/utils/strategies/types/sdk-state.js +0 -1
  726. package/dist/cjs/common-utils/utils/strategies/types/strategies-cm-list.js +0 -1
  727. package/dist/cjs/common-utils/utils/strategies/types/strategy-data-source.js +0 -1
  728. package/dist/cjs/common-utils/utils/strategies/types/strategy-data.js +0 -1
  729. package/dist/cjs/common-utils/utils/strategies/types/strategy-earnings.js +0 -1
  730. package/dist/cjs/common-utils/utils/strategies/types/strategy.js +0 -1
  731. package/dist/cjs/common-utils/utils/strategies/types/targetable.js +0 -1
  732. package/dist/cjs/common-utils/utils/strategies/types.js +0 -4
  733. package/dist/cjs/common-utils/utils/validation/index.js +0 -23
  734. package/dist/cjs/common-utils/utils/validation/is-zero-balance.js +0 -7
  735. package/dist/cjs/common-utils/utils/validation/validate-balance.js +0 -22
  736. package/dist/cjs/common-utils/utils/validation/validate-balance.spec.js +0 -54
  737. package/dist/cjs/common-utils/utils/validation/validate-balances.js +0 -17
  738. package/dist/cjs/common-utils/utils/validation/validate-balances.spec.js +0 -45
  739. package/dist/cjs/common-utils/utils/validation/validate-credit-manager.js +0 -8
  740. package/dist/cjs/common-utils/utils/validation/validate-credit-manager.spec.js +0 -36
  741. package/dist/cjs/common-utils/utils/validation/validate-hf.js +0 -10
  742. package/dist/cjs/common-utils/utils/validation/validate-hf.spec.js +0 -26
  743. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.js +0 -14
  744. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +0 -29
  745. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.js +0 -37
  746. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.spec.js +0 -98
  747. package/dist/cjs/common-utils/utils/validation/validate-open-account.js +0 -18
  748. package/dist/cjs/common-utils/utils/validation/validate-open-account.spec.js +0 -56
  749. package/dist/cjs/common-utils/utils/validation/validate-quota.js +0 -23
  750. package/dist/cjs/common-utils/utils/validation/validate-quota.spec.js +0 -88
  751. package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.js +0 -18
  752. package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.spec.js +0 -36
  753. package/dist/cjs/common-utils/utils/validation/validation-types.js +0 -1
  754. package/dist/cjs/onchain/accounts/intents/utils/convert-amount.js +0 -37
  755. package/dist/cjs/plugins/apy/ApyPlugin.js +0 -248
  756. package/dist/cjs/plugins/apy/apy-parser.js +0 -129
  757. package/dist/cjs/plugins/apy/constants.js +0 -7
  758. package/dist/cjs/plugins/apy/index.js +0 -18
  759. package/dist/cjs/plugins/apy/package.json +0 -1
  760. package/dist/cjs/plugins/apy/pool-apy-types.js +0 -1
  761. package/dist/cjs/plugins/apy/pool-apy-utils.js +0 -121
  762. package/dist/cjs/plugins/apy/strategy-data-source.js +0 -163
  763. package/dist/cjs/plugins/remote-configs/CustomConfigSource.js +0 -18
  764. package/dist/cjs/plugins/remote-configs/RemoteConfigSource.js +0 -26
  765. package/dist/cjs/plugins/remote-configs/RemoteConfigsPlugin.js +0 -127
  766. package/dist/cjs/plugins/remote-configs/index.js +0 -8
  767. package/dist/cjs/plugins/remote-configs/package.json +0 -1
  768. package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +0 -67
  769. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +0 -71
  770. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +0 -75
  771. package/dist/cjs/preview/preview/previewPoolOperation.js +0 -25
  772. package/dist/cjs/rewards/apy/index.js +0 -3
  773. package/dist/cjs/rewards/apy/output-details.js +0 -1
  774. package/dist/cjs/rewards/apy/output.js +0 -1
  775. package/dist/cjs/rewards/rewards/api.js +0 -70
  776. package/dist/cjs/rewards/rewards/common.js +0 -1
  777. package/dist/cjs/rewards/rewards/extra-apy.js +0 -72
  778. package/dist/cjs/rewards/rewards/index.js +0 -6
  779. package/dist/cjs/rewards/rewards/merkl-api.js +0 -22
  780. package/dist/esm/common-utils/axios-cache/AxiosCache.js +0 -95
  781. package/dist/esm/common-utils/axios-cache/index.js +0 -2
  782. package/dist/esm/common-utils/charts/credit-manager.js +0 -99
  783. package/dist/esm/common-utils/charts/credit-session.js +0 -206
  784. package/dist/esm/common-utils/charts/index.js +0 -9
  785. package/dist/esm/common-utils/charts/pool.js +0 -175
  786. package/dist/esm/common-utils/charts/token-data.js +0 -67
  787. package/dist/esm/common-utils/index.js +0 -96
  788. package/dist/esm/common-utils/package.json +0 -1
  789. package/dist/esm/common-utils/static/index.js +0 -5
  790. package/dist/esm/common-utils/static/pool-config.js +0 -1
  791. package/dist/esm/common-utils/static/strategy.js +0 -1
  792. package/dist/esm/common-utils/static/trading-pair.js +0 -1
  793. package/dist/esm/common-utils/test-utils/index.js +0 -92
  794. package/dist/esm/common-utils/utils/apy/bonus-apy-from-points.js +0 -4
  795. package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +0 -21
  796. package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +0 -34
  797. package/dist/esm/common-utils/utils/apy/calculate-earnings.js +0 -22
  798. package/dist/esm/common-utils/utils/apy/calculate-earnings.spec.js +0 -68
  799. package/dist/esm/common-utils/utils/apy/calculate-effective-borrow-rate.js +0 -7
  800. package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +0 -19
  801. package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +0 -39
  802. package/dist/esm/common-utils/utils/apy/get-complex-apy-list.js +0 -17
  803. package/dist/esm/common-utils/utils/apy/get-rate-with-fee.js +0 -15
  804. package/dist/esm/common-utils/utils/apy/get-safe-base-borrow-rate.js +0 -13
  805. package/dist/esm/common-utils/utils/apy/get-single-quota-borrow-rate.js +0 -15
  806. package/dist/esm/common-utils/utils/apy/index.js +0 -11
  807. package/dist/esm/common-utils/utils/apy/max-apy-formula.js +0 -13
  808. package/dist/esm/common-utils/utils/assets-math.js +0 -184
  809. package/dist/esm/common-utils/utils/constants.js +0 -6
  810. package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +0 -40
  811. package/dist/esm/common-utils/utils/creditAccount/calc-overall-apy.js +0 -45
  812. package/dist/esm/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +0 -21
  813. package/dist/esm/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.js +0 -15
  814. package/dist/esm/common-utils/utils/creditAccount/debt.js +0 -44
  815. package/dist/esm/common-utils/utils/creditAccount/get-time-to-liquidation.js +0 -23
  816. package/dist/esm/common-utils/utils/creditAccount/index.js +0 -10
  817. package/dist/esm/common-utils/utils/creditAccount/liquidation-price.js +0 -38
  818. package/dist/esm/common-utils/utils/creditAccount/sort.js +0 -90
  819. package/dist/esm/common-utils/utils/index.js +0 -91
  820. package/dist/esm/common-utils/utils/price-math.js +0 -50
  821. package/dist/esm/common-utils/utils/strategies/assets/assets.js +0 -6
  822. package/dist/esm/common-utils/utils/strategies/assets/index.js +0 -2
  823. package/dist/esm/common-utils/utils/strategies/availability/check-boolean.js +0 -9
  824. package/dist/esm/common-utils/utils/strategies/availability/check-degen-nft.js +0 -12
  825. package/dist/esm/common-utils/utils/strategies/availability/index.js +0 -3
  826. package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +0 -22
  827. package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +0 -109
  828. package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.js +0 -30
  829. package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +0 -14
  830. package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +0 -22
  831. package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +0 -28
  832. package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +0 -95
  833. package/dist/esm/common-utils/utils/strategies/credit-managers/index.js +0 -7
  834. package/dist/esm/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +0 -8
  835. package/dist/esm/common-utils/utils/strategies/eligibility/index.js +0 -3
  836. package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +0 -19
  837. package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-released.js +0 -7
  838. package/dist/esm/common-utils/utils/strategies/index.js +0 -65
  839. package/dist/esm/common-utils/utils/strategies/leverage/calculate-loss-coefficient.js +0 -9
  840. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +0 -15
  841. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +0 -20
  842. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +0 -304
  843. package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +0 -9
  844. package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +0 -30
  845. package/dist/esm/common-utils/utils/strategies/leverage/get-factor-from-leverage.js +0 -8
  846. package/dist/esm/common-utils/utils/strategies/leverage/get-leverage-from-factor.js +0 -8
  847. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.js +0 -46
  848. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +0 -222
  849. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +0 -6
  850. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +0 -19
  851. package/dist/esm/common-utils/utils/strategies/leverage/index.js +0 -11
  852. package/dist/esm/common-utils/utils/strategies/leverage/max-leverage-threshold.js +0 -16
  853. package/dist/esm/common-utils/utils/strategies/leverage/max-leverage.js +0 -16
  854. package/dist/esm/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +0 -15
  855. package/dist/esm/common-utils/utils/strategies/lists/get-available-strategies.js +0 -31
  856. package/dist/esm/common-utils/utils/strategies/lists/get-disabled-strategies.js +0 -32
  857. package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list-core.js +0 -23
  858. package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list.js +0 -15
  859. package/dist/esm/common-utils/utils/strategies/lists/index.js +0 -4
  860. package/dist/esm/common-utils/utils/strategies/points/get-complex-points-list.js +0 -14
  861. package/dist/esm/common-utils/utils/strategies/points/get-points-info.js +0 -11
  862. package/dist/esm/common-utils/utils/strategies/points/get-points-rates.js +0 -7
  863. package/dist/esm/common-utils/utils/strategies/points/get-strategy-points.js +0 -40
  864. package/dist/esm/common-utils/utils/strategies/points/index.js +0 -5
  865. package/dist/esm/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.js +0 -2
  866. package/dist/esm/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.js +0 -17
  867. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +0 -62
  868. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +0 -184
  869. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +0 -37
  870. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +0 -124
  871. package/dist/esm/common-utils/utils/strategies/strategy-info/cm-availability-condition.js +0 -42
  872. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +0 -307
  873. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +0 -264
  874. package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-info-core.js +0 -69
  875. package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-info.js +0 -32
  876. package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.js +0 -65
  877. package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +0 -57
  878. package/dist/esm/common-utils/utils/strategies/strategy-info/index.js +0 -11
  879. package/dist/esm/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +0 -8
  880. package/dist/esm/common-utils/utils/strategies/strategy-state/index.js +0 -2
  881. package/dist/esm/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +0 -13
  882. package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.js +0 -17
  883. package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +0 -29
  884. package/dist/esm/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +0 -9
  885. package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +0 -11
  886. package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +0 -37
  887. package/dist/esm/common-utils/utils/strategies/tokens/get-native-token-address.js +0 -7
  888. package/dist/esm/common-utils/utils/strategies/tokens/index.js +0 -13
  889. package/dist/esm/common-utils/utils/strategies/tokens/is-activated-token.js +0 -8
  890. package/dist/esm/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +0 -8
  891. package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.js +0 -27
  892. package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +0 -143
  893. package/dist/esm/common-utils/utils/strategies/tokens/is-forbidden-token.js +0 -6
  894. package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.js +0 -12
  895. package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +0 -148
  896. package/dist/esm/common-utils/utils/strategies/tokens/is-usable-token.js +0 -14
  897. package/dist/esm/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +0 -21
  898. package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.js +0 -7
  899. package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +0 -15
  900. package/dist/esm/common-utils/utils/strategies/types/chains.js +0 -1
  901. package/dist/esm/common-utils/utils/strategies/types/credit-manager-data-legacy.js +0 -1
  902. package/dist/esm/common-utils/utils/strategies/types/curator-filter.js +0 -1
  903. package/dist/esm/common-utils/utils/strategies/types/index.js +0 -13
  904. package/dist/esm/common-utils/utils/strategies/types/legacy-strategy-data-source.js +0 -29
  905. package/dist/esm/common-utils/utils/strategies/types/points-slices.js +0 -1
  906. package/dist/esm/common-utils/utils/strategies/types/sdk-state.js +0 -1
  907. package/dist/esm/common-utils/utils/strategies/types/strategies-cm-list.js +0 -1
  908. package/dist/esm/common-utils/utils/strategies/types/strategy-data-source.js +0 -1
  909. package/dist/esm/common-utils/utils/strategies/types/strategy-data.js +0 -1
  910. package/dist/esm/common-utils/utils/strategies/types/strategy-earnings.js +0 -1
  911. package/dist/esm/common-utils/utils/strategies/types/strategy.js +0 -1
  912. package/dist/esm/common-utils/utils/strategies/types/targetable.js +0 -1
  913. package/dist/esm/common-utils/utils/strategies/types.js +0 -3
  914. package/dist/esm/common-utils/utils/validation/index.js +0 -12
  915. package/dist/esm/common-utils/utils/validation/is-zero-balance.js +0 -6
  916. package/dist/esm/common-utils/utils/validation/validate-balance.js +0 -21
  917. package/dist/esm/common-utils/utils/validation/validate-balance.spec.js +0 -54
  918. package/dist/esm/common-utils/utils/validation/validate-balances.js +0 -16
  919. package/dist/esm/common-utils/utils/validation/validate-balances.spec.js +0 -45
  920. package/dist/esm/common-utils/utils/validation/validate-credit-manager.js +0 -7
  921. package/dist/esm/common-utils/utils/validation/validate-credit-manager.spec.js +0 -36
  922. package/dist/esm/common-utils/utils/validation/validate-hf.js +0 -8
  923. package/dist/esm/common-utils/utils/validation/validate-hf.spec.js +0 -26
  924. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.js +0 -13
  925. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +0 -29
  926. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +0 -36
  927. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.spec.js +0 -98
  928. package/dist/esm/common-utils/utils/validation/validate-open-account.js +0 -17
  929. package/dist/esm/common-utils/utils/validation/validate-open-account.spec.js +0 -56
  930. package/dist/esm/common-utils/utils/validation/validate-quota.js +0 -22
  931. package/dist/esm/common-utils/utils/validation/validate-quota.spec.js +0 -88
  932. package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.js +0 -17
  933. package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.spec.js +0 -36
  934. package/dist/esm/common-utils/utils/validation/validation-types.js +0 -1
  935. package/dist/esm/onchain/accounts/intents/utils/convert-amount.js +0 -36
  936. package/dist/esm/plugins/apy/ApyPlugin.js +0 -247
  937. package/dist/esm/plugins/apy/apy-parser.js +0 -126
  938. package/dist/esm/plugins/apy/constants.js +0 -5
  939. package/dist/esm/plugins/apy/index.js +0 -7
  940. package/dist/esm/plugins/apy/package.json +0 -1
  941. package/dist/esm/plugins/apy/pool-apy-types.js +0 -1
  942. package/dist/esm/plugins/apy/pool-apy-utils.js +0 -116
  943. package/dist/esm/plugins/apy/strategy-data-source.js +0 -162
  944. package/dist/esm/plugins/remote-configs/CustomConfigSource.js +0 -17
  945. package/dist/esm/plugins/remote-configs/RemoteConfigSource.js +0 -25
  946. package/dist/esm/plugins/remote-configs/RemoteConfigsPlugin.js +0 -126
  947. package/dist/esm/plugins/remote-configs/index.js +0 -5
  948. package/dist/esm/plugins/remote-configs/package.json +0 -1
  949. package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +0 -66
  950. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +0 -70
  951. package/dist/esm/preview/preview/previewOpenCreditAccount.js +0 -74
  952. package/dist/esm/preview/preview/previewPoolOperation.js +0 -24
  953. package/dist/esm/rewards/apy/index.js +0 -3
  954. package/dist/esm/rewards/apy/output-details.js +0 -1
  955. package/dist/esm/rewards/apy/output.js +0 -1
  956. package/dist/esm/rewards/rewards/api.js +0 -69
  957. package/dist/esm/rewards/rewards/common.js +0 -1
  958. package/dist/esm/rewards/rewards/extra-apy.js +0 -68
  959. package/dist/esm/rewards/rewards/index.js +0 -3
  960. package/dist/esm/rewards/rewards/merkl-api.js +0 -19
  961. package/dist/types/common-utils/axios-cache/AxiosCache.d.ts +0 -31
  962. package/dist/types/common-utils/axios-cache/index.d.ts +0 -2
  963. package/dist/types/common-utils/charts/credit-manager-payload.d.ts +0 -53
  964. package/dist/types/common-utils/charts/credit-manager.d.ts +0 -51
  965. package/dist/types/common-utils/charts/credit-session.d.ts +0 -113
  966. package/dist/types/common-utils/charts/credit-sessions-payload.d.ts +0 -113
  967. package/dist/types/common-utils/charts/graph-payload.d.ts +0 -12
  968. package/dist/types/common-utils/charts/index.d.ts +0 -9
  969. package/dist/types/common-utils/charts/pool-payload.d.ts +0 -114
  970. package/dist/types/common-utils/charts/pool.d.ts +0 -94
  971. package/dist/types/common-utils/charts/token-data.d.ts +0 -47
  972. package/dist/types/common-utils/index.d.ts +0 -117
  973. package/dist/types/common-utils/static/index.d.ts +0 -5
  974. package/dist/types/common-utils/static/migration-config.d.ts +0 -13
  975. package/dist/types/common-utils/static/pool-config.d.ts +0 -14
  976. package/dist/types/common-utils/static/strategy.d.ts +0 -86
  977. package/dist/types/common-utils/static/trading-pair.d.ts +0 -18
  978. package/dist/types/common-utils/test-utils/index.d.ts +0 -19
  979. package/dist/types/common-utils/utils/apy/bonus-apy-from-points.d.ts +0 -7
  980. package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.d.ts +0 -5
  981. package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.d.ts +0 -1
  982. package/dist/types/common-utils/utils/apy/calculate-earnings.d.ts +0 -19
  983. package/dist/types/common-utils/utils/apy/calculate-earnings.spec.d.ts +0 -1
  984. package/dist/types/common-utils/utils/apy/calculate-effective-borrow-rate.d.ts +0 -9
  985. package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.d.ts +0 -14
  986. package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.spec.d.ts +0 -1
  987. package/dist/types/common-utils/utils/apy/get-complex-apy-list.d.ts +0 -8
  988. package/dist/types/common-utils/utils/apy/get-rate-with-fee.d.ts +0 -10
  989. package/dist/types/common-utils/utils/apy/get-safe-base-borrow-rate.d.ts +0 -7
  990. package/dist/types/common-utils/utils/apy/get-single-quota-borrow-rate.d.ts +0 -14
  991. package/dist/types/common-utils/utils/apy/index.d.ts +0 -11
  992. package/dist/types/common-utils/utils/apy/max-apy-formula.d.ts +0 -9
  993. package/dist/types/common-utils/utils/assets-math.d.ts +0 -117
  994. package/dist/types/common-utils/utils/constants.d.ts +0 -7
  995. package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +0 -32
  996. package/dist/types/common-utils/utils/creditAccount/calc-overall-apy.d.ts +0 -41
  997. package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +0 -24
  998. package/dist/types/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.d.ts +0 -18
  999. package/dist/types/common-utils/utils/creditAccount/debt.d.ts +0 -39
  1000. package/dist/types/common-utils/utils/creditAccount/get-time-to-liquidation.d.ts +0 -24
  1001. package/dist/types/common-utils/utils/creditAccount/index.d.ts +0 -10
  1002. package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +0 -31
  1003. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +0 -59
  1004. package/dist/types/common-utils/utils/creditAccount/types.d.ts +0 -22
  1005. package/dist/types/common-utils/utils/index.d.ts +0 -104
  1006. package/dist/types/common-utils/utils/price-math.d.ts +0 -49
  1007. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +0 -7
  1008. package/dist/types/common-utils/utils/strategies/assets/index.d.ts +0 -2
  1009. package/dist/types/common-utils/utils/strategies/availability/check-boolean.d.ts +0 -4
  1010. package/dist/types/common-utils/utils/strategies/availability/check-degen-nft.d.ts +0 -8
  1011. package/dist/types/common-utils/utils/strategies/availability/index.d.ts +0 -3
  1012. package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.d.ts +0 -21
  1013. package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.d.ts +0 -1
  1014. package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.d.ts +0 -14
  1015. package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.d.ts +0 -10
  1016. package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.d.ts +0 -12
  1017. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +0 -17
  1018. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.d.ts +0 -1
  1019. package/dist/types/common-utils/utils/strategies/credit-managers/index.d.ts +0 -7
  1020. package/dist/types/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.d.ts +0 -6
  1021. package/dist/types/common-utils/utils/strategies/eligibility/index.d.ts +0 -3
  1022. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +0 -16
  1023. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-released.d.ts +0 -4
  1024. package/dist/types/common-utils/utils/strategies/index.d.ts +0 -77
  1025. package/dist/types/common-utils/utils/strategies/leverage/calculate-loss-coefficient.d.ts +0 -4
  1026. package/dist/types/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.d.ts +0 -15
  1027. package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.d.ts +0 -14
  1028. package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.d.ts +0 -1
  1029. package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.d.ts +0 -5
  1030. package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.d.ts +0 -1
  1031. package/dist/types/common-utils/utils/strategies/leverage/get-factor-from-leverage.d.ts +0 -7
  1032. package/dist/types/common-utils/utils/strategies/leverage/get-leverage-from-factor.d.ts +0 -5
  1033. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.d.ts +0 -24
  1034. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.spec.d.ts +0 -1
  1035. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.d.ts +0 -7
  1036. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.d.ts +0 -1
  1037. package/dist/types/common-utils/utils/strategies/leverage/index.d.ts +0 -11
  1038. package/dist/types/common-utils/utils/strategies/leverage/max-leverage-threshold.d.ts +0 -8
  1039. package/dist/types/common-utils/utils/strategies/leverage/max-leverage.d.ts +0 -12
  1040. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +0 -14
  1041. package/dist/types/common-utils/utils/strategies/lists/get-available-strategies.d.ts +0 -11
  1042. package/dist/types/common-utils/utils/strategies/lists/get-disabled-strategies.d.ts +0 -12
  1043. package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list-core.d.ts +0 -16
  1044. package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list.d.ts +0 -10
  1045. package/dist/types/common-utils/utils/strategies/lists/index.d.ts +0 -4
  1046. package/dist/types/common-utils/utils/strategies/points/get-complex-points-list.d.ts +0 -7
  1047. package/dist/types/common-utils/utils/strategies/points/get-points-info.d.ts +0 -12
  1048. package/dist/types/common-utils/utils/strategies/points/get-points-rates.d.ts +0 -6
  1049. package/dist/types/common-utils/utils/strategies/points/get-strategy-points.d.ts +0 -27
  1050. package/dist/types/common-utils/utils/strategies/points/index.d.ts +0 -5
  1051. package/dist/types/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.d.ts +0 -2
  1052. package/dist/types/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.d.ts +0 -31
  1053. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +0 -31
  1054. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.d.ts +0 -1
  1055. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +0 -26
  1056. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.d.ts +0 -1
  1057. package/dist/types/common-utils/utils/strategies/strategy-info/cm-availability-condition.d.ts +0 -6
  1058. package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.d.ts +0 -22
  1059. package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.d.ts +0 -1
  1060. package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-info-core.d.ts +0 -21
  1061. package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-info.d.ts +0 -5
  1062. package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.d.ts +0 -17
  1063. package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.d.ts +0 -31
  1064. package/dist/types/common-utils/utils/strategies/strategy-info/index.d.ts +0 -11
  1065. package/dist/types/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.d.ts +0 -5
  1066. package/dist/types/common-utils/utils/strategies/strategy-info/types.d.ts +0 -113
  1067. package/dist/types/common-utils/utils/strategies/strategy-state/index.d.ts +0 -2
  1068. package/dist/types/common-utils/utils/strategies/strategy-state/is-strategy-disabled.d.ts +0 -7
  1069. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +0 -10
  1070. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.spec.d.ts +0 -1
  1071. package/dist/types/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.d.ts +0 -8
  1072. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +0 -16
  1073. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.d.ts +0 -1
  1074. package/dist/types/common-utils/utils/strategies/tokens/get-native-token-address.d.ts +0 -4
  1075. package/dist/types/common-utils/utils/strategies/tokens/index.d.ts +0 -13
  1076. package/dist/types/common-utils/utils/strategies/tokens/is-activated-token.d.ts +0 -10
  1077. package/dist/types/common-utils/utils/strategies/tokens/is-apy-with-points-exception.d.ts +0 -6
  1078. package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.d.ts +0 -17
  1079. package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.spec.d.ts +0 -1
  1080. package/dist/types/common-utils/utils/strategies/tokens/is-forbidden-token.d.ts +0 -9
  1081. package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.d.ts +0 -11
  1082. package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.spec.d.ts +0 -1
  1083. package/dist/types/common-utils/utils/strategies/tokens/is-usable-token.d.ts +0 -6
  1084. package/dist/types/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.d.ts +0 -20
  1085. package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.d.ts +0 -5
  1086. package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.spec.d.ts +0 -1
  1087. package/dist/types/common-utils/utils/strategies/types/chains.d.ts +0 -6
  1088. package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +0 -34
  1089. package/dist/types/common-utils/utils/strategies/types/curator-filter.d.ts +0 -5
  1090. package/dist/types/common-utils/utils/strategies/types/index.d.ts +0 -13
  1091. package/dist/types/common-utils/utils/strategies/types/legacy-strategy-data-source.d.ts +0 -7
  1092. package/dist/types/common-utils/utils/strategies/types/points-slices.d.ts +0 -24
  1093. package/dist/types/common-utils/utils/strategies/types/sdk-state.d.ts +0 -17
  1094. package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +0 -9
  1095. package/dist/types/common-utils/utils/strategies/types/strategy-data-source.d.ts +0 -22
  1096. package/dist/types/common-utils/utils/strategies/types/strategy-data.d.ts +0 -19
  1097. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +0 -47
  1098. package/dist/types/common-utils/utils/strategies/types/strategy.d.ts +0 -20
  1099. package/dist/types/common-utils/utils/strategies/types/targetable.d.ts +0 -9
  1100. package/dist/types/common-utils/utils/strategies/types.d.ts +0 -14
  1101. package/dist/types/common-utils/utils/validation/index.d.ts +0 -12
  1102. package/dist/types/common-utils/utils/validation/is-zero-balance.d.ts +0 -4
  1103. package/dist/types/common-utils/utils/validation/validate-balance.d.ts +0 -25
  1104. package/dist/types/common-utils/utils/validation/validate-balance.spec.d.ts +0 -1
  1105. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +0 -13
  1106. package/dist/types/common-utils/utils/validation/validate-balances.spec.d.ts +0 -1
  1107. package/dist/types/common-utils/utils/validation/validate-credit-manager.d.ts +0 -13
  1108. package/dist/types/common-utils/utils/validation/validate-credit-manager.spec.d.ts +0 -1
  1109. package/dist/types/common-utils/utils/validation/validate-hf.d.ts +0 -12
  1110. package/dist/types/common-utils/utils/validation/validate-hf.spec.d.ts +0 -1
  1111. package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.d.ts +0 -10
  1112. package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.d.ts +0 -1
  1113. package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.d.ts +0 -26
  1114. package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.spec.d.ts +0 -1
  1115. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +0 -25
  1116. package/dist/types/common-utils/utils/validation/validate-open-account.spec.d.ts +0 -1
  1117. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +0 -24
  1118. package/dist/types/common-utils/utils/validation/validate-quota.spec.d.ts +0 -1
  1119. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +0 -17
  1120. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.spec.d.ts +0 -1
  1121. package/dist/types/common-utils/utils/validation/validation-types.d.ts +0 -10
  1122. package/dist/types/onchain/accounts/intents/utils/convert-amount.d.ts +0 -13
  1123. package/dist/types/plugins/apy/ApyPlugin.d.ts +0 -59
  1124. package/dist/types/plugins/apy/apy-parser.d.ts +0 -10
  1125. package/dist/types/plugins/apy/constants.d.ts +0 -5
  1126. package/dist/types/plugins/apy/index.d.ts +0 -7
  1127. package/dist/types/plugins/apy/pool-apy-types.d.ts +0 -45
  1128. package/dist/types/plugins/apy/pool-apy-utils.d.ts +0 -77
  1129. package/dist/types/plugins/apy/strategy-data-source.d.ts +0 -21
  1130. package/dist/types/plugins/apy/types.d.ts +0 -64
  1131. package/dist/types/plugins/remote-configs/CustomConfigSource.d.ts +0 -16
  1132. package/dist/types/plugins/remote-configs/RemoteConfigSource.d.ts +0 -35
  1133. package/dist/types/plugins/remote-configs/RemoteConfigsPlugin.d.ts +0 -29
  1134. package/dist/types/plugins/remote-configs/index.d.ts +0 -8
  1135. package/dist/types/plugins/remote-configs/types.d.ts +0 -26
  1136. package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +0 -17
  1137. package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +0 -12
  1138. package/dist/types/preview/preview/previewPoolOperation.d.ts +0 -11
  1139. package/dist/types/rewards/apy/index.d.ts +0 -3
  1140. package/dist/types/rewards/apy/output-details.d.ts +0 -99
  1141. package/dist/types/rewards/apy/output.d.ts +0 -25
  1142. package/dist/types/rewards/rewards/api.d.ts +0 -39
  1143. package/dist/types/rewards/rewards/common.d.ts +0 -9
  1144. package/dist/types/rewards/rewards/extra-apy.d.ts +0 -37
  1145. package/dist/types/rewards/rewards/index.d.ts +0 -3
  1146. package/dist/types/rewards/rewards/merkl-api.d.ts +0 -48
  1147. /package/dist/cjs/{common-utils/charts/credit-manager-payload.js → model/analytics.js} +0 -0
  1148. /package/dist/cjs/{common-utils/charts/credit-sessions-payload.js → model/errors.js} +0 -0
  1149. /package/dist/cjs/{common-utils/charts/graph-payload.js → model/withdrawals.js} +0 -0
  1150. /package/dist/cjs/{common-utils/utils/creditAccount → offchain/analytics}/types.js +0 -0
  1151. /package/dist/cjs/{common-utils/utils/strategies/strategy-info → offchain/opportunities}/types.js +0 -0
  1152. /package/dist/cjs/{plugins/apy → offchain/positions}/types.js +0 -0
  1153. /package/dist/cjs/{plugins/remote-configs → onchain/opportunities}/types.js +0 -0
  1154. /package/dist/cjs/{common-utils/charts/pool-payload.js → sdk/analytics/types.js} +0 -0
  1155. /package/dist/cjs/{common-utils/static/migration-config.js → sdk/execute/types.js} +0 -0
  1156. /package/dist/esm/{common-utils/charts/credit-manager-payload.js → model/analytics.js} +0 -0
  1157. /package/dist/esm/{common-utils/charts/credit-sessions-payload.js → model/errors.js} +0 -0
  1158. /package/dist/esm/{common-utils/charts/graph-payload.js → model/withdrawals.js} +0 -0
  1159. /package/dist/esm/{common-utils/utils/creditAccount → offchain/analytics}/types.js +0 -0
  1160. /package/dist/esm/{common-utils/utils/strategies/strategy-info → offchain/opportunities}/types.js +0 -0
  1161. /package/dist/esm/{plugins/apy → offchain/positions}/types.js +0 -0
  1162. /package/dist/esm/{plugins/remote-configs → onchain/opportunities}/types.js +0 -0
  1163. /package/dist/esm/{common-utils/charts/pool-payload.js → sdk/analytics/types.js} +0 -0
  1164. /package/dist/esm/{common-utils/static/migration-config.js → sdk/execute/types.js} +0 -0
@@ -6,8 +6,10 @@ const require_onchain_accounts_credit_account_compressor_CreditAccountCompressor
6
6
  const require_onchain_accounts_credit_account_compressor_CreditAccountCompressor = require("./credit-account-compressor/CreditAccountCompressor.js");
7
7
  require("./credit-account-compressor/index.js");
8
8
  const require_onchain_accounts_CreditAccountsServiceV310 = require("./CreditAccountsServiceV310.js");
9
- const require_onchain_accounts_intents_types = require("./intents/types.js");
9
+ const require_onchain_accounts_intents_utils_pick_token = require("./intents/utils/pick-token.js");
10
+ const require_onchain_accounts_intents_guards = require("./intents/guards.js");
10
11
  const require_onchain_accounts_intents_utils_credit_account_slice = require("./intents/utils/credit-account-slice.js");
12
+ const require_onchain_accounts_quota_utils = require("./quota-utils.js");
11
13
  const require_onchain_accounts_intents_index = require("./intents/index.js");
12
14
  const require_onchain_accounts_liquidations_constants = require("./liquidations/constants.js");
13
15
  const require_onchain_accounts_liquidations_LiquidationsService = require("./liquidations/LiquidationsService.js");
@@ -17,7 +19,6 @@ require("./types.js");
17
19
  const require_onchain_accounts_withdrawal_compressor_intent_codec = require("./withdrawal-compressor/intent-codec.js");
18
20
  const require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract = require("./withdrawal-compressor/AbstractWithdrawalCompressorContract.js");
19
21
  const require_onchain_accounts_withdrawal_compressor_addresses = require("./withdrawal-compressor/addresses.js");
20
- const require_onchain_accounts_withdrawal_compressor_errors = require("./withdrawal-compressor/errors.js");
21
22
  const require_onchain_accounts_withdrawal_compressor_RedemptionLoggerV310Contract = require("./withdrawal-compressor/RedemptionLoggerV310Contract.js");
22
23
  const require_onchain_accounts_withdrawal_compressor_createRedemptionLogger = require("./withdrawal-compressor/createRedemptionLogger.js");
23
24
  const require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract = require("./withdrawal-compressor/WithdrawalCompressorV310Contract.js");
@@ -34,8 +35,6 @@ exports.CreditAccountOperationsService = require_onchain_accounts_intents_index.
34
35
  exports.CreditAccountsServiceV310 = require_onchain_accounts_CreditAccountsServiceV310.CreditAccountsServiceV310;
35
36
  exports.DELAYED_INTENT_TYPES = require_onchain_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_TYPES;
36
37
  exports.DELAYED_INTENT_VERSION = require_onchain_accounts_withdrawal_compressor_intent_codec.DELAYED_INTENT_VERSION;
37
- exports.IntentPreviewError = require_onchain_accounts_intents_types.IntentPreviewError;
38
- exports.InvalidDelayedIntentError = require_onchain_accounts_withdrawal_compressor_errors.InvalidDelayedIntentError;
39
38
  exports.LIQUIDATION_APPROVAL_BUFFER = require_onchain_accounts_liquidations_constants.LIQUIDATION_APPROVAL_BUFFER;
40
39
  exports.LIQUIDATION_COMPRESSOR_V313_ADDRESS = require_onchain_accounts_liquidations_constants.LIQUIDATION_COMPRESSOR_V313_ADDRESS;
41
40
  exports.LiquidationsService = require_onchain_accounts_liquidations_LiquidationsService.LiquidationsService;
@@ -45,6 +44,10 @@ exports.RedemptionLoggerV310Contract = require_onchain_accounts_withdrawal_compr
45
44
  exports.WithdrawalCompressorV310Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract.WithdrawalCompressorV310Contract;
46
45
  exports.WithdrawalCompressorV311Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV311Contract.WithdrawalCompressorV311Contract;
47
46
  exports.WithdrawalCompressorV313Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV313Contract.WithdrawalCompressorV313Contract;
47
+ exports.borrowable = require_onchain_accounts_intents_guards.borrowable;
48
+ exports.calcDefaultQuota = require_onchain_accounts_quota_utils.calcDefaultQuota;
49
+ exports.calcQuotaUpdate = require_onchain_accounts_quota_utils.calcQuotaUpdate;
50
+ exports.calcRecommendedQuota = require_onchain_accounts_quota_utils.calcRecommendedQuota;
48
51
  exports.createRedemptionLogger = require_onchain_accounts_withdrawal_compressor_createRedemptionLogger.createRedemptionLogger;
49
52
  exports.createWithdrawalCompressor = require_onchain_accounts_withdrawal_compressor_createWithdrawalCompressor.createWithdrawalCompressor;
50
53
  exports.decodeDelayedIntent = require_onchain_accounts_withdrawal_compressor_intent_codec.decodeDelayedIntent;
@@ -52,6 +55,8 @@ exports.encodeDelayedIntent = require_onchain_accounts_withdrawal_compressor_int
52
55
  exports.fetchCreditAccountSlice = require_onchain_accounts_intents_utils_credit_account_slice.fetchCreditAccountSlice;
53
56
  exports.getWithdrawalCompressorAddress = require_onchain_accounts_withdrawal_compressor_addresses.getWithdrawalCompressorAddress;
54
57
  exports.iCreditAccountAbi = require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract.iCreditAccountAbi;
58
+ exports.isPhantomToken = require_onchain_accounts_intents_utils_pick_token.isPhantomToken;
59
+ exports.roundUpQuota = require_onchain_accounts_quota_utils.roundUpQuota;
55
60
  exports.toClaimableWithdrawal = require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract.toClaimableWithdrawal;
56
61
  exports.toCreditAccountSlice = require_onchain_accounts_intents_utils_credit_account_slice.toCreditAccountSlice;
57
62
  exports.toPendingWithdrawal = require_onchain_accounts_withdrawal_compressor_AbstractWithdrawalCompressorContract.toPendingWithdrawal;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../../constants/math.js");
3
- require("../../constants/index.js");
4
- const require_onchain_accounts_intents_types = require("./types.js");
2
+ const require_onchain_validation_checks = require("../../validation/checks.js");
3
+ const require_onchain_validation_refusal = require("../../validation/refusal.js");
4
+ const require_onchain_validation_token = require("../../validation/token.js");
5
5
  const require_onchain_accounts_intents_utils_common = require("./utils/common.js");
6
6
  const require_onchain_accounts_intents_utils_pick_token = require("./utils/pick-token.js");
7
7
  //#region src/onchain/accounts/intents/guards.ts
@@ -13,14 +13,27 @@ const require_onchain_accounts_intents_utils_pick_token = require("./utils/pick-
13
13
  * pool has run out of what it lends. On-chain those come back as a reverted
14
14
  * multicall with a selector no form can explain, so they are read from the
15
15
  * loaded market and reported as refusals instead.
16
+ *
17
+ * Every guard here refuses something the market decides rather than something
18
+ * the arithmetic cannot do, which is why all six of their reasons are
19
+ * `blocking`: the walk that hit one still reached an end state, and a caller
20
+ * gets that state alongside the refusal.
16
21
  */
17
22
  /**
18
23
  * The facade takes no multicall while it is paused or past its expiration, so
19
24
  * every intent the engine previews would revert on arrival.
20
25
  */
21
26
  function assertMarketOperable(suite) {
22
- if (suite.isPaused) throw new require_onchain_accounts_intents_types.IntentPreviewError("marketPaused", `${suite.creditManager.address} is paused`);
23
- if (suite.isExpired) throw new require_onchain_accounts_intents_types.IntentPreviewError("marketExpired", `${suite.creditManager.address} expired at ${suite.creditFacade.expirationDate}`);
27
+ const creditManager = suite.creditManager.address;
28
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkCreditManagerPaused({
29
+ isPaused: suite.isPaused,
30
+ creditManager
31
+ }), `${creditManager} is paused`);
32
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkMarketExpired({
33
+ isExpired: suite.isExpired,
34
+ creditManager,
35
+ expirationDate: suite.creditFacade.expirationDate
36
+ }), `${creditManager} expired at ${suite.creditFacade.expirationDate}`);
24
37
  }
25
38
  /**
26
39
  * What the pool will hand this manager in one transaction: the tightest of its
@@ -31,18 +44,35 @@ function assertMarketOperable(suite) {
31
44
  function borrowable(suite) {
32
45
  const { pool } = suite.market.pool;
33
46
  const { maxDebtPerBlockMultiplier, maxDebt } = suite.creditFacade;
34
- if (maxDebtPerBlockMultiplier === 0) return 0n;
47
+ if (maxDebtPerBlockMultiplier === 0) return {
48
+ limit: 0n,
49
+ binding: "facadePerBlockCap"
50
+ };
35
51
  const available = pool.creditManagerDebtParams.get(suite.creditManager.address)?.available;
36
52
  return [
37
- pool.availableLiquidity,
38
- maxDebt * BigInt(maxDebtPerBlockMultiplier),
39
- ...available === void 0 ? [] : [available]
40
- ].reduce((a, b) => a < b ? a : b);
53
+ {
54
+ limit: pool.availableLiquidity,
55
+ binding: "poolAvailableLiquidity"
56
+ },
57
+ {
58
+ limit: maxDebt * BigInt(maxDebtPerBlockMultiplier),
59
+ binding: "facadePerBlockCap"
60
+ },
61
+ ...available === void 0 ? [] : [{
62
+ limit: available,
63
+ binding: "managerDebtAvailable"
64
+ }]
65
+ ].reduce((a, b) => b.limit < a.limit ? b : a);
41
66
  }
42
67
  /** The pool has to be able to lend what the plan means to draw. */
43
- function assertCanBorrow(suite, amount) {
44
- const limit = borrowable(suite);
45
- if (amount > limit) throw new require_onchain_accounts_intents_types.IntentPreviewError("insufficientPoolLiquidity", `borrow: ${amount} exceeds what the pool can lend now (${limit})`);
68
+ function assertCanBorrow(sdk, suite, amount) {
69
+ const { limit, binding } = borrowable(suite);
70
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkBorrowLimit({
71
+ requested: amount,
72
+ available: limit,
73
+ binding,
74
+ underlying: require_onchain_validation_token.toToken(sdk, suite.market.pool.underlying)
75
+ }), `borrow: ${amount} exceeds what the pool can lend now (${limit})`);
46
76
  }
47
77
  /**
48
78
  * What the account is allowed to end up holding more of than it started with.
@@ -62,9 +92,17 @@ function assertGrowthAllowed(args) {
62
92
  const underlying = market.pool.underlying;
63
93
  for (const { token, balance } of after) {
64
94
  if (balance <= (before.find((a) => require_onchain_accounts_intents_utils_common.eq(a.token, token))?.balance ?? 0n)) continue;
65
- if (forbidden.some((f) => require_onchain_accounts_intents_utils_common.eq(f, token))) throw new require_onchain_accounts_intents_types.IntentPreviewError("forbiddenToken", `${token} is forbidden in this market and the plan buys more of it`);
95
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkForbiddenToken({
96
+ token: require_onchain_validation_token.toToken(sdk, token),
97
+ isForbidden: forbidden.some((f) => require_onchain_accounts_intents_utils_common.eq(f, token))
98
+ }), `${token} is forbidden in this market and the plan buys more of it`);
66
99
  if (require_onchain_accounts_intents_utils_common.eq(token, underlying) || require_onchain_accounts_intents_utils_pick_token.isPhantomToken(sdk, token)) continue;
67
- if (!market.pool.pqk.hasActiveQuota(token)) throw new require_onchain_accounts_intents_types.IntentPreviewError("quotaLimitReached", `${token} takes no quota in this market, so it counts as no collateral`);
100
+ if (!market.pool.pqk.hasActiveQuota(token)) require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkQuotaLimit({
101
+ token: require_onchain_validation_token.toToken(sdk, token),
102
+ requested: void 0,
103
+ available: 0n,
104
+ underlying: require_onchain_validation_token.toToken(sdk, underlying)
105
+ }), `${token} takes no quota in this market, so it counts as no collateral`);
68
106
  }
69
107
  }
70
108
  /**
@@ -72,10 +110,23 @@ function assertGrowthAllowed(args) {
72
110
  * and reverts if the collateral does not cover it, so a plan that lands the
73
111
  * account below water is refused here.
74
112
  *
75
- * The bar is the health factor of the state the plan projects: collateral under
76
- * liquidation thresholds, capped by quota, against the debt. Note that a
77
- * position already underwater cannot be nursed back one step at a time — the
78
- * check is on where the transaction ends, not on whether it improved things.
113
+ * The bar is the facade's own `1.0`, because this guard answers one question:
114
+ * would the transaction revert. It is deliberately not `MIN_HF_LIMITED`, and
115
+ * the three bars in this codebase are three different jobs:
116
+ *
117
+ * - here, `1.0` — what the facade enforces, so what a plan must clear to land;
118
+ * - `maxWithdrawCollateral` sizes at `MIN_HF_LIMITED + 2` — a *sizing* helper
119
+ * leaving headroom, which is not the same as a validity check;
120
+ * - a form refuses at or below `MIN_HF_LIMITED` (`MIN_HEALTH_FACTOR_FORM`).
121
+ *
122
+ * Raising this one to `MIN_HF_LIMITED` was tried and reverted: it made
123
+ * `maxWithdraw` hand back a ceiling this guard then refused, and it blocked
124
+ * small top-ups of an account sitting in `[1.0, 1.01)` — the very operations
125
+ * that rescue it. A form wanting the stricter bar has `validateHF`.
126
+ *
127
+ * Note that a position already underwater cannot be nursed back one step at a
128
+ * time — the check is on where the transaction ends, not on whether it
129
+ * improved things.
79
130
  *
80
131
  * @remarks
81
132
  * The caller decides the pricing the factor was computed at: main prices, or
@@ -83,20 +134,31 @@ function assertGrowthAllowed(args) {
83
134
  * whose reserve feed the SDK cannot read keeps its main price, so a plan can
84
135
  * still be refused on-chain after passing here.
85
136
  */
86
- function assertCollateralised(healthFactorBps) {
87
- if (healthFactorBps < Number(10000n)) throw new require_onchain_accounts_intents_types.IntentPreviewError("insufficientCollateral", `the account would end at a health factor of ${healthFactorBps}, below 1.0`);
137
+ function assertCollateralised(healthFactorBps, safePrices) {
138
+ const required = require_onchain_validation_checks.MIN_HEALTH_FACTOR_FACADE;
139
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkCollateralised({
140
+ healthFactor: healthFactorBps,
141
+ required,
142
+ safePrices
143
+ }), `the account would end at a health factor of ${healthFactorBps}, below ${required}`);
88
144
  }
89
145
  /**
90
146
  * A quota can only be raised as far as the market still has room for: past the
91
147
  * token's limit the keeper takes nothing more, whoever is asking.
92
148
  */
93
- function assertQuotaHeadroom(market, increases) {
149
+ function assertQuotaHeadroom(sdk, market, increases) {
150
+ const underlying = market.pool.underlying;
94
151
  for (const { token, balance } of increases) {
95
152
  if (balance <= 0n) continue;
96
153
  const quota = market.pool.pqk.quotas.get(token);
97
154
  if (!quota) continue;
98
155
  const left = quota.limit - quota.totalQuoted;
99
- if (balance > left) throw new require_onchain_accounts_intents_types.IntentPreviewError("quotaLimitReached", `${token} has ${left} of quota left, the plan needs ${balance}`);
156
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkQuotaLimit({
157
+ token: require_onchain_validation_token.toToken(sdk, token),
158
+ requested: balance,
159
+ available: left,
160
+ underlying: require_onchain_validation_token.toToken(sdk, underlying)
161
+ }), `${token} has ${left} of quota left, the plan needs ${balance}`);
100
162
  }
101
163
  }
102
164
  //#endregion
@@ -1,8 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_base_SDKConstruct = require("../../base/SDKConstruct.js");
3
- const require_common_utils_utils_validation_validate_hf = require("../../../common-utils/utils/validation/validate-hf.js");
4
- const require_onchain_accounts_intents_types = require("./types.js");
3
+ const require_onchain_validation_checks = require("../../validation/checks.js");
4
+ const require_onchain_validation_refusal = require("../../validation/refusal.js");
5
+ const require_onchain_accounts_intents_utils_pick_token = require("./utils/pick-token.js");
5
6
  const require_onchain_accounts_intents_guards = require("./guards.js");
7
+ const require_onchain_accounts_intents_leverage_band = require("./leverage-band.js");
6
8
  const require_onchain_accounts_intents_math = require("./math.js");
7
9
  const require_onchain_accounts_intents_maxWithdrawCollateral = require("./maxWithdrawCollateral.js");
8
10
  const require_onchain_accounts_intents_utils_credit_account_slice = require("./utils/credit-account-slice.js");
@@ -44,17 +46,27 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
44
46
  }));
45
47
  }
46
48
  /**
47
- * Largest `WITHDRAW` amount (in underlying) the account can take out while
48
- * keeping leverage and staying inside the facade's debt band — the ceiling a
49
- * withdraw form should offer. Taking everything out is the same intent with
50
- * `MAX_UINT256` for an amount, and needs none of this arithmetic.
49
+ * Both ends of what a `WITHDRAW` can take out, in underlying: the largest
50
+ * partial withdrawal that keeps leverage and stays inside the facade's debt
51
+ * band, and the net value an exit hands over. They are reported together
52
+ * because a withdraw form needs both the range it may offer, and the one
53
+ * amount past it that is allowed — and because the distance between them is
54
+ * the account's own, not a constant a caller could assume.
55
+ *
56
+ * Takes no target health factor, unlike {@link maxWithdrawCollateral}: a
57
+ * proportional withdrawal leaves the factor where it found it, and the
58
+ * facade's `minDebt` is what bounds it.
51
59
  *
52
60
  * @param props - Account slice and the SDK holding its market
53
- * @returns Amount in underlying units; `0n` when nothing can leave
61
+ * @returns The two ceilings, see {@link WithdrawCeilings} for the gap between
62
+ * them
54
63
  */
55
64
  maxWithdraw(props) {
56
65
  const view = require_onchain_accounts_intents_view.accountView(props.creditAccount, props.sdk);
57
- return require_onchain_accounts_intents_math.maxProportionalWithdrawal(view, view.band);
66
+ return {
67
+ partial: require_onchain_accounts_intents_math.maxProportionalWithdrawal(view, view.band),
68
+ exit: view.collateral > 0n ? view.collateral : 0n
69
+ };
58
70
  }
59
71
  /**
60
72
  * Debt a `REPAY` would have to cover to settle the account, in underlying
@@ -73,20 +85,44 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
73
85
  return require_onchain_accounts_intents_view.accountView(props.creditAccount, props.sdk).debt;
74
86
  }
75
87
  /**
88
+ * The leverages a position of a given size can be opened at, or moved to.
89
+ *
90
+ * A credit manager's `maxLeverage` follows from the liquidation threshold
91
+ * alone, so it is the same for a hundred dollars and for a million. What a
92
+ * given deposit reaches is decided by the debt it implies and by the band
93
+ * the market puts that debt in — the range a leverage slider should offer.
94
+ *
95
+ * Unlike the other ceilings here this one reads no account: opening has none
96
+ * yet, and adjusting measures against the net value the caller already
97
+ * holds. Nothing is fetched, so a form can ask on every keystroke.
98
+ *
99
+ * @param props - The manager, the SDK holding its market, what stands
100
+ * behind the position, and optionally the health factor the ceiling should
101
+ * leave
102
+ * @returns The band, or nothing when the market has none to offer
103
+ */
104
+ leverageBand(props) {
105
+ return require_onchain_accounts_intents_leverage_band.calcLeverageBand(props);
106
+ }
107
+ /**
76
108
  * Largest `WITHDRAW_ASSET` amount of one token the account can take out
77
- * while its health factor stays at {@link MIN_HF_LIMITED} plus a basis
78
- * point — the ceiling a withdraw-collateral form should offer. Thresholds,
79
- * prices and quota activity come from the account's market, valued the way
80
- * the facade values a call that pays out; zero debt frees the whole balance.
109
+ * while its health factor stays at `targetHF` the ceiling a
110
+ * withdraw-collateral form should offer. Thresholds, prices and quota
111
+ * activity come from the account's market, valued the way the facade values
112
+ * a call that pays out; zero debt frees the whole balance.
113
+ *
114
+ * The default is {@link MIN_HF_LIMITED}, the bar a form holds an
115
+ * account to.
81
116
  *
82
- * @param props - Account slice, the SDK holding its market, and the
83
- * collateral to withdraw
117
+ * @param props - Account slice, the SDK holding its market, the collateral
118
+ * to withdraw, and optionally the health factor to leave behind
84
119
  * @returns Amount in the token's units; `0n` when nothing can leave
85
120
  */
86
121
  maxWithdrawCollateral(props) {
122
+ const { targetHF = require_onchain_validation_checks.MIN_HF_LIMITED, ...rest } = props;
87
123
  return require_onchain_accounts_intents_maxWithdrawCollateral.maxWithdrawCollateral({
88
- ...props,
89
- targetHF: require_common_utils_utils_validation_validate_hf.MIN_HF_LIMITED + 2n
124
+ ...rest,
125
+ targetHF: targetHF + 2n
90
126
  });
91
127
  }
92
128
  /**
@@ -140,7 +176,7 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
140
176
  });
141
177
  return {
142
178
  ...result,
143
- preview: tail.state,
179
+ state: tail.state,
144
180
  delayed
145
181
  };
146
182
  } catch (e) {
@@ -170,9 +206,11 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
170
206
  const [instant, delayed] = await Promise.allSettled([this.startIntent(props), this.startDelayedIntent(props)]);
171
207
  const instantRoute = instant.status === "fulfilled" && instant.value.ok ? instant.value : void 0;
172
208
  const delayedRoute = delayed.status === "fulfilled" && delayed.value.ok ? delayed.value : void 0;
209
+ const instantRefusal = instant.status === "fulfilled" && !instant.value.ok ? instant.value : void 0;
210
+ const delayedRefusal = delayed.status === "fulfilled" && !delayed.value.ok ? delayed.value : void 0;
173
211
  const refused = {
174
- instant: instant.status === "fulfilled" && !instant.value.ok ? instant.value.reason : void 0,
175
- delayed: delayed.status === "fulfilled" && !delayed.value.ok ? delayed.value.reason : void 0
212
+ instant: instantRefusal?.reason,
213
+ delayed: delayedRefusal?.reason
176
214
  };
177
215
  if (instantRoute || delayedRoute) return {
178
216
  ok: true,
@@ -182,11 +220,10 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
182
220
  };
183
221
  const failed = [instant, delayed].find((s) => s.status === "rejected");
184
222
  if (failed?.status === "rejected") throw failed.reason;
185
- const reason = refused.instant ?? refused.delayed;
186
- if (reason === void 0) throw new Error("intentRoutes: a route neither answered nor refused");
223
+ const chosen = instantRefusal ?? delayedRefusal;
224
+ if (chosen === void 0) throw new Error("intentRoutes: a route neither answered nor refused");
187
225
  return {
188
- ok: false,
189
- reason,
226
+ ...chosen,
190
227
  refused
191
228
  };
192
229
  }
@@ -199,17 +236,36 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
199
236
  * whole tail: the tokens land on the account and only their quota has to
200
237
  * catch up.
201
238
  *
239
+ * A claim that brought only part of what the request queued — a legacy Mellow
240
+ * multivault, which pays out what it holds liquid and re-queues the rest — is
241
+ * served in proportion, and what it did not settle comes back as `remainder`:
242
+ * the withdrawal still in flight and the intent to finish it with.
243
+ *
202
244
  * @param props - The recorded intent, the account slice as it stands now, and
203
245
  * the matured claimable
204
- * @returns Shaped exactly like {@link startIntent}'s result, so both halves of
205
- * an operation are consumed the same way
246
+ * @returns Shaped exactly like {@link startIntent}'s result with the remainder
247
+ * beside it, so both halves of an operation are consumed the same way
206
248
  */
207
249
  async finishIntent(props) {
208
- return plain(await this.#preview(props, () => require_onchain_accounts_intents_tail.planTail({
209
- intent: props.intent,
210
- claimable: props.claimable,
211
- view: require_onchain_accounts_intents_view.accountView(props.creditAccount, props.sdk)
212
- })));
250
+ let remainder;
251
+ const result = await this.#preview(props, () => {
252
+ const tail = require_onchain_accounts_intents_tail.planTail({
253
+ intent: props.intent,
254
+ claimable: props.claimable,
255
+ view: require_onchain_accounts_intents_view.accountView(props.creditAccount, props.sdk)
256
+ });
257
+ remainder = tail.remainder;
258
+ return tail.steps;
259
+ });
260
+ if (!result.ok) return result;
261
+ const { operations, state, calls } = result;
262
+ return {
263
+ ok: true,
264
+ operations,
265
+ state,
266
+ calls,
267
+ remainder
268
+ };
213
269
  }
214
270
  /**
215
271
  * Previews opening a brand-new leveraged position.
@@ -227,7 +283,7 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
227
283
  try {
228
284
  return {
229
285
  ok: true,
230
- preview: await require_onchain_accounts_intents_open_strategy.previewOpenStrategy(props)
286
+ state: await require_onchain_accounts_intents_open_strategy.buildOpenStrategyState(props)
231
287
  };
232
288
  } catch (e) {
233
289
  return asFailure(e);
@@ -246,7 +302,7 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
246
302
  return {
247
303
  ok: true,
248
304
  operations,
249
- preview: state,
305
+ state,
250
306
  calls,
251
307
  delayed
252
308
  };
@@ -258,24 +314,18 @@ var CreditAccountOperationsService = class extends require_onchain_base_SDKConst
258
314
  /** Drops the delayed half for the flows that cannot produce one. */
259
315
  function plain(result) {
260
316
  if (!result.ok) return result;
261
- const { operations, preview, calls } = result;
317
+ const { operations, state, calls } = result;
262
318
  return {
263
319
  ok: true,
264
320
  operations,
265
- preview,
321
+ state,
266
322
  calls
267
323
  };
268
324
  }
269
325
  /** Unviable requests are values; anything else is a genuine failure. */
270
326
  function asFailure(e) {
271
- if (e instanceof require_onchain_accounts_intents_types.IntentPreviewError) return {
272
- ok: false,
273
- reason: e.reason
274
- };
275
- if (isUnroutable(e)) return {
276
- ok: false,
277
- reason: "unsupportedTokenPair"
278
- };
327
+ if (e instanceof require_onchain_validation_refusal.IntentPreviewError) return require_onchain_validation_refusal.refuse(e.reason, e.detail);
328
+ if (isUnroutable(e)) return require_onchain_validation_refusal.refuse("unsupportedTokenPair", void 0);
279
329
  throw e;
280
330
  }
281
331
  /**
@@ -292,6 +342,7 @@ function isUnroutable(e) {
292
342
  }
293
343
  //#endregion
294
344
  exports.CreditAccountOperationsService = CreditAccountOperationsService;
295
- exports.IntentPreviewError = require_onchain_accounts_intents_types.IntentPreviewError;
345
+ exports.borrowable = require_onchain_accounts_intents_guards.borrowable;
296
346
  exports.fetchCreditAccountSlice = require_onchain_accounts_intents_utils_credit_account_slice.fetchCreditAccountSlice;
347
+ exports.isPhantomToken = require_onchain_accounts_intents_utils_pick_token.isPhantomToken;
297
348
  exports.toCreditAccountSlice = require_onchain_accounts_intents_utils_credit_account_slice.toCreditAccountSlice;
@@ -0,0 +1,70 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_utils_bigint_math = require("../../utils/bigint-math.js");
3
+ const require_onchain_constants_math = require("../../constants/math.js");
4
+ //#region src/onchain/accounts/intents/leverage-band.ts
5
+ /**
6
+ * The leverages this market will actually fund for a position of this size.
7
+ *
8
+ * A credit manager's `maxLeverage` follows from the liquidation threshold
9
+ * alone, so it is the same for a hundred dollars and for a million. What a
10
+ * given deposit reaches is decided by the debt it implies —
11
+ * `debt = netValue × (leverage − 1)` — and by the band the market puts that
12
+ * debt in. This inverts that relation.
13
+ *
14
+ * Rounding is asymmetric because the forward direction truncates: the floor
15
+ * rounds **up** so the leverage it names really does clear `minDebt`, and the
16
+ * ceiling rounds **down** so it really does stay under the borrow limit.
17
+ *
18
+ * Nothing here is fetched or simulated — every input is loaded market state,
19
+ * so a form can call this on each keystroke.
20
+ *
21
+ * @param props - {@link LeverageBandProps}
22
+ * @returns The band, or `undefined` when there is nothing to offer: an
23
+ * unknown manager, a market with no strategy, or a deposit too small to reach
24
+ * `minDebt` at any leverage the threshold allows.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * // minDebt 1k, borrow limit 100k, threshold ceiling 9x, deposit worth 10k
29
+ * calcLeverageBand({ sdk, creditManager, collateral }) // { min: 1.1, max: 9 }
30
+ * ```
31
+ **/
32
+ function calcLeverageBand({ sdk, creditManager, collateral, targetHF }) {
33
+ const found = resolve(sdk, creditManager);
34
+ if (!found) return;
35
+ const { suite, market } = found;
36
+ const target = suite.strategyTargetCollateral;
37
+ if (!target) return;
38
+ const ceiling = suite.creditManager.maxLeverage(target, targetHF);
39
+ const underlying = market.pool.underlying;
40
+ const convert = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount).value;
41
+ const netValue = collateral.reduce((acc, a) => acc + convert(a.token, underlying, a.balance), 0n);
42
+ if (netValue <= 0n) return {
43
+ min: 1,
44
+ max: ceiling
45
+ };
46
+ const { minDebt, maxDebt } = suite.creditFacade;
47
+ const available = market.pool.pool.creditManagerDebtParams.get(suite.creditManager.address)?.available;
48
+ const borrowLimit = available === void 0 ? maxDebt : require_onchain_utils_bigint_math.BigIntMath.min(maxDebt, available);
49
+ const floor = require_onchain_utils_bigint_math.BigIntMath.ceilDiv(require_onchain_constants_math.LEVERAGE_DECIMALS * minDebt, netValue);
50
+ const roof = require_onchain_constants_math.LEVERAGE_DECIMALS * borrowLimit / netValue;
51
+ const min = 1 + Number(floor) / Number(require_onchain_constants_math.LEVERAGE_DECIMALS);
52
+ const max = Math.min(ceiling, 1 + Number(roof) / Number(require_onchain_constants_math.LEVERAGE_DECIMALS));
53
+ return min > max ? void 0 : {
54
+ min,
55
+ max
56
+ };
57
+ }
58
+ /** The manager's suite and market, or nothing while they cannot be resolved. */
59
+ function resolve(sdk, creditManager) {
60
+ try {
61
+ return {
62
+ suite: sdk.marketRegister.findCreditManager(creditManager),
63
+ market: sdk.marketRegister.findByCreditManager(creditManager)
64
+ };
65
+ } catch {
66
+ return;
67
+ }
68
+ }
69
+ //#endregion
70
+ exports.calcLeverageBand = calcLeverageBand;
@@ -1,7 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_utils_bigint_math = require("../../utils/bigint-math.js");
3
3
  const require_onchain_constants_math = require("../../constants/math.js");
4
- const require_onchain_accounts_intents_types = require("./types.js");
4
+ const require_onchain_validation_checks = require("../../validation/checks.js");
5
+ const require_onchain_validation_refusal = require("../../validation/refusal.js");
6
+ const require_onchain_validation_token = require("../../validation/token.js");
5
7
  //#region src/onchain/accounts/intents/math.ts
6
8
  /** Debt that realises `leverage` on `collateral`: `D = C · (L − 1)`. */
7
9
  function debtForLeverage(collateral, leverage) {
@@ -15,7 +17,7 @@ function debtForLeverage(collateral, leverage) {
15
17
  * it, so no rounding is introduced on the way.
16
18
  */
17
19
  function proportionalDebt(position, collateralDelta) {
18
- if (position.collateral <= 0n) throw new require_onchain_accounts_intents_types.IntentPreviewError("insufficientSourceBalance", "cannot preserve leverage on an account with no collateral");
20
+ if (position.collateral <= 0n) throw new require_onchain_validation_refusal.IntentPreviewError("insufficientSourceBalance", void 0, "cannot preserve leverage on an account with no collateral");
19
21
  return position.debt * collateralDelta / position.collateral;
20
22
  }
21
23
  /**
@@ -38,15 +40,23 @@ function maxProportionalWithdrawal(position, band) {
38
40
  }
39
41
  /** Total leverage cannot drop below 1x — that would be negative debt. */
40
42
  function assertLeverageAtLeastOne(leverage) {
41
- if (leverage < 100n) throw new require_onchain_accounts_intents_types.IntentPreviewError("leverageOutOfRange", `target leverage ${leverage} is below 1x`);
43
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkLeverageAtLeastOne({
44
+ leverage,
45
+ min: require_onchain_constants_math.LEVERAGE_DECIMALS
46
+ }), `target leverage ${leverage} is below 1x`);
42
47
  }
43
48
  /**
44
49
  * Rejects a debt the facade would revert on: zero is always fine (no loan at
45
50
  * all), anything else has to sit inside `[minDebt, maxDebt]`.
46
51
  */
47
- function assertDebtInBand(debt, band) {
48
- if (debt > band.maxDebt) throw new require_onchain_accounts_intents_types.IntentPreviewError("debtOutOfRange", `debt ${debt} exceeds maxDebt ${band.maxDebt}`);
49
- if (debt > 0n && debt < band.minDebt) throw new require_onchain_accounts_intents_types.IntentPreviewError("debtOutOfRange", `debt ${debt} is below minDebt ${band.minDebt}`);
52
+ function assertDebtInBand(sdk, debt, band, underlying) {
53
+ require_onchain_validation_refusal.raise(require_onchain_validation_checks.checkDebtInBand({
54
+ debt,
55
+ minDebt: band.minDebt,
56
+ maxDebt: band.maxDebt,
57
+ underlying: require_onchain_validation_token.toToken(sdk, underlying),
58
+ allowZero: true
59
+ }), debt > band.maxDebt ? `debt ${debt} exceeds maxDebt ${band.maxDebt}` : `debt ${debt} is below minDebt ${band.minDebt}`);
50
60
  }
51
61
  //#endregion
52
62
  exports.assertDebtInBand = assertDebtInBand;
@@ -12,9 +12,11 @@ const require_onchain_accounts_intents_utils_common = require("./utils/common.js
12
12
  * check counts: a holding backed by a quota contributes the lesser of the
13
13
  * quota and its threshold-weighted value, an unquoted one — the underlying —
14
14
  * its weighted value alone, and dust or a disabled balance nothing at all.
15
- * Collateral is valued at the lower of its two feeds, the way the facade
16
- * values a call that hands funds over; the debt is valued at the main feed,
17
- * as the check does. Zero debt frees the whole balance.
15
+ * Collateral is valued at the protocol safe price (`min` of the two feeds,
16
+ * 0 when there is no reserve), the way the facade values a call that hands
17
+ * funds over; the underlying is exempt and is valued at the main feed, as
18
+ * `CreditManagerV3._safeConvertToUSD` does. The debt is valued at the main
19
+ * feed, as the check does. Zero debt frees the whole balance.
18
20
  *
19
21
  * Rounding always favours the account, so the answer clears the check rather
20
22
  * than landing a wei short of it.
@@ -31,13 +33,13 @@ function maxWithdrawCollateral(props) {
31
33
  const underlying = market.pool.underlying;
32
34
  const target = creditAccount.tokens.find((t) => require_onchain_accounts_intents_utils_common.eq(t.token, token));
33
35
  if (!target || target.balance <= 10n) return 0n;
34
- if (creditAccount.accountDebt === 0n) return target.balance;
36
+ if (creditAccount.totalDebt === 0n) return target.balance;
35
37
  const masked = creditAccount.enabledTokensMask !== 0n;
36
38
  const counts = (t) => t.balance > 10n && (!masked || (t.mask & creditAccount.enabledTokensMask) !== 0n);
37
39
  /** What a holding backs, in the check's units: USD × PERCENTAGE_FACTOR. */
38
40
  const weigh = (t) => {
39
41
  const lt = BigInt(creditManager.liquidationThresholds.get(t.token) ?? 0);
40
- const weighted = (safeUsd(priceOracle, t.token, t.balance) ?? 0n) * lt;
42
+ const weighted = (require_onchain_accounts_intents_utils_common.eq(t.token, underlying) ? usd(priceOracle, t.token, t.balance) ?? 0n : priceOracle.safeConvertMinUSD(t.token, t.balance).value) * lt;
41
43
  if (t.quota === 0n) return weighted;
42
44
  return require_onchain_utils_bigint_math.BigIntMath.min(quotaUsd(t) * require_onchain_constants_math.PERCENTAGE_FACTOR, weighted);
43
45
  };
@@ -48,15 +50,15 @@ function maxWithdrawCollateral(props) {
48
50
  if (require_onchain_accounts_intents_utils_common.eq(t.token, token) || !counts(t)) continue;
49
51
  otherMoney += weigh(t);
50
52
  }
51
- const borrowed = usd(priceOracle, underlying, creditAccount.accountDebt);
53
+ const borrowed = usd(priceOracle, underlying, creditAccount.totalDebt);
52
54
  if (borrowed === void 0 || borrowed <= 0n) return 0n;
53
55
  const required = borrowed * targetHF;
54
56
  if (required <= otherMoney) return target.balance;
55
57
  const shortfall = required - otherMoney;
56
58
  if (target.quota > 0n && quotaUsd(target) * 10000n < shortfall) return 0n;
57
59
  const targetLt = BigInt(creditManager.liquidationThresholds.get(target.token) ?? 0);
58
- const targetUsd = safeUsd(priceOracle, target.token, target.balance);
59
- if (targetLt === 0n || !targetUsd) return 0n;
60
+ const targetUsd = require_onchain_accounts_intents_utils_common.eq(target.token, underlying) ? usd(priceOracle, target.token, target.balance) ?? 0n : priceOracle.safeConvertMinUSD(target.token, target.balance).value;
61
+ if (targetLt === 0n || targetUsd === 0n) return 0n;
60
62
  const keptUsd = require_onchain_utils_bigint_math.BigIntMath.ceilDiv(shortfall, targetLt);
61
63
  const kept = require_onchain_utils_bigint_math.BigIntMath.ceilDiv(target.balance * keptUsd, targetUsd);
62
64
  return kept >= target.balance ? 0n : target.balance - kept;
@@ -69,18 +71,5 @@ function usd(oracle, token, amount) {
69
71
  return;
70
72
  }
71
73
  }
72
- /**
73
- * USD value at the lower of the token's two feeds — what a call handing funds
74
- * over is judged at. Falls back to the main feed where there is no second one.
75
- **/
76
- function safeUsd(oracle, token, amount) {
77
- const main = usd(oracle, token, amount);
78
- if (main === void 0) return;
79
- try {
80
- return require_onchain_utils_bigint_math.BigIntMath.min(main, oracle.convertToUSD(token, amount, true));
81
- } catch {
82
- return main;
83
- }
84
- }
85
74
  //#endregion
86
75
  exports.maxWithdrawCollateral = maxWithdrawCollateral;