@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
@@ -11,9 +11,11 @@ import { eq } from "./utils/common.js";
11
11
  * check counts: a holding backed by a quota contributes the lesser of the
12
12
  * quota and its threshold-weighted value, an unquoted one — the underlying —
13
13
  * its weighted value alone, and dust or a disabled balance nothing at all.
14
- * Collateral is valued at the lower of its two feeds, the way the facade
15
- * values a call that hands funds over; the debt is valued at the main feed,
16
- * as the check does. Zero debt frees the whole balance.
14
+ * Collateral is valued at the protocol safe price (`min` of the two feeds,
15
+ * 0 when there is no reserve), the way the facade values a call that hands
16
+ * funds over; the underlying is exempt and is valued at the main feed, as
17
+ * `CreditManagerV3._safeConvertToUSD` does. The debt is valued at the main
18
+ * feed, as the check does. Zero debt frees the whole balance.
17
19
  *
18
20
  * Rounding always favours the account, so the answer clears the check rather
19
21
  * than landing a wei short of it.
@@ -30,13 +32,13 @@ function maxWithdrawCollateral(props) {
30
32
  const underlying = market.pool.underlying;
31
33
  const target = creditAccount.tokens.find((t) => eq(t.token, token));
32
34
  if (!target || target.balance <= 10n) return 0n;
33
- if (creditAccount.accountDebt === 0n) return target.balance;
35
+ if (creditAccount.totalDebt === 0n) return target.balance;
34
36
  const masked = creditAccount.enabledTokensMask !== 0n;
35
37
  const counts = (t) => t.balance > 10n && (!masked || (t.mask & creditAccount.enabledTokensMask) !== 0n);
36
38
  /** What a holding backs, in the check's units: USD × PERCENTAGE_FACTOR. */
37
39
  const weigh = (t) => {
38
40
  const lt = BigInt(creditManager.liquidationThresholds.get(t.token) ?? 0);
39
- const weighted = (safeUsd(priceOracle, t.token, t.balance) ?? 0n) * lt;
41
+ const weighted = (eq(t.token, underlying) ? usd(priceOracle, t.token, t.balance) ?? 0n : priceOracle.safeConvertMinUSD(t.token, t.balance).value) * lt;
40
42
  if (t.quota === 0n) return weighted;
41
43
  return BigIntMath.min(quotaUsd(t) * PERCENTAGE_FACTOR, weighted);
42
44
  };
@@ -47,15 +49,15 @@ function maxWithdrawCollateral(props) {
47
49
  if (eq(t.token, token) || !counts(t)) continue;
48
50
  otherMoney += weigh(t);
49
51
  }
50
- const borrowed = usd(priceOracle, underlying, creditAccount.accountDebt);
52
+ const borrowed = usd(priceOracle, underlying, creditAccount.totalDebt);
51
53
  if (borrowed === void 0 || borrowed <= 0n) return 0n;
52
54
  const required = borrowed * targetHF;
53
55
  if (required <= otherMoney) return target.balance;
54
56
  const shortfall = required - otherMoney;
55
57
  if (target.quota > 0n && quotaUsd(target) * 10000n < shortfall) return 0n;
56
58
  const targetLt = BigInt(creditManager.liquidationThresholds.get(target.token) ?? 0);
57
- const targetUsd = safeUsd(priceOracle, target.token, target.balance);
58
- if (targetLt === 0n || !targetUsd) return 0n;
59
+ const targetUsd = eq(target.token, underlying) ? usd(priceOracle, target.token, target.balance) ?? 0n : priceOracle.safeConvertMinUSD(target.token, target.balance).value;
60
+ if (targetLt === 0n || targetUsd === 0n) return 0n;
59
61
  const keptUsd = BigIntMath.ceilDiv(shortfall, targetLt);
60
62
  const kept = BigIntMath.ceilDiv(target.balance * keptUsd, targetUsd);
61
63
  return kept >= target.balance ? 0n : target.balance - kept;
@@ -68,18 +70,5 @@ function usd(oracle, token, amount) {
68
70
  return;
69
71
  }
70
72
  }
71
- /**
72
- * USD value at the lower of the token's two feeds — what a call handing funds
73
- * over is judged at. Falls back to the main feed where there is no second one.
74
- **/
75
- function safeUsd(oracle, token, amount) {
76
- const main = usd(oracle, token, amount);
77
- if (main === void 0) return;
78
- try {
79
- return BigIntMath.min(main, oracle.convertToUSD(token, amount, true));
80
- } catch {
81
- return main;
82
- }
83
- }
84
73
  //#endregion
85
74
  export { maxWithdrawCollateral };
