@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
@@ -1,5 +1,3 @@
1
- import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
2
- import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
3
1
  import { AP_REWARDS_COMPRESSOR } from "../constants/address-provider.js";
4
2
  import { ADDRESS_0X0 } from "../constants/addresses.js";
5
3
  import { MAX_UINT256 } from "../constants/math.js";
@@ -10,6 +8,8 @@ import "../base/index.js";
10
8
  import { AccountBotsService } from "./bots/AccountBotsService.js";
11
9
  import "./bots/index.js";
12
10
  import { rewardsCompressorAbi } from "../../abi/compressors/rewardsCompressor.js";
11
+ import { iBaseRewardPoolAbi } from "../../abi/iBaseRewardPool.js";
12
+ import { ierc4626AdapterAbi } from "../../abi/ierc4626Adapter.js";
13
13
  import { expectedBalanceDeltas } from "../market/credit/expectedBalanceDeltas.js";
14
14
  import "../market/index.js";
15
15
  import { CreditAccountCompressor } from "./credit-account-compressor/CreditAccountCompressor.js";
@@ -157,16 +157,6 @@ var CreditAccountsServiceV310 = class extends SDKConstruct {
157
157
  });
158
158
  }
159
159
  /**
160
- * {@inheritDoc ICreditAccountsService.getPendingWithdrawals}
161
- **/
162
- async getPendingWithdrawals({ creditAccount }) {
163
- const { claimable, pending } = await this.#withdrawalCompressor.getCurrentWithdrawals(creditAccount);
164
- return {
165
- claimableNow: claimable,
166
- pending
167
- };
168
- }
169
- /**
170
160
  * {@inheritDoc ICreditAccountsService.assembleStartDelayedWithdrawalCalls}
171
161
  **/