@@ -1,8 +1,7 @@
1
- import "../../constants/math.js";
2
- import { IntentPreviewError } from "./types.js";
3
- import { convertAmount } from "./utils/convert-amount.js";
1
+ import { IntentPreviewError } from "../../validation/refusal.js";
4
2
  import { assertCanBorrow, assertCollateralised, assertGrowthAllowed, assertMarketOperable, assertQuotaHeadroom } from "./guards.js";
5
- import { assertDebtInBand, debtForLeverage } from "./math.js";
3
+ import { assertDebtInBand, assertLeverageAtLeastOne, debtForLeverage } from "./math.js";
4
+ import { collectPriceImpact } from "./utils/price-impact.js";
6
5
  import { getQuotasForUpdate } from "./utils/quotas-for-update.js";
7
6
  import { createRouterPaths } from "./utils/router-path.js";
8
7
  import "./utils/index.js";
@@ -10,7 +9,8 @@ import "./utils/index.js";
10
9
  /** Stand-in account address: nothing exists on chain until the tx lands. */
11
10
  const NO_ACCOUNT = "0x0000000000000000000000000000000000000000";
12
11
  /**
13
- * Previews opening a leveraged position out of wallet collateral.
12
+ * Builds the state opening a leveraged position out of wallet collateral would
13
+ * reach.
14
14
  *
15
15
  * Debt follows from the target leverage against the supplied margin
16
16
  * (`debt = margin * (L - 1)`, `totalValue = margin * L`); the collateral and the
@@ -20,16 +20,16 @@ const NO_ACCOUNT = "0x0000000000000000000000000000000000000000";
20
20
  * no operation list — the caller passes the numbers and calls straight to
21
21
  * `sdk.accounts.openCA`.
22
22
  */