172
162
  assembleStartDelayedWithdrawalCalls({ creditFacade, preview }) {
@@ -43,7 +43,7 @@ var CreditAccountCompressor = class extends SDKConstruct {
43
43
  let investor;
44
44
  if (raw.success) {
45
45
  ca = raw;
46
- investor = await factory?.getInvestor(raw.creditAccount, false);
46
+ investor = await factory?.getInvestor(raw.creditAccount, { blockNumber });
47
47
  } else {
48
48
  const { txs: priceUpdateTxs } = await marketSuite.priceOracle.priceUpdateTxsForAccount(raw);
49
49
  [ca, investor] = await simulateWithPriceUpdates(this.client, {
@@ -5,8 +5,10 @@ import { CreditAccountCompressorV310Contract } from "./credit-account-compressor
5
5
  import { CreditAccountCompressor } from "./credit-account-compressor/CreditAccountCompressor.js";
6
6
  import "./credit-account-compressor/index.js";
7
7
  import { CreditAccountsServiceV310 } from "./CreditAccountsServiceV310.js";
8
- import { IntentPreviewError } from "./intents/types.js";
8
+ import { isPhantomToken } from "./intents/utils/pick-token.js";
9
+ import { borrowable } from "./intents/guards.js";
9
10
  import { fetchCreditAccountSlice, toCreditAccountSlice } from "./intents/utils/credit-account-slice.js";
11
+ import { calcDefaultQuota, calcQuotaUpdate, calcRecommendedQuota, roundUpQuota } from "./quota-utils.js";
10
12
  import { CreditAccountOperationsService } from "./intents/index.js";
11
13
  import { LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS } from "./liquidations/constants.js";
12
14
  import { LiquidationsService } from "./liquidations/LiquidationsService.js";
@@ -16,7 +18,6 @@ import "./types.js";
16
18
  import { DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, decodeDelayedIntent, encodeDelayedIntent } from "./withdrawal-compressor/intent-codec.js";
17
19
  import { AbstractWithdrawalCompressorContract, iCreditAccountAbi, toClaimableWithdrawal, toPendingWithdrawal, toRequestableWithdrawal } from "./withdrawal-compressor/AbstractWithdrawalCompressorContract.js";
18
20
  import { getWithdrawalCompressorAddress } from "./withdrawal-compressor/addresses.js";
19
- import { InvalidDelayedIntentError } from "./withdrawal-compressor/errors.js";
20
21
  import { RedemptionLoggerV310Contract } from "./withdrawal-compressor/RedemptionLoggerV310Contract.js";
21
22
  import { createRedemptionLogger } from "./withdrawal-compressor/createRedemptionLogger.js";
22
23
  import { WithdrawalCompressorV310Contract } from "./withdrawal-compressor/WithdrawalCompressorV310Contract.js";
@@ -25,4 +26,4 @@ import { toWithdrawalStatus } from "./withdrawal-compressor/types.js";
25
26
  import { WithdrawalCompressorV313Contract } from "./withdrawal-compressor/WithdrawalCompressorV313Contract.js";
26
27
  import { createWithdrawalCompressor } from "./withdrawal-compressor/createWithdrawalCompressor.js";
27
28
  import "./withdrawal-compressor/index.js";
28
- export { AbstractWithdrawalCompressorContract, AccountBotsService, CreditAccountCompressor, CreditAccountCompressorV310Contract, CreditAccountOperationsService, CreditAccountsServiceV310, DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, IntentPreviewError, InvalidDelayedIntentError, LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS, LiquidationsService, MultichainLiquidationsService, PeripheryCompressorV310Contract, RedemptionLoggerV310Contract, WithdrawalCompressorV310Contract, WithdrawalCompressorV311Contract, WithdrawalCompressorV313Contract, createRedemptionLogger, createWithdrawalCompressor, decodeDelayedIntent, encodeDelayedIntent, fetchCreditAccountSlice, getWithdrawalCompressorAddress, iCreditAccountAbi, toClaimableWithdrawal, toCreditAccountSlice, toPendingWithdrawal, toRequestableWithdrawal, toWithdrawalStatus };
29
+ export { AbstractWithdrawalCompressorContract, AccountBotsService, CreditAccountCompressor, CreditAccountCompressorV310Contract, CreditAccountOperationsService, CreditAccountsServiceV310, DELAYED_INTENT_TYPES, DELAYED_INTENT_VERSION, LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS, LiquidationsService, MultichainLiquidationsService, PeripheryCompressorV310Contract, RedemptionLoggerV310Contract, WithdrawalCompressorV310Contract, WithdrawalCompressorV311Contract, WithdrawalCompressorV313Contract, borrowable, calcDefaultQuota, calcQuotaUpdate, calcRecommendedQuota, createRedemptionLogger, createWithdrawalCompressor, decodeDelayedIntent, encodeDelayedIntent, fetchCreditAccountSlice, getWithdrawalCompressorAddress, iCreditAccountAbi, isPhantomToken, roundUpQuota, toClaimableWithdrawal, toCreditAccountSlice, toPendingWithdrawal, toRequestableWithdrawal, toWithdrawalStatus };
@@ -1,6 +1,6 @@
1
- import "../../constants/math.js";
2
- import "../../constants/index.js";
3
- import { IntentPreviewError } from "./types.js";
1
+ import { MIN_HEALTH_FACTOR_FACADE, checkBorrowLimit, checkCollateralised, checkCreditManagerPaused, checkForbiddenToken, checkMarketExpired, checkQuotaLimit } from "../../validation/checks.js";
2
+ import { raise } from "../../validation/refusal.js";
3
+ import { toToken } from "../../validation/token.js";
4
4
  import { eq } from "./utils/common.js";
5
5
  import { isPhantomToken } from "./utils/pick-token.js";
6
6
  //#region src/onchain/accounts/intents/guards.ts
@@ -12,14 +12,27 @@ import { isPhantomToken } from "./utils/pick-token.js";
12
12
  * pool has run out of what it lends. On-chain those come back as a reverted
13
13
  * multicall with a selector no form can explain, so they are read from the
14
14
  * loaded market and reported as refusals instead.
15
+ *
16
+ * Every guard here refuses something the market decides rather than something
17
+ * the arithmetic cannot do, which is why all six of their reasons are
18
+ * `blocking`: the walk that hit one still reached an end state, and a caller
19
+ * gets that state alongside the refusal.
15
20
  */
16
21
  /**
17
22
  * The facade takes no multicall while it is paused or past its expiration, so
18
23
  * every intent the engine previews would revert on arrival.
19
24
  */
20
25
  function assertMarketOperable(suite) {
21
- if (suite.isPaused) throw new IntentPreviewError("marketPaused", `${suite.creditManager.address} is paused`);
22
- if (suite.isExpired) throw new IntentPreviewError("marketExpired", `${suite.creditManager.address} expired at ${suite.creditFacade.expirationDate}`);
26
+ const creditManager = suite.creditManager.address;
27
+ raise(checkCreditManagerPaused({
28
+ isPaused: suite.isPaused,
29
+ creditManager
30
+ }), `${creditManager} is paused`);
31
+ raise(checkMarketExpired({
32
+ isExpired: suite.isExpired,
33
+ creditManager,
34
+ expirationDate: suite.creditFacade.expirationDate
35
+ }), `${creditManager} expired at ${suite.creditFacade.expirationDate}`);
23
36
  }
24
37
  /**
25
38
  * What the pool will hand this manager in one transaction: the tightest of its
@@ -30,18 +43,35 @@ function assertMarketOperable(suite) {
30
43
  function borrowable(suite) {
31
44
  const { pool } = suite.market.pool;
32
45
  const { maxDebtPerBlockMultiplier, maxDebt } = suite.creditFacade;
33
- if (maxDebtPerBlockMultiplier === 0) return 0n;
46
+ if (maxDebtPerBlockMultiplier === 0) return {
47
+ limit: 0n,
48
+ binding: "facadePerBlockCap"
49
+ };
34
50
  const available = pool.creditManagerDebtParams.get(suite.creditManager.address)?.available;
35
51
  return [
36
- pool.availableLiquidity,
37
- maxDebt * BigInt(maxDebtPerBlockMultiplier),
38
- ...available === void 0 ? [] : [available]
39
- ].reduce((a, b) => a < b ? a : b);
52
+ {
53
+ limit: pool.availableLiquidity,
54
+ binding: "poolAvailableLiquidity"
55
+ },
56
+ {
57
+ limit: maxDebt * BigInt(maxDebtPerBlockMultiplier),
58
+ binding: "facadePerBlockCap"
59
+ },
60
+ ...available === void 0 ? [] : [{
61
+ limit: available,
62
+ binding: "managerDebtAvailable"
63
+ }]
64
+ ].reduce((a, b) => b.limit < a.limit ? b : a);
40
65
  }
41
66
  /** The pool has to be able to lend what the plan means to draw. */
42
- function assertCanBorrow(suite, amount) {
43
- const limit = borrowable(suite);
44
- if (amount > limit) throw new IntentPreviewError("insufficientPoolLiquidity", `borrow: ${amount} exceeds what the pool can lend now (${limit})`);
67
+ function assertCanBorrow(sdk, suite, amount) {
68
+ const { limit, binding } = borrowable(suite);
69
+ raise(checkBorrowLimit({
70
+ requested: amount,
71
+ available: limit,
72
+ binding,
73
+ underlying: toToken(sdk, suite.market.pool.underlying)
74
+ }), `borrow: ${amount} exceeds what the pool can lend now (${limit})`);
45
75
  }
46
76
  /**
47
77
  * What the account is allowed to end up holding more of than it started with.
@@ -61,9 +91,17 @@ function assertGrowthAllowed(args) {
61
91
  const underlying = market.pool.underlying;
62
92
  for (const { token, balance } of after) {
63
93
  if (balance <= (before.find((a) => eq(a.token, token))?.balance ?? 0n)) continue;
64
- if (forbidden.some((f) => eq(f, token))) throw new IntentPreviewError("forbiddenToken", `${token} is forbidden in this market and the plan buys more of it`);
94
+ raise(checkForbiddenToken({
95
+ token: toToken(sdk, token),
96
+ isForbidden: forbidden.some((f) => eq(f, token))
97
+ }), `${token} is forbidden in this market and the plan buys more of it`);
65
98
  if (eq(token, underlying) || isPhantomToken(sdk, token)) continue;
66
- if (!market.pool.pqk.hasActiveQuota(token)) throw new IntentPreviewError("quotaLimitReached", `${token} takes no quota in this market, so it counts as no collateral`);
99
+ if (!market.pool.pqk.hasActiveQuota(token)) raise(checkQuotaLimit({
100
+ token: toToken(sdk, token),
101
+ requested: void 0,
102
+ available: 0n,
103
+ underlying: toToken(sdk, underlying)
104
+ }), `${token} takes no quota in this market, so it counts as no collateral`);
67
105
  }
68
106
  }
69
107
  /**
@@ -71,10 +109,23 @@ function assertGrowthAllowed(args) {
71
109
  * and reverts if the collateral does not cover it, so a plan that lands the
72
110
  * account below water is refused here.
73
111
  *
74
- * The bar is the health factor of the state the plan projects: collateral under
75
- * liquidation thresholds, capped by quota, against the debt. Note that a
76
- * position already underwater cannot be nursed back one step at a time — the
77
- * check is on where the transaction ends, not on whether it improved things.
112
+ * The bar is the facade's own `1.0`, because this guard answers one question:
113
+ * would the transaction revert. It is deliberately not `MIN_HF_LIMITED`, and
114
+ * the three bars in this codebase are three different jobs:
115
+ *
116
+ * - here, `1.0` — what the facade enforces, so what a plan must clear to land;
117
+ * - `maxWithdrawCollateral` sizes at `MIN_HF_LIMITED + 2` — a *sizing* helper
118
+ * leaving headroom, which is not the same as a validity check;
119
+ * - a form refuses at or below `MIN_HF_LIMITED` (`MIN_HEALTH_FACTOR_FORM`).
120
+ *
121
+ * Raising this one to `MIN_HF_LIMITED` was tried and reverted: it made
122
+ * `maxWithdraw` hand back a ceiling this guard then refused, and it blocked
123
+ * small top-ups of an account sitting in `[1.0, 1.01)` — the very operations
124
+ * that rescue it. A form wanting the stricter bar has `validateHF`.
125
+ *
126
+ * Note that a position already underwater cannot be nursed back one step at a
127
+ * time — the check is on where the transaction ends, not on whether it
128
+ * improved things.
78
129
  *
79
130
  * @remarks
80
131
  * The caller decides the pricing the factor was computed at: main prices, or
@@ -82,20 +133,31 @@ function assertGrowthAllowed(args) {
82
133
  * whose reserve feed the SDK cannot read keeps its main price, so a plan can
83
134
  * still be refused on-chain after passing here.
84
135
  */
85
- function assertCollateralised(healthFactorBps) {
86
- if (healthFactorBps < Number(10000n)) throw new IntentPreviewError("insufficientCollateral", `the account would end at a health factor of ${healthFactorBps}, below 1.0`);
136
+ function assertCollateralised(healthFactorBps, safePrices) {
137
+ const required = MIN_HEALTH_FACTOR_FACADE;
138
+ raise(checkCollateralised({
139
+ healthFactor: healthFactorBps,
140
+ required,
141
+ safePrices
142
+ }), `the account would end at a health factor of ${healthFactorBps}, below ${required}`);
87
143
  }
88
144
  /**
89
145
  * A quota can only be raised as far as the market still has room for: past the
90
146
  * token's limit the keeper takes nothing more, whoever is asking.
91
147
  */
92
- function assertQuotaHeadroom(market, increases) {
148
+ function assertQuotaHeadroom(sdk, market, increases) {
149
+ const underlying = market.pool.underlying;
93
150
  for (const { token, balance } of increases) {
94
151
  if (balance <= 0n) continue;
95
152
  const quota = market.pool.pqk.quotas.get(token);
96
153
  if (!quota) continue;
97
154
  const left = quota.limit - quota.totalQuoted;
98
- if (balance > left) throw new IntentPreviewError("quotaLimitReached", `${token} has ${left} of quota left, the plan needs ${balance}`);
155
+ raise(checkQuotaLimit({
156
+ token: toToken(sdk, token),
157
+ requested: balance,
158
+ available: left,
159
+ underlying: toToken(sdk, underlying)
160
+ }), `${token} has ${left} of quota left, the plan needs ${balance}`);
99
161
  }
100
162
  }
101
163
  //#endregion
@@ -1,11 +1,13 @@
1
1
  import { SDKConstruct } from "../../base/SDKConstruct.js";
2
- import { MIN_HF_LIMITED } from "../../../common-utils/utils/validation/validate-hf.js";
3
- import { IntentPreviewError } from "./types.js";
4
- import { assertMarketOperable } from "./guards.js";
2
+ import { MIN_HF_LIMITED } from "../../validation/checks.js";
3
+ import { IntentPreviewError, refuse } from "../../validation/refusal.js";
4
+ import { isPhantomToken } from "./utils/pick-token.js";
5
+ import { assertMarketOperable, borrowable } from "./guards.js";
6
+ import { calcLeverageBand } from "./leverage-band.js";
5
7
  import { maxProportionalWithdrawal } from "./math.js";
6
8
  import { maxWithdrawCollateral } from "./maxWithdrawCollateral.js";
7
9
  import { fetchCreditAccountSlice, toCreditAccountSlice } from "./utils/credit-account-slice.js";
8
- import { previewOpenStrategy } from "./open-strategy.js";
10
+ import { buildOpenStrategyState } from "./open-strategy.js";
9
11
  import { planAddCollateral, planAdjustLeverage, planAdjustLeverageDelayed, planDeposit, planRepay, planWithdraw, planWithdrawAsset, planWithdrawDelayed } from "./plan.js";
10
12
  import { realize } from "./realize.js";
11
13
  import { accountView } from "./view.js";
@@ -43,17 +45,27 @@ var CreditAccountOperationsService = class extends SDKConstruct {
43
45
  }));
44
46
  }
45
47
  /**
46
- * Largest `WITHDRAW` amount (in underlying) the account can take out while
47
- * keeping leverage and staying inside the facade's debt band — the ceiling a
48
- * withdraw form should offer. Taking everything out is the same intent with
49
- * `MAX_UINT256` for an amount, and needs none of this arithmetic.
48
+ * Both ends of what a `WITHDRAW` can take out, in underlying: the largest
49
+ * partial withdrawal that keeps leverage and stays inside the facade's debt
50
+ * band, and the net value an exit hands over. They are reported together
51
+ * because a withdraw form needs both the range it may offer, and the one
52
+ * amount past it that is allowed — and because the distance between them is
53
+ * the account's own, not a constant a caller could assume.
54
+ *
55
+ * Takes no target health factor, unlike {@link maxWithdrawCollateral}: a
56
+ * proportional withdrawal leaves the factor where it found it, and the
57
+ * facade's `minDebt` is what bounds it.
50
58
  *
51
59
  * @param props - Account slice and the SDK holding its market
52
- * @returns Amount in underlying units; `0n` when nothing can leave
60
+ * @returns The two ceilings, see {@link WithdrawCeilings} for the gap between
61
+ * them
53
62
  */
54
63
  maxWithdraw(props) {
55
64
  const view = accountView(props.creditAccount, props.sdk);
56
- return maxProportionalWithdrawal(view, view.band);
65
+ return {
66
+ partial: maxProportionalWithdrawal(view, view.band),
67
+ exit: view.collateral > 0n ? view.collateral : 0n
68
+ };
57
69
  }
58
70
  /**
59
71
  * Debt a `REPAY` would have to cover to settle the account, in underlying
@@ -72,20 +84,44 @@ var CreditAccountOperationsService = class extends SDKConstruct {
72
84
  return accountView(props.creditAccount, props.sdk).debt;
73
85
  }
74
86
  /**
87
+ * The leverages a position of a given size can be opened at, or moved to.
88
+ *
89
+ * A credit manager's `maxLeverage` follows from the liquidation threshold
90
+ * alone, so it is the same for a hundred dollars and for a million. What a
91
+ * given deposit reaches is decided by the debt it implies and by the band
92
+ * the market puts that debt in — the range a leverage slider should offer.
93
+ *
94
+ * Unlike the other ceilings here this one reads no account: opening has none
95
+ * yet, and adjusting measures against the net value the caller already
96
+ * holds. Nothing is fetched, so a form can ask on every keystroke.
97
+ *
98
+ * @param props - The manager, the SDK holding its market, what stands
99
+ * behind the position, and optionally the health factor the ceiling should
100
+ * leave
101
+ * @returns The band, or nothing when the market has none to offer
102
+ */
103
+ leverageBand(props) {
104
+ return calcLeverageBand(props);
105
+ }
106
+ /**
75
107
  * Largest `WITHDRAW_ASSET` amount of one token the account can take out
76
- * while its health factor stays at {@link MIN_HF_LIMITED} plus a basis
77
- * point — the ceiling a withdraw-collateral form should offer. Thresholds,
78
- * prices and quota activity come from the account's market, valued the way
79
- * the facade values a call that pays out; zero debt frees the whole balance.
108
+ * while its health factor stays at `targetHF` the ceiling a
109
+ * withdraw-collateral form should offer. Thresholds, prices and quota
110
+ * activity come from the account's market, valued the way the facade values
111
+ * a call that pays out; zero debt frees the whole balance.
112
+ *
113
+ * The default is {@link MIN_HF_LIMITED}, the bar a form holds an
114
+ * account to.
80
115
  *
81
- * @param props - Account slice, the SDK holding its market, and the
82
- * collateral to withdraw
116
+ * @param props - Account slice, the SDK holding its market, the collateral
117
+ * to withdraw, and optionally the health factor to leave behind
83
118
  * @returns Amount in the token's units; `0n` when nothing can leave
84
119
  */
85
120
  maxWithdrawCollateral(props) {
121
+ const { targetHF = MIN_HF_LIMITED, ...rest } = props;
86
122
  return maxWithdrawCollateral({
87
- ...props,
88
- targetHF: MIN_HF_LIMITED + 2n
123
+ ...rest,
124
+ targetHF: targetHF + 2n
89
125
  });
90
126
  }
91
127
  /**
@@ -139,7 +175,7 @@ var CreditAccountOperationsService = class extends SDKConstruct {
139
175
  });
140
176
  return {
141
177
  ...result,
142
- preview: tail.state,
178
+ state: tail.state,
143
179
  delayed
144
180
  };
145
181
  } catch (e) {
@@ -169,9 +205,11 @@ var CreditAccountOperationsService = class extends SDKConstruct {
169
205
  const [instant, delayed] = await Promise.allSettled([this.startIntent(props), this.startDelayedIntent(props)]);
170
206
  const instantRoute = instant.status === "fulfilled" && instant.value.ok ? instant.value : void 0;
171
207
  const delayedRoute = delayed.status === "fulfilled" && delayed.value.ok ? delayed.value : void 0;
208
+ const instantRefusal = instant.status === "fulfilled" && !instant.value.ok ? instant.value : void 0;
209
+ const delayedRefusal = delayed.status === "fulfilled" && !delayed.value.ok ? delayed.value : void 0;
172
210
  const refused = {
173
- instant: instant.status === "fulfilled" && !instant.value.ok ? instant.value.reason : void 0,
174
- delayed: delayed.status === "fulfilled" && !delayed.value.ok ? delayed.value.reason : void 0
211
+ instant: instantRefusal?.reason,
212
+ delayed: delayedRefusal?.reason
175
213
  };
176
214
  if (instantRoute || delayedRoute) return {
177
215
  ok: true,
@@ -181,11 +219,10 @@ var CreditAccountOperationsService = class extends SDKConstruct {
181
219
  };
182
220
  const failed = [instant, delayed].find((s) => s.status === "rejected");
183
221
  if (failed?.status === "rejected") throw failed.reason;
184
- const reason = refused.instant ?? refused.delayed;
185
- if (reason === void 0) throw new Error("intentRoutes: a route neither answered nor refused");
222
+ const chosen = instantRefusal ?? delayedRefusal;
223
+ if (chosen === void 0) throw new Error("intentRoutes: a route neither answered nor refused");
186
224
  return {
187
- ok: false,
188
- reason,
225
+ ...chosen,
189
226
  refused
190
227
  };
191
228
  }
@@ -198,17 +235,36 @@ var CreditAccountOperationsService = class extends SDKConstruct {
198
235
  * whole tail: the tokens land on the account and only their quota has to
199
236
  * catch up.
200
237
  *
238
+ * A claim that brought only part of what the request queued — a legacy Mellow
239
+ * multivault, which pays out what it holds liquid and re-queues the rest — is
240
+ * served in proportion, and what it did not settle comes back as `remainder`:
241
+ * the withdrawal still in flight and the intent to finish it with.
242
+ *
201
243
  * @param props - The recorded intent, the account slice as it stands now, and
202
244
  * the matured claimable
203
- * @returns Shaped exactly like {@link startIntent}'s result, so both halves of
204
- * an operation are consumed the same way
245
+ * @returns Shaped exactly like {@link startIntent}'s result with the remainder
246
+ * beside it, so both halves of an operation are consumed the same way
205
247
  */
206
248
  async finishIntent(props) {
207
- return plain(await this.#preview(props, () => planTail({
208
- intent: props.intent,
209
- claimable: props.claimable,
210
- view: accountView(props.creditAccount, props.sdk)
211
- })));
249
+ let remainder;
250
+ const result = await this.#preview(props, () => {
251
+ const tail = planTail({
252
+ intent: props.intent,
253
+ claimable: props.claimable,
254
+ view: accountView(props.creditAccount, props.sdk)
255
+ });
256
+ remainder = tail.remainder;
257
+ return tail.steps;
258
+ });
259
+ if (!result.ok) return result;
260
+ const { operations, state, calls } = result;
261
+ return {
262
+ ok: true,
263
+ operations,
264
+ state,
265
+ calls,
266
+ remainder
267
+ };
212
268
  }
213
269
  /**
214
270
  * Previews opening a brand-new leveraged position.
@@ -226,7 +282,7 @@ var CreditAccountOperationsService = class extends SDKConstruct {
226
282
  try {
227
283
  return {
228
284
  ok: true,
229
- preview: await previewOpenStrategy(props)
285
+ state: await buildOpenStrategyState(props)
230
286
  };
231
287
  } catch (e) {
232
288
  return asFailure(e);
@@ -245,7 +301,7 @@ var CreditAccountOperationsService = class extends SDKConstruct {
245
301
  return {
246
302
  ok: true,
247
303
  operations,
248
- preview: state,
304
+ state,
249
305
  calls,
250
306
  delayed
251
307
  };
@@ -257,24 +313,18 @@ var CreditAccountOperationsService = class extends SDKConstruct {
257
313
  /** Drops the delayed half for the flows that cannot produce one. */
258
314
  function plain(result) {
259
315
  if (!result.ok) return result;
260
- const { operations, preview, calls } = result;
316
+ const { operations, state, calls } = result;
261
317
  return {
262
318
  ok: true,
263
319
  operations,
264
- preview,
320
+ state,
265
321
  calls
266
322
  };
267
323
  }
268
324
  /** Unviable requests are values; anything else is a genuine failure. */