23
- async function previewOpenStrategy(props) {
23
+ async function buildOpenStrategyState(props) {
24
24
  const { sdk, creditManager, collateral, targetToken, leverage, slippage = 0, quotaReserve, leftoverBalances = [] } = props;
25
- if (leverage < 100n) throw new IntentPreviewError("leverageOutOfRange", `openStrategy: leverage ${leverage} is below 1x`);
25
+ assertLeverageAtLeastOne(leverage);
26
26
  const suite = sdk.marketRegister.findCreditManager(creditManager);
27
27
  const market = sdk.marketRegister.findByCreditManager(creditManager);
28
28
  assertMarketOperable(suite);
29
29
  const underlying = market.pool.underlying.toLowerCase();
30
- const convert = convertAmount(sdk, creditManager);
30
+ const convert = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount).value;
31
31
  const margin = collateral.reduce((acc, a) => acc + convert(a.token, underlying, a.balance), 0n);
32
- if (margin <= 0n) throw new IntentPreviewError("insufficientSourceBalance", "openStrategy: collateral is worth nothing in underlying");
32
+ if (margin <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, "openStrategy: collateral is worth nothing in underlying");
33
33
  const debt = debtForLeverage(margin, leverage);
34
34
  const account = {
35
35
  creditAccount: NO_ACCOUNT,
@@ -38,17 +38,19 @@ async function previewOpenStrategy(props) {
38
38
  underlying,
39
39
  enabledTokensMask: 0n,
40
40
  totalDebtUSD: 0n,
41
- accountDebt: 0n,
41
+ totalDebt: 0n,
42
42
  tokens: []
43
43
  };
44
- assertDebtInBand(debt, suite.creditFacade);
45
- assertCanBorrow(suite, debt);
46
- const leg = await createRouterPaths({
44
+ assertDebtInBand(sdk, debt, suite.creditFacade, underlying);
45
+ assertCanBorrow(sdk, suite, debt);
46
+ const paths = createRouterPaths({
47
47
  sdk,
48
48
  creditAccount: account,
49
49
  slippage
50
- }).openStrategy({
51
- expectedBalances: mergeExpectedBalances(collateral, underlying, debt),
50
+ });
51
+ const expectedBalances = mergeExpectedBalances(collateral, underlying, debt);
52
+ const leg = await paths.openStrategy({
53
+ expectedBalances,
52
54
  leftoverBalances,
53
55
  target: targetToken
54
56
  });
@@ -75,7 +77,7 @@ async function previewOpenStrategy(props) {
75
77
  before: [],
76
78
  after: averageAssets
77
79
  });
78
- assertQuotaHeadroom(market, averageQuota);
80
+ assertQuotaHeadroom(sdk, market, averageQuota);
79
81
  const snapshot = {
80
82
  creditManager,
81
83
  assets: averageAssets,
@@ -83,24 +85,22 @@ async function previewOpenStrategy(props) {
83
85
  totalDebt: debt,
84
86
  totalValue: margin + debt
85
87
  };
86
- const projectedPool = { availableLiquidityChange: -debt };
87
- const metrics = {
88
- healthFactor: sdk.positions.healthFactor(snapshot),
89
- borrowRate: sdk.positions.borrowRate(snapshot, projectedPool),
90
- timeToLiquidation: sdk.positions.timeToLiquidation(snapshot, projectedPool),
91
- liquidationPrice: sdk.positions.liquidationPrice(snapshot)
92
- };
93
- assertCollateralised(metrics.healthFactor);
94
- return {
95
- debt,
96
- collateral: margin,
88
+ const { assets: _assets, quotas: _quotas, ...projection } = sdk.positions.projection(snapshot, { availableLiquidityChange: -debt });
89
+ assertCollateralised(projection.healthFactor, false);
90
+ const priceImpact = await collectPriceImpact(leg.probe ? [leg.probe] : [], {
97
91
  totalValue: margin + debt,
92
+ netValue: margin,
93
+ toUnderlying: (from, amount) => convert(from, underlying, amount)
94
+ });
95
+ return {
96
+ ...projection,
97
+ currentPrice: sdk.positions.currentPrice(snapshot),
98
+ priceImpact,
98
99
  averageAssets: averageAssets.map(priced),
99
100
  minAssets: minAssets.map(priced),
100
101
  averageQuota,
101
102
  minQuota,
102
- calls: [...leg.calls],
103
- ...metrics
103
+ calls: [...leg.calls]
104
104
  };
105
105
  }
106
106
  /** Collateral plus the borrowed underlying, folded into one balance per token. */
@@ -130,4 +130,4 @@ function toAssets(balances) {
130
130
  }));
131
131
  }
132
132
  //#endregion
133
- export { previewOpenStrategy };
133
+ export { buildOpenStrategyState };
@@ -1,6 +1,7 @@
1
1
  import { MAX_UINT256, PERCENTAGE_FACTOR } from "../../constants/math.js";
2
2
  import "../../constants/index.js";
3
- import { IntentPreviewError } from "./types.js";
3
+ import { IntentPreviewError } from "../../validation/refusal.js";
4
+ import { toToken, toTokenAmount } from "../../validation/token.js";
4
5
  import { eq } from "./utils/common.js";
5
6
  import { assertDebtInBand, assertLeverageAtLeastOne, debtForLeverage, proportionalDebt } from "./math.js";
6
7
  //#region src/onchain/accounts/intents/plan.ts
@@ -23,18 +24,21 @@ function planAdjustLeverage(intent, view) {
23
24
  const T = intent.token ?? positionToken(view, "adjustLeverage");
24
25
  if (delta > 0n) return [borrow(delta), convert(U, T, delta)];
25
26
  const shortfall = -delta - view.balanceOf(U);
26
- if (shortfall > 0n && eq(T, U)) throw new IntentPreviewError("insufficientSourceBalance", `adjustLeverage: needs ${-delta} underlying, account holds ${view.balanceOf(U)}`);
27
+ if (shortfall > 0n && eq(T, U)) throw new IntentPreviewError("insufficientSourceBalance", {
28
+ required: toTokenAmount(view.sdk, U, -delta),
29
+ held: toTokenAmount(view.sdk, U, view.balanceOf(U))
30
+ }, `adjustLeverage: needs ${-delta} underlying, account holds ${view.balanceOf(U)}`);
27
31
  return [...shortfall > 0n ? [convert(T, U, view.price(U, T, shortfall))] : [], repay(-delta)];
28
32
  }
29
33
  /** Intents 1.1 / 1.2: collateral grows by `a`, debt grows to match. */
30
34
  function planDeposit(intent, view) {
31
35
  assertPositive(intent.amount, "deposit");
32
36
  const U = view.underlying;
33
- if (!eq(intent.token, U) && !(view.rwaAsset && eq(intent.token, view.rwaAsset))) throw new IntentPreviewError("unsupportedCollateralToken", `deposit: only ${U}${view.rwaAsset ? ` or ${view.rwaAsset}` : ""} can be deposited, got ${intent.token}`);
37
+ if (!eq(intent.token, U) && !(view.rwaAsset && eq(intent.token, view.rwaAsset))) throw new IntentPreviewError("unsupportedCollateralToken", { token: toToken(view.sdk, intent.token) }, `deposit: only ${U}${view.rwaAsset ? ` or ${view.rwaAsset}` : ""} can be deposited, got ${intent.token}`);
34
38
  const aU = view.price(intent.token, U, intent.amount);
35
39
  const debtDelta = intent.targetLeverage === void 0 ? proportionalDebt(view, aU) : debtForLeverage(view.collateral + aU, intent.targetLeverage) - view.debt;
36
- if (debtDelta < 0n) throw new IntentPreviewError("leverageOutOfRange", `deposit: target leverage ${intent.targetLeverage} would require repaying debt`);
37
- assertDebtInBand(view.debt + debtDelta, view.band);
40
+ if (debtDelta < 0n) throw new IntentPreviewError("leverageOutOfRange", void 0, `deposit: target leverage ${intent.targetLeverage} would require repaying debt`);
41
+ assertDebtInBand(view.sdk, view.debt + debtDelta, view.band, U);
38
42
  const T = intent.positionToken ?? positionToken(view, "deposit");
39
43
  const depositStays = eq(intent.token, T);
40
44
  return [
@@ -61,11 +65,15 @@ function planRepay(intent, view) {
61
65
  assertPositive(intent.amount, "repay");
62
66
  const U = view.underlying;
63
67
  const fundsInU = eq(intent.token, U);
64
- if (!fundsInU && !(view.rwaAsset && eq(intent.token, view.rwaAsset))) throw new IntentPreviewError("unsupportedCollateralToken", `repay: only ${U}${view.rwaAsset ? ` or ${view.rwaAsset}` : ""} can be repaid with, got ${intent.token}`);
65
- if (view.debt <= 0n) throw new IntentPreviewError("debtOutOfRange", "repay: the account owes nothing");
68
+ if (!fundsInU && !(view.rwaAsset && eq(intent.token, view.rwaAsset))) throw new IntentPreviewError("unsupportedCollateralToken", { token: toToken(view.sdk, intent.token) }, `repay: only ${U}${view.rwaAsset ? ` or ${view.rwaAsset}` : ""} can be repaid with, got ${intent.token}`);
69
+ if (view.debt <= 0n) throw new IntentPreviewError("debtOutOfRange", {
70
+ requested: toTokenAmount(view.sdk, U, view.debt),
71
+ minDebt: toTokenAmount(view.sdk, U, view.band.minDebt),
72
+ maxDebt: toTokenAmount(view.sdk, U, view.band.maxDebt)
73
+ }, "repay: the account owes nothing");
66
74
  const funding = everything(intent.amount) ? view.price(U, intent.token, withMargin(view.debt)) : intent.amount;
67
75
  const repaid = min(view.price(intent.token, U, funding), view.debt);
68
- assertDebtInBand(view.debt - repaid, view.band);
76
+ assertDebtInBand(view.sdk, view.debt - repaid, view.band, view.underlying);
69
77
  return [
70
78
  add(intent.token, funding, intent.value),
71
79
  ...fundsInU ? [] : [convert(intent.token, U, funding)],
@@ -121,7 +129,7 @@ function planWithdrawDelayed(intent, view) {
121
129
  const { U, T, S, WU, dD, all } = withdrawShape(intent, view);
122
130
  if (all) {
123
131
  const held = view.balanceOf(S);
124
- if (held <= 0n) throw new IntentPreviewError("insufficientSourceBalance", `withdraw: account holds no ${S} to redeem`);
132
+ if (held <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, `withdraw: account holds no ${S} to redeem`);
125
133
  return [{
126
134
  kind: "request",
127
135
  token: S,
@@ -133,7 +141,7 @@ function planWithdrawDelayed(intent, view) {
133
141
  }
134
142
  }];
135
143
  }
136
- if (!eq(T, U) && !(view.rwaAsset && eq(T, view.rwaAsset))) throw new IntentPreviewError("noDelayedRoute", `withdraw: a delayed route cannot pay out in ${T}`);
144
+ if (!eq(T, U) && !(view.rwaAsset && eq(T, view.rwaAsset))) throw new IntentPreviewError("noDelayedRoute", { token: toToken(view.sdk, T) }, `withdraw: a delayed route cannot pay out in ${T}`);
137
145
  const payoutIsSource = eq(T, S);
138
146
  return [{
139
147
  kind: "request",
@@ -159,9 +167,9 @@ function planWithdrawDelayed(intent, view) {
159
167
  */
160
168
  function planAdjustLeverageDelayed(intent, view) {
161
169
  const { U, delta } = leverageShape(intent, view);
162
- if (delta >= 0n) throw new IntentPreviewError("noDelayedRoute", "adjustLeverage: only deleveraging can settle with a delay");
170
+ if (delta >= 0n) throw new IntentPreviewError("noDelayedRoute", void 0, "adjustLeverage: only deleveraging can settle with a delay");
163
171
  const shortfall = -delta - view.balanceOf(U);
164
- if (shortfall <= 0n) throw new IntentPreviewError("noDelayedRoute", "adjustLeverage: idle underlying covers the repayment, nothing to redeem");
172
+ if (shortfall <= 0n) throw new IntentPreviewError("noDelayedRoute", void 0, "adjustLeverage: idle underlying covers the repayment, nothing to redeem");
165
173
  const T = intent.token ?? positionToken(view, "adjustLeverage");
166
174
  return [{
167
175
  kind: "request",
@@ -189,7 +197,7 @@ function planFinishWithdraw(intent, claimable, claimed, view) {
189
197
  const U = view.underlying;
190
198
  const T = intent.withdrawToken;
191
199
  const W = intent.withdrawAmount;
192
- if (!eq(T, U) && !(view.rwaAsset && eq(T, view.rwaAsset))) throw new IntentPreviewError("noDelayedRoute", `finishWithdraw: cannot pay out in ${T}`);
200
+ if (!eq(T, U) && !(view.rwaAsset && eq(T, view.rwaAsset))) throw new IntentPreviewError("noDelayedRoute", { token: toToken(view.sdk, T) }, `finishWithdraw: cannot pay out in ${T}`);
193
201
  if (intent.debtRepaid === 0n) return [
194
202
  claim(claimable),
195
203
  convert(claimed.token, T, claimed.amount),
@@ -281,7 +289,7 @@ function withdrawShape(intent, view) {
281
289
  };
282
290
  }
283
291
  const WU = view.price(T, U, intent.amount);
284
- if (WU <= 0n) throw new IntentPreviewError("insufficientSourceBalance", `withdraw: cannot price ${intent.amount} of ${T}`);
292
+ if (WU <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, `withdraw: cannot price ${intent.amount} of ${T}`);
285
293
  if (WU >= view.collateral) {
286
294
  assertHasValue(view);
287
295
  return {
@@ -294,7 +302,7 @@ function withdrawShape(intent, view) {
294
302
  };
295
303
  }
296
304
  const dD = proportionalDebt(view, WU);
297
- assertDebtInBand(view.debt - dD, view.band);
305
+ assertDebtInBand(view.sdk, view.debt - dD, view.band, view.underlying);
298
306
  return {
299
307
  U,
300
308
  T,
@@ -311,9 +319,9 @@ function withdrawShape(intent, view) {
311
319
  */
312
320
  function leverageShape(intent, view) {
313
321
  assertLeverageAtLeastOne(intent.targetLeverage);
314
- if (view.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", "adjustLeverage: account has no collateral to lever");
322
+ if (view.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, "adjustLeverage: account has no collateral to lever");
315
323
  const target = debtForLeverage(view.collateral, intent.targetLeverage);
316
- assertDebtInBand(target, view.band);
324
+ assertDebtInBand(view.sdk, target, view.band, view.underlying);
317
325
  return {
318
326
  U: view.underlying,
319
327
  delta: target - view.debt
@@ -379,20 +387,20 @@ function payout(view, token, amount, to) {
379
387
  }
380
388
  function positionToken(view, flow) {
381
389
  const pick = view.fattest([view.underlying]);
382
- if (!pick) throw new IntentPreviewError("insufficientSourceBalance", `${flow}: no position token on the account`);
390
+ if (!pick) throw new IntentPreviewError("insufficientSourceBalance", void 0, `${flow}: no position token on the account`);
383
391
  return pick;
384
392
  }
385
393
  function sourceToken(view) {
386
394
  const pick = view.fattest();
387
- if (!pick) throw new IntentPreviewError("insufficientSourceBalance", "withdraw: account has no spendable balance");
395
+ if (!pick) throw new IntentPreviewError("insufficientSourceBalance", void 0, "withdraw: account has no spendable balance");
388
396
  return pick;
389
397
  }
390
398
  /** An account whose debt has eaten its collateral has nothing to hand over. */
391
399
  function assertHasValue(view) {
392
- if (view.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", `withdraw: nothing to withdraw, net value is ${view.collateral}`);
400
+ if (view.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, `withdraw: nothing to withdraw, net value is ${view.collateral}`);
393
401
  }
394
402
  function assertPositive(amount, flow) {
395
- if (amount <= 0n) throw new IntentPreviewError("insufficientSourceBalance", `${flow}: amount must be positive`);
403
+ if (amount <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, `${flow}: amount must be positive`);
396
404
  }
397
405
  //#endregion
398
406
  export { RAISED, planAddCollateral, planAdjustLeverage, planAdjustLeverageDelayed, planDeposit, planFinishClaimOnly, planFinishCloseAccount, planFinishDecreaseLeverage, planFinishWithdraw, planRepay, planWithdraw, planWithdrawAsset, planWithdrawDelayed };
@@ -1,10 +1,10 @@
1
- import { calcPositionLeverage } from "../../market/math.js";
2
- import { IntentPreviewError } from "./types.js";
1
+ import { IntentPreviewError } from "../../validation/refusal.js";
2
+ import { toToken, toTokenAmount } from "../../validation/token.js";
3
3
  import { eq, toTargetDecimals } from "./utils/common.js";
4
- import { convertAmount } from "./utils/convert-amount.js";
5
4
  import { isRedemptionPhantomToken } from "./utils/pick-token.js";
6
5
  import { assertCanBorrow, assertCollateralised, assertGrowthAllowed, assertQuotaHeadroom } from "./guards.js";
7
6
  import { OperationLedger } from "./utils/ledger.js";
7
+ import { collectPriceImpact } from "./utils/price-impact.js";
8
8
  import { clearedQuotas, getQuotasForUpdate, quotasAfterUpdate } from "./utils/quotas-for-update.js";
9
9
  import { createRouterPaths } from "./utils/router-path.js";
10
10
  import { buildAddCollateralOperation, buildClaimDelayedWithdrawalOperation, buildCloseSwapOperation, buildDecreaseDebtOperation, buildIncreaseDebtOperation, buildQuotaUpdateOperation, buildStartDelayedWithdrawalOperation, buildSwapOperation, buildUnwrapRwaCollateralOperation, buildWithdrawCollateralOperation, buildWrapRwaCollateralOperation, instantOutput } from "./operations.js";
@@ -23,25 +23,47 @@ async function realize(steps, props) {
23
23
  const { creditAccount, sdk, slippage, quotaReserve } = props;
24
24
  const { underlying } = creditAccount;
25
25
  const rwaAsset = sdk.tokensMeta.rwaUnderlyings.get(underlying)?.asset;
26
- const price = convertAmount(sdk, creditAccount.creditManager);
27
26
  const paths = props.paths ?? createRouterPaths({
28
27
  sdk,
29
28
  creditAccount,
30
29
  slippage
31
30
  });
32
31
  const market = sdk.marketRegister.findByCreditManager(creditAccount.creditManager);
32
+ const price = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount).value;
33
33
  const suite = sdk.marketRegister.findCreditManager(creditAccount.creditManager);
34
- const ledger = new OperationLedger({
34
+ const start = {
35
35
  initialAssets: creditAccount.tokens,
36
36
  underlying,
37
- debt: creditAccount.accountDebt,
37
+ debt: creditAccount.totalDebt,
38
38
  convert: price
39
- });
39
+ };
40
+ /**
41
+ * The floor: every routed leg counted at the amount it guarantees. This is
42
+ * what the calls are built from — a repayment may only spend underlying the
43
+ * route promises to have raised — and what the guards are answered on, since
44
+ * a floor that does not clear the facade's bar is a transaction that can
45
+ * revert.
46
+ */
47
+ const ledger = new OperationLedger(start);
48
+ /**
49
+ * The same walk with every routed leg counted at the amount the pathfinder
50
+ * expects to return. Nothing is built from it: it is where the position
51
+ * actually lands, so it is what the reported state is read off.
52
+ */
53
+ const expected = new OperationLedger(start);
40
54
  const operations = [];
41
- const push = (op) => {
55
+ /**
56
+ * @param asExpected - The operation as the expected branch sees it, for the
57
+ * legs where the two differ. Defaults to the operation itself, which is the
58
+ * case for everything whose amount the calldata fixes.
59
+ */
60
+ const push = (op, asExpected = op) => {
42
61
  operations.push(op);
43
62
  ledger.apply(op);
63
+ expected.apply(asExpected);
44
64
  };
65
+ /** One per routed leg, each already awaiting its quote; folded after the guards. */
66
+ const probes = [];
45
67
  /** Output of the last convert or claim, for `RAISED` amounts. */
46
68
  let raised = 0n;
47
69
  /** The request, before the walk's end state can be attached to it. */
@@ -59,7 +81,10 @@ async function realize(steps, props) {
59
81
  const amountOf = (a) => typeof a === "bigint" ? a : min(raised, a.max ?? raised);
60
82
  const assertHolds = (token, amount, what) => {
61
83
  const held = ledger.balanceOf(token);
62
- if (amount <= 0n || held < amount) throw new IntentPreviewError("insufficientSourceBalance", `${what}: needs ${amount} of ${token}, account holds ${held}`);
84
+ if (amount <= 0n || held < amount) throw new IntentPreviewError("insufficientSourceBalance", {
85
+ required: toTokenAmount(sdk, token, amount),
86
+ held: toTokenAmount(sdk, token, held)
87
+ }, `${what}: needs ${amount} of ${token}, account holds ${held}`);
63
88
  };
64
89
  for (const step of steps) switch (step.kind) {
65
90
  case "add":
@@ -72,7 +97,7 @@ async function realize(steps, props) {
72
97
  }));
73
98
  break;
74
99
  case "borrow":
75
- assertCanBorrow(suite, step.amount);
100
+ assertCanBorrow(sdk, suite, step.amount);
76
101
  push(buildIncreaseDebtOperation({
77
102
  amount: step.amount,
78
103
  creditAccount,
@@ -130,28 +155,44 @@ async function realize(steps, props) {
130
155
  amount,
131
156
  keep: held - amount
132
157
  });
133
- push(buildSwapOperation({
158
+ if (leg.probe) probes.push(leg.probe);
159
+ const swap = buildSwapOperation({
134
160
  tokenIn: step.from,
135
161
  amountIn: amount,
136
162
  tokenOut: step.to,
137
163
  amountOut: leg.minAmount,
138
164
  calls: leg.calls
139
- }));
165
+ });
166
+ push(swap, {
167
+ ...swap,
168
+ amountOut: leg.amount
169
+ });
140
170
  raised = leg.minAmount;
141
171
  break;
142
172
  }
143
173
  case "closeAll": {
144
174
  const balances = ledger.snapshot().assets.filter((a) => !eq(a.token, underlying) && a.balance > DUST);
145
175
  const pending = balances.find((a) => isRedemptionPhantomToken(sdk, a.token));
146
- if (pending) throw new IntentPreviewError("withdrawalInProgress", `closeAll: ${pending.token} is a pending withdrawal, claim it first`);
176
+ if (pending) throw new IntentPreviewError("withdrawalInProgress", { inFlight: toTokenAmount(sdk, pending.token, pending.balance) }, `closeAll: ${pending.token} is a pending withdrawal, claim it first`);
147
177
  if (balances.length > 0) {
148
178
  const leg = await paths.closeAll({ balances });
149
- if (leg.calls.length > 0 || leg.minAmount > 0n) push(buildCloseSwapOperation({
150
- from: balances,
151
- tokenOut: underlying,
152
- amountOut: leg.minAmount,
153
- calls: leg.calls
154
- }));
179
+ if (leg.probe) probes.push(leg.probe);
180
+ if (leg.calls.length > 0 || leg.minAmount > 0n) {
181
+ const sale = buildCloseSwapOperation({
182
+ from: balances,
183
+ tokenOut: underlying,
184
+ amountOut: leg.minAmount,
185
+ calls: leg.calls
186
+ });
187
+ push(sale, {
188
+ ...sale,
189
+ from: balances.map((a) => ({
190
+ token: a.token,
191
+ balance: expected.balanceOf(a.token)
192
+ })),
193
+ amountOut: leg.amount
194
+ });
195
+ }
155
196
  }
156
197
  raised = ledger.balanceOf(underlying);
157
198
  break;
@@ -171,7 +212,7 @@ async function realize(steps, props) {
171
212
  }
172
213
  case "request": {
173
214
  const asset = await delayedConfig(sdk, creditAccount, step.token);
174
- if (ledger.balanceOf(asset.withdrawalPhantomToken) > 0n) throw new IntentPreviewError("withdrawalInProgress", `request: ${asset.withdrawalPhantomToken} already holds a pending withdrawal`);
215
+ if (ledger.balanceOf(asset.withdrawalPhantomToken) > 0n) throw new IntentPreviewError("withdrawalInProgress", { inFlight: toTokenAmount(sdk, asset.withdrawalPhantomToken, ledger.balanceOf(asset.withdrawalPhantomToken)) }, `request: ${asset.withdrawalPhantomToken} already holds a pending withdrawal`);
175
216
  assertHolds(step.token, step.amount + step.reserve, "request");
176
217
  const preview = await sdk.accounts.previewDelayedWithdrawal({
177
218
  creditAccount: creditAccount.creditAccount,
@@ -217,24 +258,32 @@ async function realize(steps, props) {
217
258
  creditAccount,
218
259
  sdk
219
260
  }));
220
- for (const { token, balance } of ledger.snapshot().assets) push(buildWithdrawCollateralOperation({
221
- token,
222
- amount: balance,
223
- to: step.to,
224
- all: true,
225
- creditAccount,
226
- sdk
227
- }));
261
+ for (const { token, balance } of ledger.snapshot().assets) {
262
+ const payout = buildWithdrawCollateralOperation({
263
+ token,
264
+ amount: balance,
265
+ to: step.to,
266
+ all: true,
267
+ creditAccount,
268
+ sdk
269
+ });
270
+ push(payout, {
271
+ ...payout,
272
+ amount: expected.balanceOf(token)
273
+ });
274
+ }
228
275
  break;
229
276
  }
230
277
  }
231
- const { assets, totalValue, debt } = ledger.snapshot();
278
+ const floor = ledger.snapshot();
279
+ const { assets, debt } = floor;
280
+ const projected = expected.snapshot();
232
281
  assertGrowthAllowed({
233
282
  sdk,
234
283
  suite,
235
284
  market,
236
285
  before: creditAccount.tokens,
237
- after: assets
286
+ after: projected.assets
238
287
  });
239
288
  const quotas = cleared ?? getQuotasForUpdate({
240
289
  assetsBefore: creditAccount.tokens,
@@ -248,7 +297,7 @@ async function realize(steps, props) {
248
297
  convert: price
249
298
  });
250
299
  if (!cleared && quotas.quotaIncrease.length + quotas.quotaDecrease.length > 0) {
251
- assertQuotaHeadroom(market, quotas.quotaIncrease);
300
+ assertQuotaHeadroom(sdk, market, quotas.quotaIncrease);
252
301
  push(buildQuotaUpdateOperation({
253
302
  update: quotas,
254
303
  creditAccount,
@@ -256,28 +305,29 @@ async function realize(steps, props) {
256
305
  }));
257
306
  }
258
307
  const quotasAfter = quotasAfterUpdate(creditAccount.tokens, quotas.desiredQuota);
308
+ const quoted = Object.values(quotasAfter);
259
309
  const snapshot = {
260
310
  creditManager: creditAccount.creditManager,
261
- assets,
262
- quotas: Object.values(quotasAfter),
311
+ assets: projected.assets,
312
+ quotas: quoted,
263
313
  totalDebt: debt,
264
- totalValue
265
- };
266
- const projectedPool = { availableLiquidityChange: creditAccount.accountDebt - debt };
267
- const metrics = {
268
- healthFactor: sdk.positions.healthFactor(snapshot),
269
- borrowRate: sdk.positions.borrowRate(snapshot, projectedPool),
270
- timeToLiquidation: sdk.positions.timeToLiquidation(snapshot, projectedPool),
271
- liquidationPrice: sdk.positions.liquidationPrice(snapshot)
314
+ totalValue: projected.totalValue
272
315
  };
273
- assertCollateralised(paysOut ? sdk.positions.healthFactor(snapshot, { safePrices: true }) : metrics.healthFactor);
316
+ const projection = sdk.positions.projection(snapshot, { availableLiquidityChange: creditAccount.totalDebt - debt });
317
+ assertCollateralised(sdk.positions.healthFactor({
318
+ ...snapshot,
319
+ assets,
320
+ totalValue: floor.totalValue
321
+ }, { safePrices: paysOut }), paysOut);
322
+ const priceImpact = await collectPriceImpact(probes, {
323
+ totalValue: projected.totalValue,
324
+ netValue: projected.totalValue - debt,
325
+ toUnderlying: (from, amount) => price(from, underlying, amount)
326
+ });
274
327
  const state = {
275
- totalValue,
276
- accountDebt: debt,
277
- leverage: calcPositionLeverage(totalValue, debt),
278
- assets: assets.map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
279
- quotas: quotasAfter,
280
- ...metrics
328
+ ...projection,
329
+ priceImpact,
330
+ currentPrice: sdk.positions.currentPrice(snapshot)
281
331
  };
282
332
  return {
283
333
  operations,
@@ -297,10 +347,13 @@ async function realize(steps, props) {
297
347
  */
298
348
  async function delayedConfig(sdk, creditAccount, token) {
299
349
  const compressor = sdk.withdrawalCompressor;
300
- if (!compressor) throw new IntentPreviewError("noDelayedRoute", "request: chain has no withdrawal compressor");
350
+ if (!compressor) throw new IntentPreviewError("noDelayedRoute", { token: toToken(sdk, token) }, "request: chain has no withdrawal compressor");
301
351
  const assets = await compressor.findWithdrawableAssets(creditAccount.creditManager, token);
302
- if (assets.length === 0) throw new IntentPreviewError("noDelayedRoute", `request: ${token} has no delayed withdrawal config`);
303
- if (assets.length > 1) throw new IntentPreviewError("multipleDelayedWithdrawals", `request: ${token} has ${assets.length} delayed withdrawal configs`);
352
+ if (assets.length === 0) throw new IntentPreviewError("noDelayedRoute", { token: toToken(sdk, token) }, `request: ${token} has no delayed withdrawal config`);
353
+ if (assets.length > 1) throw new IntentPreviewError("multipleDelayedWithdrawals", {
354
+ token: toToken(sdk, token),
355
+ venues: assets.length
356
+ }, `request: ${token} has ${assets.length} delayed withdrawal configs`);
304
357
  return assets[0];
305
358
  }
306
359
  const callsOf = (operations) => operations.flatMap((op) => op.calls);