269
325
  function asFailure(e) {
270
- if (e instanceof IntentPreviewError) return {
271
- ok: false,
272
- reason: e.reason
273
- };
274
- if (isUnroutable(e)) return {
275
- ok: false,
276
- reason: "unsupportedTokenPair"
277
- };
326
+ if (e instanceof IntentPreviewError) return refuse(e.reason, e.detail);
327
+ if (isUnroutable(e)) return refuse("unsupportedTokenPair", void 0);
278
328
  throw e;
279
329
  }
280
330
  /**
@@ -290,4 +340,4 @@ function isUnroutable(e) {
290
340
  return false;
291
341
  }
292
342
  //#endregion
293
- export { CreditAccountOperationsService, IntentPreviewError, fetchCreditAccountSlice, toCreditAccountSlice };
343
+ export { CreditAccountOperationsService, borrowable, fetchCreditAccountSlice, isPhantomToken, toCreditAccountSlice };
@@ -0,0 +1,69 @@
1
+ import { BigIntMath } from "../../utils/bigint-math.js";
2
+ import { LEVERAGE_DECIMALS } from "../../constants/math.js";
3
+ //#region src/onchain/accounts/intents/leverage-band.ts
4
+ /**
5
+ * The leverages this market will actually fund for a position of this size.
6
+ *
7
+ * A credit manager's `maxLeverage` follows from the liquidation threshold
8
+ * alone, so it is the same for a hundred dollars and for a million. What a
9
+ * given deposit reaches is decided by the debt it implies —
10
+ * `debt = netValue × (leverage − 1)` — and by the band the market puts that
11
+ * debt in. This inverts that relation.
12
+ *
13
+ * Rounding is asymmetric because the forward direction truncates: the floor
14
+ * rounds **up** so the leverage it names really does clear `minDebt`, and the
15
+ * ceiling rounds **down** so it really does stay under the borrow limit.
16
+ *
17
+ * Nothing here is fetched or simulated — every input is loaded market state,
18
+ * so a form can call this on each keystroke.
19
+ *
20
+ * @param props - {@link LeverageBandProps}
21
+ * @returns The band, or `undefined` when there is nothing to offer: an
22
+ * unknown manager, a market with no strategy, or a deposit too small to reach
23
+ * `minDebt` at any leverage the threshold allows.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * // minDebt 1k, borrow limit 100k, threshold ceiling 9x, deposit worth 10k
28
+ * calcLeverageBand({ sdk, creditManager, collateral }) // { min: 1.1, max: 9 }
29
+ * ```
30
+ **/
31
+ function calcLeverageBand({ sdk, creditManager, collateral, targetHF }) {
32
+ const found = resolve(sdk, creditManager);
33
+ if (!found) return;
34
+ const { suite, market } = found;
35
+ const target = suite.strategyTargetCollateral;
36
+ if (!target) return;
37
+ const ceiling = suite.creditManager.maxLeverage(target, targetHF);
38
+ const underlying = market.pool.underlying;
39
+ const convert = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount).value;
40
+ const netValue = collateral.reduce((acc, a) => acc + convert(a.token, underlying, a.balance), 0n);
41
+ if (netValue <= 0n) return {
42
+ min: 1,
43
+ max: ceiling
44
+ };
45
+ const { minDebt, maxDebt } = suite.creditFacade;
46
+ const available = market.pool.pool.creditManagerDebtParams.get(suite.creditManager.address)?.available;
47
+ const borrowLimit = available === void 0 ? maxDebt : BigIntMath.min(maxDebt, available);
48
+ const floor = BigIntMath.ceilDiv(LEVERAGE_DECIMALS * minDebt, netValue);
49
+ const roof = LEVERAGE_DECIMALS * borrowLimit / netValue;
50
+ const min = 1 + Number(floor) / Number(LEVERAGE_DECIMALS);
51
+ const max = Math.min(ceiling, 1 + Number(roof) / Number(LEVERAGE_DECIMALS));
52
+ return min > max ? void 0 : {
53
+ min,
54
+ max
55
+ };
56
+ }
57
+ /** The manager's suite and market, or nothing while they cannot be resolved. */
58
+ function resolve(sdk, creditManager) {
59
+ try {
60
+ return {
61
+ suite: sdk.marketRegister.findCreditManager(creditManager),
62
+ market: sdk.marketRegister.findByCreditManager(creditManager)
63
+ };
64
+ } catch {
65
+ return;
66
+ }
67
+ }
68
+ //#endregion
69
+ export { calcLeverageBand };
@@ -1,6 +1,8 @@
1
1
  import { BigIntMath } from "../../utils/bigint-math.js";
2
2
  import { LEVERAGE_DECIMALS } from "../../constants/math.js";
3
- import { IntentPreviewError } from "./types.js";
3
+ import { checkDebtInBand, checkLeverageAtLeastOne } from "../../validation/checks.js";
4
+ import { IntentPreviewError, raise } from "../../validation/refusal.js";
5
+ import { toToken } from "../../validation/token.js";
4
6
  //#region src/onchain/accounts/intents/math.ts
5
7
  /** Debt that realises `leverage` on `collateral`: `D = C · (L − 1)`. */
6
8
  function debtForLeverage(collateral, leverage) {
@@ -14,7 +16,7 @@ function debtForLeverage(collateral, leverage) {
14
16
  * it, so no rounding is introduced on the way.
15
17
  */
16
18
  function proportionalDebt(position, collateralDelta) {
17
- if (position.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", "cannot preserve leverage on an account with no collateral");
19
+ if (position.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, "cannot preserve leverage on an account with no collateral");
18
20
  return position.debt * collateralDelta / position.collateral;
19
21
  }
20
22
  /**
@@ -37,15 +39,23 @@ function maxProportionalWithdrawal(position, band) {
37
39
  }
38
40
  /** Total leverage cannot drop below 1x — that would be negative debt. */
39
41
  function assertLeverageAtLeastOne(leverage) {
40
- if (leverage < 100n) throw new IntentPreviewError("leverageOutOfRange", `target leverage ${leverage} is below 1x`);
42
+ raise(checkLeverageAtLeastOne({
43
+ leverage,
44
+ min: LEVERAGE_DECIMALS
45
+ }), `target leverage ${leverage} is below 1x`);
41
46
  }
42
47
  /**
43
48
  * Rejects a debt the facade would revert on: zero is always fine (no loan at
44
49
  * all), anything else has to sit inside `[minDebt, maxDebt]`.
45
50
  */
46
- function assertDebtInBand(debt, band) {
47
- if (debt > band.maxDebt) throw new IntentPreviewError("debtOutOfRange", `debt ${debt} exceeds maxDebt ${band.maxDebt}`);
48
- if (debt > 0n && debt < band.minDebt) throw new IntentPreviewError("debtOutOfRange", `debt ${debt} is below minDebt ${band.minDebt}`);
51
+ function assertDebtInBand(sdk, debt, band, underlying) {
52
+ raise(checkDebtInBand({
53
+ debt,
54
+ minDebt: band.minDebt,
55
+ maxDebt: band.maxDebt,
56
+ underlying: toToken(sdk, underlying),
57
+ allowZero: true
58
+ }), debt > band.maxDebt ? `debt ${debt} exceeds maxDebt ${band.maxDebt}` : `debt ${debt} is below minDebt ${band.minDebt}`);
49
59
  }
50
60
  //#endregion
51
61
  export { assertDebtInBand, assertLeverageAtLeastOne, debtForLeverage, maxProportionalWithdrawal, proportionalDebt };