@gearbox-protocol/sdk 14.12.0-next.66 → 14.12.0-next.68

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 (244) hide show
  1. package/dist/cjs/common-utils/index.js +2 -2
  2. package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.js +3 -3
  3. package/dist/cjs/common-utils/utils/assets-math.js +7 -7
  4. package/dist/cjs/common-utils/utils/creditAccount/calc-health-factor.js +2 -2
  5. package/dist/cjs/common-utils/utils/creditAccount/debt.js +2 -2
  6. package/dist/cjs/common-utils/utils/creditAccount/quota-utils.js +5 -5
  7. package/dist/cjs/common-utils/utils/index.js +2 -2
  8. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +2 -2
  9. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +5 -5
  10. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.js +2 -2
  11. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +2 -2
  12. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.js +4 -4
  13. package/dist/cjs/model/history.js +28 -0
  14. package/dist/cjs/model/history.schema.js +84 -0
  15. package/dist/cjs/model/index.js +77 -0
  16. package/dist/cjs/model/liquidations.js +23 -0
  17. package/dist/cjs/model/liquidations.schema.js +93 -0
  18. package/dist/cjs/model/opportunities.js +55 -0
  19. package/dist/cjs/model/opportunities.schema.js +223 -0
  20. package/dist/cjs/model/package.json +1 -0
  21. package/dist/cjs/model/positions.js +1 -0
  22. package/dist/cjs/model/positions.schema.js +120 -0
  23. package/dist/cjs/model/primitives.js +1 -0
  24. package/dist/cjs/model/primitives.schema.js +85 -0
  25. package/dist/cjs/new-sdk/AbstractNamespace.js +158 -0
  26. package/dist/cjs/new-sdk/GearboxSDK.js +122 -0
  27. package/dist/cjs/new-sdk/index.js +11 -0
  28. package/dist/cjs/new-sdk/opportunities/OpportunitiesNamespace.js +122 -0
  29. package/dist/cjs/new-sdk/opportunities/index.js +4 -0
  30. package/dist/cjs/new-sdk/opportunities/types.js +1 -0
  31. package/dist/cjs/new-sdk/package.json +1 -0
  32. package/dist/cjs/new-sdk/types.js +22 -0
  33. package/dist/cjs/new-sdk/utils/history.js +1 -0
  34. package/dist/cjs/new-sdk/utils/index.js +2 -0
  35. package/dist/cjs/offchain/GearboxAPI.js +33 -0
  36. package/dist/cjs/offchain/index.js +8 -0
  37. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +97 -0
  38. package/dist/cjs/offchain/opportunities/index.js +4 -0
  39. package/dist/cjs/offchain/package.json +1 -0
  40. package/dist/cjs/offchain/types.js +1 -0
  41. package/dist/cjs/preview/preview/buildDelayedPreview.js +5 -5
  42. package/dist/cjs/rewards/rewards/api.js +2 -2
  43. package/dist/cjs/rewards/rewards/extra-apy.js +2 -2
  44. package/dist/cjs/sdk/MultichainSDK.js +18 -2
  45. package/dist/cjs/sdk/OnchainSDK.js +8 -1
  46. package/dist/cjs/sdk/accounts/index.js +2 -0
  47. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +161 -106
  48. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +32 -38
  49. package/dist/cjs/sdk/accounts/liquidations/constants.js +13 -0
  50. package/dist/cjs/sdk/accounts/liquidations/index.js +2 -0
  51. package/dist/cjs/sdk/base/MultichainConstruct.js +80 -0
  52. package/dist/cjs/sdk/base/TokensMeta.js +51 -0
  53. package/dist/cjs/sdk/base/index.js +2 -0
  54. package/dist/cjs/sdk/chain/chains.js +76 -0
  55. package/dist/cjs/sdk/chain/index.js +4 -0
  56. package/dist/cjs/sdk/core/errors.js +13 -0
  57. package/dist/cjs/sdk/core/index.js +2 -1
  58. package/dist/cjs/sdk/index.js +25 -1
  59. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +14 -0
  60. package/dist/cjs/sdk/market/MarketSuite.js +159 -0
  61. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +26 -0
  62. package/dist/cjs/sdk/market/credit/CreditSuite.js +92 -0
  63. package/dist/cjs/sdk/market/math.js +104 -0
  64. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +52 -0
  65. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +30 -0
  66. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +26 -0
  67. package/dist/cjs/sdk/market/pool/PoolSuite.js +28 -0
  68. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +27 -0
  69. package/dist/cjs/sdk/market/pool/math.js +44 -0
  70. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +17 -0
  71. package/dist/cjs/sdk/opportunities/MultichainOpportunitiesService.js +60 -0
  72. package/dist/cjs/sdk/opportunities/OpportunitiesService.js +48 -0
  73. package/dist/cjs/sdk/opportunities/index.js +12 -0
  74. package/dist/cjs/sdk/types/multichain.js +1 -0
  75. package/dist/cjs/{common-utils → sdk}/utils/bigint-math.js +11 -11
  76. package/dist/cjs/sdk/utils/index.js +3 -0
  77. package/dist/cjs/sdk/utils/zod.js +12 -0
  78. package/dist/esm/common-utils/index.js +1 -1
  79. package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +1 -1
  80. package/dist/esm/common-utils/utils/assets-math.js +1 -1
  81. package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +1 -1
  82. package/dist/esm/common-utils/utils/creditAccount/debt.js +1 -1
  83. package/dist/esm/common-utils/utils/creditAccount/quota-utils.js +1 -1
  84. package/dist/esm/common-utils/utils/index.js +1 -1
  85. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +1 -1
  86. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +1 -1
  87. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +1 -1
  88. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +1 -1
  89. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +1 -1
  90. package/dist/esm/dev/AccountOpener.js +1 -1
  91. package/dist/esm/dev/withdrawalUtils.js +1 -1
  92. package/dist/esm/model/history.js +26 -0
  93. package/dist/esm/model/history.schema.js +76 -0
  94. package/dist/esm/model/index.js +11 -0
  95. package/dist/esm/model/liquidations.js +22 -0
  96. package/dist/esm/model/liquidations.schema.js +85 -0
  97. package/dist/esm/model/opportunities.js +51 -0
  98. package/dist/esm/model/opportunities.schema.js +201 -0
  99. package/dist/esm/model/package.json +1 -0
  100. package/dist/esm/model/positions.js +1 -0
  101. package/dist/esm/model/positions.schema.js +109 -0
  102. package/dist/esm/model/primitives.js +1 -0
  103. package/dist/esm/model/primitives.schema.js +75 -0
  104. package/dist/esm/new-sdk/AbstractNamespace.js +157 -0
  105. package/dist/esm/new-sdk/GearboxSDK.js +121 -0
  106. package/dist/esm/new-sdk/index.js +7 -0
  107. package/dist/esm/new-sdk/opportunities/OpportunitiesNamespace.js +121 -0
  108. package/dist/esm/new-sdk/opportunities/index.js +3 -0
  109. package/dist/esm/new-sdk/opportunities/types.js +1 -0
  110. package/dist/esm/new-sdk/package.json +1 -0
  111. package/dist/esm/new-sdk/types.js +21 -0
  112. package/dist/esm/new-sdk/utils/history.js +1 -0
  113. package/dist/esm/new-sdk/utils/index.js +2 -0
  114. package/dist/esm/offchain/GearboxAPI.js +32 -0
  115. package/dist/esm/offchain/index.js +5 -0
  116. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +95 -0
  117. package/dist/esm/offchain/opportunities/index.js +2 -0
  118. package/dist/esm/offchain/package.json +1 -0
  119. package/dist/esm/offchain/types.js +1 -0
  120. package/dist/esm/preview/preview/buildDelayedPreview.js +1 -1
  121. package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
  122. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  123. package/dist/esm/rewards/rewards/api.js +1 -1
  124. package/dist/esm/rewards/rewards/extra-apy.js +1 -1
  125. package/dist/esm/sdk/MultichainSDK.js +18 -2
  126. package/dist/esm/sdk/OnchainSDK.js +8 -1
  127. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -2
  128. package/dist/esm/sdk/accounts/index.js +2 -2
  129. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +164 -109
  130. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +32 -38
  131. package/dist/esm/sdk/accounts/liquidations/constants.js +12 -1
  132. package/dist/esm/sdk/accounts/liquidations/index.js +2 -2
  133. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  134. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  135. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  136. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  137. package/dist/esm/sdk/base/MultichainConstruct.js +79 -0
  138. package/dist/esm/sdk/base/TokensMeta.js +53 -2
  139. package/dist/esm/sdk/base/index.js +2 -1
  140. package/dist/esm/sdk/chain/chains.js +74 -2
  141. package/dist/esm/sdk/chain/detectNetwork.js +1 -1
  142. package/dist/esm/sdk/chain/index.js +2 -2
  143. package/dist/esm/sdk/core/createAddressProvider.js +1 -1
  144. package/dist/esm/sdk/core/errors.js +13 -1
  145. package/dist/esm/sdk/core/index.js +2 -2
  146. package/dist/esm/sdk/index.js +11 -5
  147. package/dist/esm/sdk/market/MarketConfiguratorContract.js +14 -0
  148. package/dist/esm/sdk/market/MarketSuite.js +159 -0
  149. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
  150. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +26 -0
  151. package/dist/esm/sdk/market/credit/CreditSuite.js +92 -0
  152. package/dist/esm/sdk/market/math.js +98 -0
  153. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +52 -0
  154. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +30 -0
  155. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +26 -0
  156. package/dist/esm/sdk/market/pool/PoolSuite.js +28 -0
  157. package/dist/esm/sdk/market/pool/PoolV310Contract.js +28 -1
  158. package/dist/esm/sdk/market/pool/math.js +41 -0
  159. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +17 -0
  160. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
  161. package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
  162. package/dist/esm/sdk/opportunities/MultichainOpportunitiesService.js +59 -0
  163. package/dist/esm/sdk/opportunities/OpportunitiesService.js +47 -0
  164. package/dist/esm/sdk/opportunities/index.js +4 -0
  165. package/dist/esm/sdk/pools/PoolService.js +1 -1
  166. package/dist/esm/sdk/types/multichain.js +1 -0
  167. package/dist/esm/{common-utils → sdk}/utils/bigint-math.js +11 -11
  168. package/dist/esm/sdk/utils/index.js +3 -2
  169. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
  170. package/dist/esm/sdk/utils/zod.js +13 -2
  171. package/dist/types/common-utils/index.d.ts +1 -1
  172. package/dist/types/common-utils/utils/index.d.ts +1 -1
  173. package/dist/types/model/history.d.ts +105 -0
  174. package/dist/types/model/history.schema.d.ts +66 -0
  175. package/dist/types/model/index.d.ts +11 -0
  176. package/dist/types/model/liquidations.d.ts +238 -0
  177. package/dist/types/model/liquidations.schema.d.ts +294 -0
  178. package/dist/types/model/opportunities.d.ts +584 -0
  179. package/dist/types/model/opportunities.schema.d.ts +1037 -0
  180. package/dist/types/model/positions.d.ts +247 -0
  181. package/dist/types/model/positions.schema.d.ts +701 -0
  182. package/dist/types/model/primitives.d.ts +194 -0
  183. package/dist/types/model/primitives.schema.d.ts +81 -0
  184. package/dist/types/new-sdk/AbstractNamespace.d.ts +119 -0
  185. package/dist/types/new-sdk/GearboxSDK.d.ts +78 -0
  186. package/dist/types/new-sdk/index.d.ts +9 -0
  187. package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +69 -0
  188. package/dist/types/new-sdk/opportunities/index.d.ts +3 -0
  189. package/dist/types/new-sdk/opportunities/types.d.ts +66 -0
  190. package/dist/types/new-sdk/types.d.ts +149 -0
  191. package/dist/types/new-sdk/utils/history.d.ts +44 -0
  192. package/dist/types/new-sdk/utils/index.d.ts +2 -0
  193. package/dist/types/offchain/GearboxAPI.d.ts +31 -0
  194. package/dist/types/offchain/index.d.ts +5 -0
  195. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +69 -0
  196. package/dist/types/offchain/opportunities/index.d.ts +2 -0
  197. package/dist/types/offchain/types.d.ts +50 -0
  198. package/dist/types/sdk/MultichainSDK.d.ts +15 -2
  199. package/dist/types/sdk/OnchainSDK.d.ts +9 -3
  200. package/dist/types/sdk/accounts/index.d.ts +3 -3
  201. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +24 -16
  202. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +26 -20
  203. package/dist/types/sdk/accounts/liquidations/constants.d.ts +12 -1
  204. package/dist/types/sdk/accounts/liquidations/index.d.ts +3 -3
  205. package/dist/types/sdk/accounts/liquidations/types.d.ts +34 -309
  206. package/dist/types/sdk/base/MultichainConstruct.d.ts +57 -0
  207. package/dist/types/sdk/base/TokensMeta.d.ts +26 -0
  208. package/dist/types/sdk/base/index.d.ts +2 -1
  209. package/dist/types/sdk/chain/chains.d.ts +68 -1
  210. package/dist/types/sdk/chain/index.d.ts +2 -2
  211. package/dist/types/sdk/core/errors.d.ts +10 -1
  212. package/dist/types/sdk/core/index.d.ts +2 -2
  213. package/dist/types/sdk/index.d.ts +15 -8
  214. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +9 -0
  215. package/dist/types/sdk/market/MarketSuite.d.ts +98 -1
  216. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +14 -0
  217. package/dist/types/sdk/market/credit/CreditSuite.d.ts +43 -0
  218. package/dist/types/sdk/market/credit/types.d.ts +22 -0
  219. package/dist/types/sdk/market/index.d.ts +2 -2
  220. package/dist/types/sdk/market/math.d.ts +74 -0
  221. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +23 -0
  222. package/dist/types/sdk/market/oracle/types.d.ts +46 -0
  223. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +12 -0
  224. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +22 -1
  225. package/dist/types/sdk/market/pool/PoolSuite.d.ts +23 -0
  226. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +18 -0
  227. package/dist/types/sdk/market/pool/math.d.ts +57 -0
  228. package/dist/types/sdk/market/pool/types.d.ts +23 -0
  229. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +6 -0
  230. package/dist/types/sdk/market/pricefeeds/types.d.ts +10 -0
  231. package/dist/types/sdk/opportunities/MultichainOpportunitiesService.d.ts +40 -0
  232. package/dist/types/sdk/opportunities/OpportunitiesService.d.ts +42 -0
  233. package/dist/types/sdk/opportunities/index.d.ts +4 -0
  234. package/dist/types/sdk/types/index.d.ts +2 -1
  235. package/dist/types/sdk/types/multichain.d.ts +65 -0
  236. package/dist/types/sdk/types/state.d.ts +1 -1
  237. package/dist/types/sdk/types/transactions.d.ts +3 -0
  238. package/dist/types/{common-utils → sdk}/utils/bigint-math.d.ts +7 -11
  239. package/dist/types/sdk/utils/index.d.ts +3 -2
  240. package/dist/types/sdk/utils/zod.d.ts +6 -2
  241. package/package.json +16 -1
  242. package/dist/cjs/sdk/accounts/liquidations/helpers.js +0 -201
  243. package/dist/esm/sdk/accounts/liquidations/helpers.js +0 -192
  244. package/dist/types/sdk/accounts/liquidations/helpers.d.ts +0 -140
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_common_utils_axios_cache_AxiosCache = require("./axios-cache/AxiosCache.js");
3
3
  require("./axios-cache/index.js");
4
+ const require_sdk_utils_bigint_math = require("../sdk/utils/bigint-math.js");
4
5
  const require_common_utils_charts_credit_manager = require("./charts/credit-manager.js");
5
6
  const require_common_utils_charts_credit_session = require("./charts/credit-session.js");
6
7
  const require_common_utils_charts_pool = require("./charts/pool.js");
@@ -12,7 +13,6 @@ const require_common_utils_utils_apy_calculate_borrow_rate_from_utilization = re
12
13
  const require_common_utils_utils_price_math = require("./utils/price-math.js");
13
14
  const require_common_utils_utils_apy_calculate_earnings = require("./utils/apy/calculate-earnings.js");
14
15
  const require_common_utils_utils_apy_calculate_effective_borrow_rate = require("./utils/apy/calculate-effective-borrow-rate.js");
15
- const require_common_utils_utils_bigint_math = require("./utils/bigint-math.js");
16
16
  const require_common_utils_utils_apy_calculate_safe_borrow_rate = require("./utils/apy/calculate-safe-borrow-rate.js");
17
17
  const require_common_utils_utils_apy_get_complex_apy_list = require("./utils/apy/get-complex-apy-list.js");
18
18
  const require_common_utils_utils_apy_get_rate_with_fee = require("./utils/apy/get-rate-with-fee.js");
@@ -97,7 +97,7 @@ require("./utils/index.js");
97
97
  exports.AssetUtils = require_common_utils_utils_assets_math.AssetUtils;
98
98
  exports.AxiosCache = require_common_utils_axios_cache_AxiosCache.AxiosCache;
99
99
  exports.BONUS_APY_FROM_POINTS = require_common_utils_utils_apy_bonus_apy_from_points.BONUS_APY_FROM_POINTS;
100
- exports.BigIntMath = require_common_utils_utils_bigint_math.BigIntMath;
100
+ exports.BigIntMath = require_sdk_utils_bigint_math.BigIntMath;
101
101
  exports.CREDIT_SESSION_ID_BY_STATUS = require_common_utils_charts_credit_session.CREDIT_SESSION_ID_BY_STATUS;
102
102
  exports.CREDIT_SESSION_STATUS_BY_ID = require_common_utils_charts_credit_session.CREDIT_SESSION_STATUS_BY_ID;
103
103
  exports.ChartsCreditManagerData = require_common_utils_charts_credit_manager.ChartsCreditManagerData;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../sdk/constants/math.js");
3
4
  const require_common_utils_utils_apy_calculate_borrow_rate_from_utilization = require("./calculate-borrow-rate-from-utilization.js");
4
- const require_common_utils_utils_bigint_math = require("../bigint-math.js");
5
5
  //#region src/common-utils/utils/apy/calculate-safe-borrow-rate.ts
6
6
  /**
7
7
  * Returns borrow rate multiplied by feeInterest
@@ -9,10 +9,10 @@ const require_common_utils_utils_bigint_math = require("../bigint-math.js");
9
9
  function calculateSafeBorrowRate({ pool, creditManager, expectedLiquidityChange = 0n, availableLiquidityChange = 0n }) {
10
10
  const expectedLiquidity = pool.expectedLiquidity + expectedLiquidityChange;
11
11
  const availableLiquidity = pool.availableLiquidity + availableLiquidityChange;
12
- const borrowed = require_common_utils_utils_bigint_math.BigIntMath.max(expectedLiquidity - availableLiquidity, 0n);
12
+ const borrowed = require_sdk_utils_bigint_math.BigIntMath.max(expectedLiquidity - availableLiquidity, 0n);
13
13
  const EXTRA_PRECISION = 100n;
14
14
  const ONE = require_sdk_constants_math.PERCENTAGE_FACTOR * EXTRA_PRECISION;
15
- const utilization = require_common_utils_utils_bigint_math.BigIntMath.min(expectedLiquidity > 0 ? borrowed * ONE / expectedLiquidity : 0n, ONE);
15
+ const utilization = require_sdk_utils_bigint_math.BigIntMath.min(expectedLiquidity > 0 ? borrowed * ONE / expectedLiquidity : 0n, ONE);
16
16
  const rate = require_common_utils_utils_apy_calculate_borrow_rate_from_utilization.calculateBorrowRateFromUtilization(utilization, pool.interestModel, EXTRA_PRECISION);
17
17
  return Number(rate * (BigInt(creditManager.feeInterest) + require_sdk_constants_math.PERCENTAGE_FACTOR) / require_sdk_constants_math.PERCENTAGE_DECIMALS / EXTRA_PRECISION);
18
18
  }
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../sdk/utils/bigint-math.js");
2
3
  const require_common_utils_utils_price_math = require("./price-math.js");
3
- const require_common_utils_utils_bigint_math = require("./bigint-math.js");
4
4
  const require_common_utils_utils_creditAccount_sort = require("./creditAccount/sort.js");
5
5
  //#region src/common-utils/utils/assets-math.ts
6
6
  /**
@@ -86,13 +86,13 @@ var AssetUtils = class AssetUtils {
86
86
  const unwrappedPrice = prices[unwrappedAddress] || 0n;
87
87
  const wrappedToken = tokensList[wrappedAddress];
88
88
  const wrappedPrice = prices[wrappedAddress] || 0n;
89
- const unwrappedInWrapped = require_common_utils_utils_price_math.PriceUtils.convertByPrice(require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(unwrappedPrice, require_common_utils_utils_bigint_math.BigIntMath.max(0n, unwrappedAmount), unwrappedToken.decimals), {
89
+ const unwrappedInWrapped = require_common_utils_utils_price_math.PriceUtils.convertByPrice(require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(unwrappedPrice, require_sdk_utils_bigint_math.BigIntMath.max(0n, unwrappedAmount), unwrappedToken.decimals), {
90
90
  price: wrappedPrice,
91
91
  decimals: wrappedToken.decimals
92
92
  });
93
93
  assetsRecord[wrappedAddress] = {
94
94
  token: wrappedAddress,
95
- balance: require_common_utils_utils_bigint_math.BigIntMath.max(0n, wrappedAmount) + unwrappedInWrapped
95
+ balance: require_sdk_utils_bigint_math.BigIntMath.max(0n, wrappedAmount) + unwrappedInWrapped
96
96
  };
97
97
  delete assetsRecord[unwrappedAddress];
98
98
  return [
@@ -124,7 +124,7 @@ var AssetUtils = class AssetUtils {
124
124
  const resRecord = b.reduce((acc, bAsset) => {
125
125
  const aAsset = acc[bAsset.token];
126
126
  const { balance: amount = 0n } = aAsset || {};
127
- const amountSum = require_common_utils_utils_bigint_math.BigIntMath.max(0n, bAsset.balance) + require_common_utils_utils_bigint_math.BigIntMath.max(0n, amount);
127
+ const amountSum = require_sdk_utils_bigint_math.BigIntMath.max(0n, bAsset.balance) + require_sdk_utils_bigint_math.BigIntMath.max(0n, amount);
128
128
  const aOrB = aAsset || bAsset;
129
129
  acc[bAsset.token] = {
130
130
  ...aOrB,
@@ -150,7 +150,7 @@ var AssetUtils = class AssetUtils {
150
150
  const bRecord = AssetUtils.constructAssetRecord(b);
151
151
  return a.map((asset) => {
152
152
  const { balance: bAmount = 0n } = bRecord[asset.token] || {};
153
- const amountSum = require_common_utils_utils_bigint_math.BigIntMath.max(0n, asset.balance) + require_common_utils_utils_bigint_math.BigIntMath.max(0n, bAmount);
153
+ const amountSum = require_sdk_utils_bigint_math.BigIntMath.max(0n, asset.balance) + require_sdk_utils_bigint_math.BigIntMath.max(0n, bAmount);
154
154
  return {
155
155
  ...asset,
156
156
  balance: amountSum
@@ -173,10 +173,10 @@ var AssetUtils = class AssetUtils {
173
173
  const bRecord = AssetUtils.constructAssetRecord(b);
174
174
  return a.map((asset) => {
175
175
  const { balance: bAmount = 0n } = bRecord[asset.token] || {};
176
- const amountSub = require_common_utils_utils_bigint_math.BigIntMath.max(0n, asset.balance) - require_common_utils_utils_bigint_math.BigIntMath.max(0n, bAmount);
176
+ const amountSub = require_sdk_utils_bigint_math.BigIntMath.max(0n, asset.balance) - require_sdk_utils_bigint_math.BigIntMath.max(0n, bAmount);
177
177
  return {
178
178
  ...asset,
179
- balance: require_common_utils_utils_bigint_math.BigIntMath.max(0n, amountSub)
179
+ balance: require_sdk_utils_bigint_math.BigIntMath.max(0n, amountSub)
180
180
  };
181
181
  });
182
182
  }
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../sdk/constants/math.js");
3
4
  require("../../../sdk/index.js");
4
5
  const require_common_utils_utils_price_math = require("../price-math.js");
5
- const require_common_utils_utils_bigint_math = require("../bigint-math.js");
6
6
  //#region src/common-utils/utils/creditAccount/calc-health-factor.ts
7
7
  const MAX_UINT16 = 65535;
8
8
  /**
@@ -29,7 +29,7 @@ function calcHealthFactor({ assets, quotas, quotasInfo, liquidationThresholds, u
29
29
  const quota = quotas[tokenAddress];
30
30
  const quotaBalance = isActive ? quota?.balance || 0n : 0n;
31
31
  const quotaMoney = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(underlyingPrice, quotaBalance, underlyingDecimals);
32
- return acc + (quota ? require_common_utils_utils_bigint_math.BigIntMath.min(quotaMoney, tokenLtMoney) : tokenLtMoney);
32
+ return acc + (quota ? require_sdk_utils_bigint_math.BigIntMath.min(quotaMoney, tokenLtMoney) : tokenLtMoney);
33
33
  }, 0n);
34
34
  const borrowedMoney = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(underlyingPrice || require_sdk_constants_math.PRICE_DECIMALS, debt, underlyingDecimals);
35
35
  const hfInPercent = borrowedMoney > 0n ? assetMoney * require_sdk_constants_math.PERCENTAGE_FACTOR / borrowedMoney : 0n;
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../sdk/constants/math.js");
3
4
  require("../../../sdk/index.js");
4
5
  const require_common_utils_utils_price_math = require("../price-math.js");
5
- const require_common_utils_utils_bigint_math = require("../bigint-math.js");
6
6
  //#region src/common-utils/utils/creditAccount/debt.ts
7
7
  /**
8
8
  * Calculates additional debt that can be borrowed while targeting
@@ -19,7 +19,7 @@ const require_common_utils_utils_bigint_math = require("../bigint-math.js");
19
19
  */
20
20
  function calcMaxDebtIncrease(healthFactor, debt, underlyingLT, minHf = Number(require_sdk_constants_math.PERCENTAGE_FACTOR)) {
21
21
  const result = debt * BigInt(healthFactor - minHf) / BigInt(minHf - underlyingLT);
22
- return require_common_utils_utils_bigint_math.BigIntMath.max(0n, result);
22
+ return require_sdk_utils_bigint_math.BigIntMath.max(0n, result);
23
23
  }
24
24
  /**
25
25
  * Calculates maximum debt capacity for lending based on collateral mix.
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../sdk/constants/math.js");
3
4
  require("../../../sdk/index.js");
4
- const require_common_utils_utils_bigint_math = require("../bigint-math.js");
5
5
  //#region src/common-utils/utils/creditAccount/quota-utils.ts
6
6
  /**
7
7
  * Rounds quota deltas to protocol precision step (`PERCENTAGE_FACTOR`).
@@ -25,7 +25,7 @@ function roundUpQuota(quotaChange) {
25
25
  * @returns Recommended rounded quota.
26
26
  */
27
27
  function calcRecommendedQuota({ amount, debt, lt, quotaReserve }) {
28
- return roundUpQuota(require_common_utils_utils_bigint_math.BigIntMath.min(debt, amount * lt / require_sdk_constants_math.PERCENTAGE_FACTOR) * (require_sdk_constants_math.PERCENTAGE_FACTOR + quotaReserve) / require_sdk_constants_math.PERCENTAGE_FACTOR);
28
+ return roundUpQuota(require_sdk_utils_bigint_math.BigIntMath.min(debt, amount * lt / require_sdk_constants_math.PERCENTAGE_FACTOR) * (require_sdk_constants_math.PERCENTAGE_FACTOR + quotaReserve) / require_sdk_constants_math.PERCENTAGE_FACTOR);
29
29
  }
30
30
  /**
31
31
  * Computes default quota for a token without debt capping.
@@ -64,9 +64,9 @@ function calcQuotaUpdate(props) {
64
64
  const quotaBought = Object.values(initialQuotas).reduce((sum, q) => sum + roundUpQuota(q?.quota || 0n), 0n);
65
65
  const quotaReduced = Object.values(quotaDecrease).reduce((sum, q) => {
66
66
  const quotaBalance = q.balance || 0n;
67
- return sum + (quotaBalance === -39614081257132168796771975168n ? require_common_utils_utils_bigint_math.BigIntMath.neg(roundUpQuota(initialQuotas[q.token]?.quota || 0n)) : quotaBalance);
67
+ return sum + (quotaBalance === -39614081257132168796771975168n ? require_sdk_utils_bigint_math.BigIntMath.neg(roundUpQuota(initialQuotas[q.token]?.quota || 0n)) : quotaBalance);
68
68
  }, 0n);
69
- const maxQuotaIncrease = roundUpQuota(require_common_utils_utils_bigint_math.BigIntMath.max(quotaCap - (quotaBought + quotaReduced), 0n));
69
+ const maxQuotaIncrease = roundUpQuota(require_sdk_utils_bigint_math.BigIntMath.max(quotaCap - (quotaBought + quotaReduced), 0n));
70
70
  const quotaIncrease = Object.keys(allowedToObtain).reduce((acc, token) => {
71
71
  const ch = getSingleQuotaChange(token, maxQuotaIncrease, props);
72
72
  if (ch && ch.balance > 0) acc[ch.token] = ch;
@@ -130,7 +130,7 @@ function getSingleQuotaChange(token, unsafeMaxQuotaIncrease, props) {
130
130
  quotaReserve: props.quotaReserve,
131
131
  amount: amountInTarget
132
132
  })) - initialQuota);
133
- const quotaChange = unsafeQuotaChange > 0 ? require_common_utils_utils_bigint_math.BigIntMath.min(maxQuotaIncrease, unsafeQuotaChange) : unsafeQuotaChange < 0 && require_common_utils_utils_bigint_math.BigIntMath.abs(unsafeQuotaChange) >= initialQuota ? require_sdk_constants_math.MIN_INT96 : unsafeQuotaChange;
133
+ const quotaChange = unsafeQuotaChange > 0 ? require_sdk_utils_bigint_math.BigIntMath.min(maxQuotaIncrease, unsafeQuotaChange) : unsafeQuotaChange < 0 && require_sdk_utils_bigint_math.BigIntMath.abs(unsafeQuotaChange) >= initialQuota ? require_sdk_constants_math.MIN_INT96 : unsafeQuotaChange;
134
134
  const correctIncrease = assetAfter && props.allowedToObtain[token] && quotaChange > 0;
135
135
  const correctDecrease = assetAfter && props.allowedToSpend[token] && quotaChange < 0;
136
136
  if (correctIncrease || correctDecrease) return {
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../sdk/utils/bigint-math.js");
2
3
  const require_common_utils_utils_apy_bonus_apy_from_points = require("./apy/bonus-apy-from-points.js");
3
4
  const require_common_utils_utils_apy_calculate_borrow_rate_from_utilization = require("./apy/calculate-borrow-rate-from-utilization.js");
4
5
  const require_common_utils_utils_price_math = require("./price-math.js");
5
6
  const require_common_utils_utils_apy_calculate_earnings = require("./apy/calculate-earnings.js");
6
7
  const require_common_utils_utils_apy_calculate_effective_borrow_rate = require("./apy/calculate-effective-borrow-rate.js");
7
- const require_common_utils_utils_bigint_math = require("./bigint-math.js");
8
8
  const require_common_utils_utils_apy_calculate_safe_borrow_rate = require("./apy/calculate-safe-borrow-rate.js");
9
9
  const require_common_utils_utils_apy_get_complex_apy_list = require("./apy/get-complex-apy-list.js");
10
10
  const require_common_utils_utils_apy_get_rate_with_fee = require("./apy/get-rate-with-fee.js");
@@ -91,7 +91,7 @@ const require_common_utils_utils_trace = require("./trace.js");
91
91
  require("./validation/index.js");
92
92
  exports.AssetUtils = require_common_utils_utils_assets_math.AssetUtils;
93
93
  exports.BONUS_APY_FROM_POINTS = require_common_utils_utils_apy_bonus_apy_from_points.BONUS_APY_FROM_POINTS;
94
- exports.BigIntMath = require_common_utils_utils_bigint_math.BigIntMath;
94
+ exports.BigIntMath = require_sdk_utils_bigint_math.BigIntMath;
95
95
  exports.EMPTY_ADDRESS = require_common_utils_utils_constants.EMPTY_ADDRESS;
96
96
  exports.EMPTY_ARRAY = require_common_utils_utils_constants.EMPTY_ARRAY;
97
97
  exports.EMPTY_OBJECT = require_common_utils_utils_constants.EMPTY_OBJECT;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../../sdk/constants/math.js");
3
4
  require("../../../../sdk/index.js");
4
- const require_common_utils_utils_bigint_math = require("../../bigint-math.js");
5
5
  const require_common_utils_utils_strategies_leverage_calculate_loss_coefficient = require("./calculate-loss-coefficient.js");
6
6
  const require_common_utils_utils_strategies_leverage_max_leverage = require("./max-leverage.js");
7
7
  //#region src/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.ts
@@ -10,7 +10,7 @@ function calculateMaxLeverageFactor({ targetToken, slippage, creditManagers, con
10
10
  const maxPossibleLeverage = require_common_utils_utils_strategies_leverage_max_leverage.maxLeverage(targetToken, creditManagers);
11
11
  const coefficient = require_common_utils_utils_strategies_leverage_calculate_loss_coefficient.calculateLossCoefficient(slippage, constantLoss);
12
12
  const maxLeverageValue = BigInt(maxPossibleLeverage) * coefficient / require_sdk_constants_math.PERCENTAGE_FACTOR;
13
- return leverageLimit !== void 0 ? require_common_utils_utils_bigint_math.BigIntMath.min(BigInt(leverageLimit), maxLeverageValue) : maxLeverageValue;
13
+ return leverageLimit !== void 0 ? require_sdk_utils_bigint_math.BigIntMath.min(BigInt(leverageLimit), maxLeverageValue) : maxLeverageValue;
14
14
  }
15
15
  //#endregion
16
16
  exports.calculateMaxLeverageFactor = calculateMaxLeverageFactor;
@@ -1,21 +1,21 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../../sdk/constants/math.js");
3
- const require_common_utils_utils_bigint_math = require("../../bigint-math.js");
4
4
  const require_common_utils_utils_strategies_leverage_calculate_loss_coefficient = require("./calculate-loss-coefficient.js");
5
5
  const require_common_utils_utils_strategies_leverage_max_leverage = require("./max-leverage.js");
6
6
  //#region src/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.ts
7
7
  const DEFAULT_DEBT_CONSTANT_LOSS = 1500n;
8
8
  function calculateMaxStrategyDebt({ targetToken, amount, creditManager, slippage, constantLoss = DEFAULT_DEBT_CONSTANT_LOSS, swapCollateral = true }) {
9
9
  const targetQuota = creditManager.quotas[targetToken];
10
- const quotaLeft = swapCollateral && targetQuota ? require_common_utils_utils_bigint_math.BigIntMath.max(0n, targetQuota.limit - targetQuota.totalQuoted) : void 0;
10
+ const quotaLeft = swapCollateral && targetQuota ? require_sdk_utils_bigint_math.BigIntMath.max(0n, targetQuota.limit - targetQuota.totalQuoted) : void 0;
11
11
  if (quotaLeft === 0n) return creditManager.minDebt;
12
- const availableLiquidity = quotaLeft !== void 0 ? require_common_utils_utils_bigint_math.BigIntMath.min(quotaLeft, creditManager.availableToBorrow) : creditManager.availableToBorrow;
12
+ const availableLiquidity = quotaLeft !== void 0 ? require_sdk_utils_bigint_math.BigIntMath.min(quotaLeft, creditManager.availableToBorrow) : creditManager.availableToBorrow;
13
13
  const coefficient = require_common_utils_utils_strategies_leverage_calculate_loss_coefficient.calculateLossCoefficient(slippage, constantLoss);
14
- const effectiveMaxDebt = require_common_utils_utils_bigint_math.BigIntMath.max(require_common_utils_utils_bigint_math.BigIntMath.min(availableLiquidity, creditManager.maxDebt), creditManager.minDebt);
14
+ const effectiveMaxDebt = require_sdk_utils_bigint_math.BigIntMath.max(require_sdk_utils_bigint_math.BigIntMath.min(availableLiquidity, creditManager.maxDebt), creditManager.minDebt);
15
15
  if (amount === 0n) return effectiveMaxDebt;
16
16
  const maxPossibleLeverage = require_common_utils_utils_strategies_leverage_max_leverage.maxLeverage(targetToken, [creditManager]);
17
17
  const effectiveDebt = amount * BigInt(maxPossibleLeverage) / require_sdk_constants_math.LEVERAGE_DECIMALS * coefficient / require_sdk_constants_math.PERCENTAGE_FACTOR;
18
- return require_common_utils_utils_bigint_math.BigIntMath.max(require_common_utils_utils_bigint_math.BigIntMath.min(effectiveDebt, effectiveMaxDebt), creditManager.minDebt);
18
+ return require_sdk_utils_bigint_math.BigIntMath.max(require_sdk_utils_bigint_math.BigIntMath.min(effectiveDebt, effectiveMaxDebt), creditManager.minDebt);
19
19
  }
20
20
  //#endregion
21
21
  exports.calculateMaxStrategyDebt = calculateMaxStrategyDebt;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../../sdk/constants/math.js");
3
4
  const require_common_utils_utils_price_math = require("../../price-math.js");
4
- const require_common_utils_utils_bigint_math = require("../../bigint-math.js");
5
5
  const require_common_utils_utils_strategies_points_get_points_rates = require("../points/get-points-rates.js");
6
6
  //#region src/common-utils/utils/strategies/strategy-info/calculate-total-points.ts
7
7
  const THRESHOLD_POINTS = 1e3;
@@ -23,7 +23,7 @@ function calculateTotalPoints({ pointsAsset, cmAddress, info, totalValue, assetV
23
23
  const leverage = assetAmountInUnderlying * require_sdk_constants_math.LEVERAGE_DECIMALS / assetValue;
24
24
  const rates = require_common_utils_utils_strategies_points_get_points_rates.getPointsRates(info.rewards, leverage);
25
25
  const debt = totalValue - assetValue;
26
- const leverageDebt = require_common_utils_utils_bigint_math.BigIntMath.min(assetAmountInUnderlying, debt > 0 ? debt : 0n) * require_sdk_constants_math.LEVERAGE_DECIMALS / assetValue;
26
+ const leverageDebt = require_sdk_utils_bigint_math.BigIntMath.min(assetAmountInUnderlying, debt > 0 ? debt : 0n) * require_sdk_constants_math.LEVERAGE_DECIMALS / assetValue;
27
27
  const debtRewardsAvailable = (info.debtRewards || []).filter((r) => r.cm === cmAddress || r.cm === "any");
28
28
  return {
29
29
  info,
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_bigint_math = require("../../../../sdk/utils/bigint-math.js");
2
3
  const require_sdk_constants_math = require("../../../../sdk/constants/math.js");
3
4
  const require_sdk_utils_formatter = require("../../../../sdk/utils/formatter.js");
4
5
  const require_common_utils_utils_price_math = require("../../price-math.js");
5
6
  const require_common_utils_utils_apy_calculate_earnings = require("../../apy/calculate-earnings.js");
6
7
  const require_common_utils_utils_apy_calculate_effective_borrow_rate = require("../../apy/calculate-effective-borrow-rate.js");
7
- const require_common_utils_utils_bigint_math = require("../../bigint-math.js");
8
8
  const require_common_utils_utils_apy_get_complex_apy_list = require("../../apy/get-complex-apy-list.js");
9
9
  const require_common_utils_utils_apy_get_safe_base_borrow_rate = require("../../apy/get-safe-base-borrow-rate.js");
10
10
  const require_common_utils_utils_strategies_leverage_get_collateral_by_debt = require("../leverage/get-collateral-by-debt.js");
@@ -112,7 +112,7 @@ function getCMYouCanEarn({ allPrices, creditManager, tokensList, delayedPhantoms
112
112
  });
113
113
  const lt = creditManager.liquidationThresholds[targetTokenAddress] || 0n;
114
114
  const recommendedAssetValueFrom = require_common_utils_utils_strategies_leverage_get_collateral_by_debt.getCollateralByDebt(recommendedDebt_initial.maxDebt, lt, require_sdk_utils_formatter.toBN("1.013", 4));
115
- const assetValueFrom = require_common_utils_utils_bigint_math.BigIntMath.min(assetValueFrom_initial, recommendedAssetValueFrom);
115
+ const assetValueFrom = require_sdk_utils_bigint_math.BigIntMath.min(assetValueFrom_initial, recommendedAssetValueFrom);
116
116
  if (!assetValueFrom || assetValueFrom === 0n) return {
117
117
  status: "error",
118
118
  description: "Asset value from is zero",
@@ -1,17 +1,17 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_common_utils_utils_bigint_math = require("../bigint-math.js");
2
+ const require_sdk_utils_bigint_math = require("../../../sdk/utils/bigint-math.js");
3
3
  const require_common_utils_utils_validation_validate_open_account_pool_quota_status = require("./validate-open-account-pool-quota-status.js");
4
4
  //#region src/common-utils/utils/validation/validate-open-account-pool-status.ts
5
5
  function validateOpenAccountPoolStatus(props) {
6
6
  const { debt, creditManager, pool, targetToken } = props;
7
- const effectiveDebt = require_common_utils_utils_bigint_math.BigIntMath.max(creditManager.minDebt, debt);
7
+ const effectiveDebt = require_sdk_utils_bigint_math.BigIntMath.max(creditManager.minDebt, debt);
8
8
  const hasDebtLimit = creditManager.totalDebtLimit >= 0n;
9
- const debtLimitLeft = require_common_utils_utils_bigint_math.BigIntMath.max(creditManager.totalDebtLimit - creditManager.totalDebt, 0n);
9
+ const debtLimitLeft = require_sdk_utils_bigint_math.BigIntMath.max(creditManager.totalDebtLimit - creditManager.totalDebt, 0n);
10
10
  const { totalDebtLimit = 0n, totalBorrowed = 0n } = pool || {};
11
11
  const hasPoolDebtLimit = totalDebtLimit > 0n;
12
12
  const poolDebtLimitLeft = totalDebtLimit - totalBorrowed;
13
13
  const canOpenMinDebt = creditManager.minDebt <= debtLimitLeft && creditManager.minDebt <= poolDebtLimitLeft && creditManager.minDebt <= creditManager.availableToBorrow;
14
- const minPositionSize = require_common_utils_utils_bigint_math.BigIntMath.min(require_common_utils_utils_bigint_math.BigIntMath.min(debtLimitLeft, poolDebtLimitLeft), creditManager.availableToBorrow);
14
+ const minPositionSize = require_sdk_utils_bigint_math.BigIntMath.min(require_sdk_utils_bigint_math.BigIntMath.min(debtLimitLeft, poolDebtLimitLeft), creditManager.availableToBorrow);
15
15
  if (hasDebtLimit && effectiveDebt > debtLimitLeft) return {
16
16
  message: "insufficientDebtLimit",
17
17
  amount: debtLimitLeft,
@@ -0,0 +1,28 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/model/history.ts
3
+ /**
4
+ * Every {@link PoolHistoryMetric}, for callers that enumerate them.
5
+ **/
6
+ const POOL_HISTORY_METRICS = [
7
+ "depositApy",
8
+ "borrowApy",
9
+ "dieselRate",
10
+ "supplied",
11
+ "borrowed",
12
+ "availableLiquidity"
13
+ ];
14
+ /**
15
+ * Every {@link StrategyHistoryMetric}, for callers that enumerate them.
16
+ **/
17
+ const STRATEGY_HISTORY_METRICS = [
18
+ "netApy",
19
+ "borrowApy",
20
+ "collateralApy",
21
+ "tvl",
22
+ "collateralPrice",
23
+ "collateralUsdPrice",
24
+ "underlyingUsdPrice"
25
+ ];
26
+ //#endregion
27
+ exports.POOL_HISTORY_METRICS = POOL_HISTORY_METRICS;
28
+ exports.STRATEGY_HISTORY_METRICS = STRATEGY_HISTORY_METRICS;
@@ -0,0 +1,84 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_model_primitives_schema = require("./primitives.schema.js");
3
+ const require_model_opportunities_schema = require("./opportunities.schema.js");
4
+ let zod_v4 = require("zod/v4");
5
+ //#region src/model/history.schema.ts
6
+ /**
7
+ * Runtime schemas for {@link ./history.js}, see the note in
8
+ * `primitives.schema.ts` on why they are written by hand.
9
+ **/
10
+ /**
11
+ * {@link HistoryRange}
12
+ **/
13
+ const historyRangeSchema = zod_v4.z.union([
14
+ zod_v4.z.literal("1d"),
15
+ zod_v4.z.literal("1w"),
16
+ zod_v4.z.literal("1m"),
17
+ zod_v4.z.literal("1y"),
18
+ zod_v4.z.literal("max")
19
+ ]);
20
+ /**
21
+ * {@link PoolHistoryMetric}
22
+ **/
23
+ const poolHistoryMetricSchema = zod_v4.z.union([
24
+ zod_v4.z.literal("depositApy"),
25
+ zod_v4.z.literal("borrowApy"),
26
+ zod_v4.z.literal("dieselRate"),
27
+ zod_v4.z.literal("supplied"),
28
+ zod_v4.z.literal("borrowed"),
29
+ zod_v4.z.literal("availableLiquidity")
30
+ ]);
31
+ /**
32
+ * {@link StrategyHistoryMetric}
33
+ **/
34
+ const strategyHistoryMetricSchema = zod_v4.z.union([
35
+ zod_v4.z.literal("netApy"),
36
+ zod_v4.z.literal("borrowApy"),
37
+ zod_v4.z.literal("collateralApy"),
38
+ zod_v4.z.literal("tvl"),
39
+ zod_v4.z.literal("collateralPrice"),
40
+ zod_v4.z.literal("collateralUsdPrice"),
41
+ zod_v4.z.literal("underlyingUsdPrice")
42
+ ]);
43
+ /**
44
+ * {@link HistoryMetric}
45
+ **/
46
+ const historyMetricSchema = zod_v4.z.union([poolHistoryMetricSchema, strategyHistoryMetricSchema]);
47
+ /**
48
+ * {@link HistoryPoint}
49
+ **/
50
+ const historyPointSchema = zod_v4.z.object({
51
+ timestamp: require_model_primitives_schema.timestampSchema,
52
+ value: zod_v4.z.number()
53
+ });
54
+ /**
55
+ * {@link HistoryChartMetadata}
56
+ *
57
+ * TODO: empty until the backend specifies the payload.
58
+ **/
59
+ const historyChartMetadataSchema = zod_v4.z.object({});
60
+ /**
61
+ * {@link HistorySeries}
62
+ **/
63
+ const historySeriesSchema = zod_v4.z.object({
64
+ metric: historyMetricSchema,
65
+ points: zod_v4.z.array(historyPointSchema),
66
+ metadata: historyChartMetadataSchema
67
+ });
68
+ /**
69
+ * {@link OpportunityHistoryQuery}
70
+ **/
71
+ const opportunityHistoryQuerySchema = zod_v4.z.object({
72
+ opportunity: require_model_opportunities_schema.opportunityKeySchema,
73
+ range: historyRangeSchema,
74
+ metric: historyMetricSchema
75
+ });
76
+ //#endregion
77
+ exports.historyChartMetadataSchema = historyChartMetadataSchema;
78
+ exports.historyMetricSchema = historyMetricSchema;
79
+ exports.historyPointSchema = historyPointSchema;
80
+ exports.historyRangeSchema = historyRangeSchema;
81
+ exports.historySeriesSchema = historySeriesSchema;
82
+ exports.opportunityHistoryQuerySchema = opportunityHistoryQuerySchema;
83
+ exports.poolHistoryMetricSchema = poolHistoryMetricSchema;
84
+ exports.strategyHistoryMetricSchema = strategyHistoryMetricSchema;
@@ -0,0 +1,77 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_model_history = require("./history.js");
3
+ const require_model_primitives_schema = require("./primitives.schema.js");
4
+ const require_model_opportunities_schema = require("./opportunities.schema.js");
5
+ const require_model_history_schema = require("./history.schema.js");
6
+ const require_model_liquidations = require("./liquidations.js");
7
+ const require_model_liquidations_schema = require("./liquidations.schema.js");
8
+ const require_model_opportunities = require("./opportunities.js");
9
+ require("./positions.js");
10
+ const require_model_positions_schema = require("./positions.schema.js");
11
+ require("./primitives.js");
12
+ exports.POOL_HISTORY_METRICS = require_model_history.POOL_HISTORY_METRICS;
13
+ exports.STRATEGY_HISTORY_METRICS = require_model_history.STRATEGY_HISTORY_METRICS;
14
+ exports.amountSchema = require_model_primitives_schema.amountSchema;
15
+ exports.apyBreakdownSchema = require_model_opportunities_schema.apyBreakdownSchema;
16
+ exports.assetTypeSchema = require_model_primitives_schema.assetTypeSchema;
17
+ exports.bpsSchema = require_model_primitives_schema.bpsSchema;
18
+ exports.chainIdSchema = require_model_primitives_schema.chainIdSchema;
19
+ exports.curatorSchema = require_model_primitives_schema.curatorSchema;
20
+ exports.delayedReceivedAssetSchema = require_model_liquidations_schema.delayedReceivedAssetSchema;
21
+ exports.historyChartMetadataSchema = require_model_history_schema.historyChartMetadataSchema;
22
+ exports.historyMetricSchema = require_model_history_schema.historyMetricSchema;
23
+ exports.historyPointSchema = require_model_history_schema.historyPointSchema;
24
+ exports.historyRangeSchema = require_model_history_schema.historyRangeSchema;
25
+ exports.historySeriesSchema = require_model_history_schema.historySeriesSchema;
26
+ exports.instantReceivedAssetSchema = require_model_liquidations_schema.instantReceivedAssetSchema;
27
+ exports.leverageSchema = require_model_primitives_schema.leverageSchema;
28
+ exports.liquidatableAccountFilterSchema = require_model_liquidations_schema.liquidatableAccountFilterSchema;
29
+ exports.liquidatableAccountSchema = require_model_liquidations_schema.liquidatableAccountSchema;
30
+ exports.liquidationApprovalSchema = require_model_liquidations_schema.liquidationApprovalSchema;
31
+ exports.liquidationDetailsSchema = require_model_liquidations_schema.liquidationDetailsSchema;
32
+ exports.liquidationPositionSchema = require_model_liquidations_schema.liquidationPositionSchema;
33
+ exports.matchesLiquidatableAccountFilter = require_model_liquidations.matchesLiquidatableAccountFilter;
34
+ exports.matchesOpportunityFilter = require_model_opportunities.matchesOpportunityFilter;
35
+ exports.opportunityBaseSchema = require_model_opportunities_schema.opportunityBaseSchema;
36
+ exports.opportunityDetailSchema = require_model_opportunities_schema.opportunityDetailSchema;
37
+ exports.opportunityFilterSchema = require_model_opportunities_schema.opportunityFilterSchema;
38
+ exports.opportunityHistoryQuerySchema = require_model_history_schema.opportunityHistoryQuerySchema;
39
+ exports.opportunityId = require_model_opportunities.opportunityId;
40
+ exports.opportunityKeySchema = require_model_opportunities_schema.opportunityKeySchema;
41
+ exports.opportunityKindSchema = require_model_opportunities_schema.opportunityKindSchema;
42
+ exports.opportunitySchema = require_model_opportunities_schema.opportunitySchema;
43
+ exports.pnlBreakdownSchema = require_model_positions_schema.pnlBreakdownSchema;
44
+ exports.pointRewardsSchema = require_model_opportunities_schema.pointRewardsSchema;
45
+ exports.pointsProgramPnLSchema = require_model_positions_schema.pointsProgramPnLSchema;
46
+ exports.pointsProgramSchema = require_model_opportunities_schema.pointsProgramSchema;
47
+ exports.pointsRewardsPnLSchema = require_model_positions_schema.pointsRewardsPnLSchema;
48
+ exports.poolHistoryMetricSchema = require_model_history_schema.poolHistoryMetricSchema;
49
+ exports.poolOpportunityDetailSchema = require_model_opportunities_schema.poolOpportunityDetailSchema;
50
+ exports.poolOpportunityId = require_model_opportunities.poolOpportunityId;
51
+ exports.poolOpportunityKeySchema = require_model_opportunities_schema.poolOpportunityKeySchema;
52
+ exports.poolOpportunitySchema = require_model_opportunities_schema.poolOpportunitySchema;
53
+ exports.poolPositionSchema = require_model_positions_schema.poolPositionSchema;
54
+ exports.positionCollateralSchema = require_model_positions_schema.positionCollateralSchema;
55
+ exports.positionFilterSchema = require_model_positions_schema.positionFilterSchema;
56
+ exports.positionKindSchema = require_model_positions_schema.positionKindSchema;
57
+ exports.positionSchema = require_model_positions_schema.positionSchema;
58
+ exports.priceFeedDataSchema = require_model_opportunities_schema.priceFeedDataSchema;
59
+ exports.priceFeedSummarySchema = require_model_opportunities_schema.priceFeedSummarySchema;
60
+ exports.quotaAssetSchema = require_model_opportunities_schema.quotaAssetSchema;
61
+ exports.rateCurvePointSchema = require_model_opportunities_schema.rateCurvePointSchema;
62
+ exports.rateCurveSchema = require_model_opportunities_schema.rateCurveSchema;
63
+ exports.receivedAssetSchema = require_model_liquidations_schema.receivedAssetSchema;
64
+ exports.rewardsPnLSchema = require_model_positions_schema.rewardsPnLSchema;
65
+ exports.rewardsSchema = require_model_opportunities_schema.rewardsSchema;
66
+ exports.strategyHistoryMetricSchema = require_model_history_schema.strategyHistoryMetricSchema;
67
+ exports.strategyOpportunityDetailSchema = require_model_opportunities_schema.strategyOpportunityDetailSchema;
68
+ exports.strategyOpportunityId = require_model_opportunities.strategyOpportunityId;
69
+ exports.strategyOpportunityKeySchema = require_model_opportunities_schema.strategyOpportunityKeySchema;
70
+ exports.strategyOpportunitySchema = require_model_opportunities_schema.strategyOpportunitySchema;
71
+ exports.strategyPositionSchema = require_model_positions_schema.strategyPositionSchema;
72
+ exports.timestampSchema = require_model_primitives_schema.timestampSchema;
73
+ exports.tokenAmountSchema = require_model_primitives_schema.tokenAmountSchema;
74
+ exports.tokenRewardsPnLSchema = require_model_positions_schema.tokenRewardsPnLSchema;
75
+ exports.tokenRewardsSchema = require_model_opportunities_schema.tokenRewardsSchema;
76
+ exports.tokenSchema = require_model_primitives_schema.tokenSchema;
77
+ exports.txCallSchema = require_model_primitives_schema.txCallSchema;
@@ -0,0 +1,23 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/model/liquidations.ts
3
+ /**
4
+ * Whether a liquidatable account satisfies every criterion of a filter.
5
+ *
6
+ * This is the single definition of what each criterion means: every source
7
+ * builds its rows first and runs them through here, so the chain and the
8
+ * backend cannot disagree on what a filter selects.
9
+ *
10
+ * @param account - Row to test.
11
+ * @param filter - Criteria to test against. An absent filter matches anything.
12
+ **/
13
+ function matchesLiquidatableAccountFilter(account, filter) {
14
+ if (!filter) return true;
15
+ if (filter.chainIds && !filter.chainIds.includes(account.chainId)) return false;
16
+ if (filter.underlyingType && account.totalValue.token.assetType !== filter.underlyingType) return false;
17
+ if (filter.paused !== void 0 && account.paused !== filter.paused) return false;
18
+ if (filter.rwa !== void 0 && account.rwa !== filter.rwa) return false;
19
+ if (filter.delayed !== void 0 && account.isDelayed !== filter.delayed) return false;
20
+ return true;
21
+ }
22
+ //#endregion
23
+ exports.matchesLiquidatableAccountFilter = matchesLiquidatableAccountFilter;
@@ -0,0 +1,93 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_sdk_utils_zod = require("../sdk/utils/zod.js");
3
+ const require_model_primitives_schema = require("./primitives.schema.js");
4
+ let zod_v4 = require("zod/v4");
5
+ //#region src/model/liquidations.schema.ts
6
+ /**
7
+ * Runtime schemas for {@link ./liquidations.js}, see the note in
8
+ * `primitives.schema.ts` on why they are written by hand.
9
+ **/
10
+ /**
11
+ * {@link LiquidatableAccountFilter}
12
+ **/
13
+ const liquidatableAccountFilterSchema = zod_v4.z.object({
14
+ chainIds: zod_v4.z.array(require_model_primitives_schema.chainIdSchema).optional(),
15
+ underlyingType: require_model_primitives_schema.assetTypeSchema.optional(),
16
+ paused: zod_v4.z.boolean().optional(),
17
+ rwa: zod_v4.z.boolean().optional(),
18
+ delayed: zod_v4.z.boolean().optional()
19
+ });
20
+ /**
21
+ * {@link LiquidatableAccount}
22
+ **/
23
+ const liquidatableAccountSchema = zod_v4.z.object({
24
+ chainId: require_model_primitives_schema.chainIdSchema,
25
+ creditAccount: require_sdk_utils_zod.ZodAddress(),
26
+ creditManager: require_sdk_utils_zod.ZodAddress(),
27
+ asset: require_model_primitives_schema.tokenSchema,
28
+ totalValue: require_model_primitives_schema.tokenAmountSchema,
29
+ repaymentAmount: require_model_primitives_schema.tokenAmountSchema,
30
+ estimatedProfit: require_model_primitives_schema.tokenAmountSchema,
31
+ isDelayed: zod_v4.z.boolean(),
32
+ paused: zod_v4.z.boolean(),
33
+ rwa: zod_v4.z.boolean()
34
+ });
35
+ /**
36
+ * {@link InstantReceivedAsset}
37
+ **/
38
+ const instantReceivedAssetSchema = zod_v4.z.object({
39
+ ...require_model_primitives_schema.tokenAmountSchema.shape,
40
+ isDelayed: zod_v4.z.literal(false)
41
+ });
42
+ /**
43
+ * {@link DelayedReceivedAsset}
44
+ **/
45
+ const delayedReceivedAssetSchema = zod_v4.z.object({
46
+ ...require_model_primitives_schema.tokenAmountSchema.shape,
47
+ isDelayed: zod_v4.z.literal(true),
48
+ redeemer: require_sdk_utils_zod.ZodAddress().optional(),
49
+ claimableAt: require_model_primitives_schema.timestampSchema.optional()
50
+ });
51
+ /**
52
+ * {@link ReceivedAsset}
53
+ **/
54
+ const receivedAssetSchema = zod_v4.z.discriminatedUnion("isDelayed", [instantReceivedAssetSchema, delayedReceivedAssetSchema]);
55
+ /**
56
+ * {@link LiquidationApproval}
57
+ **/
58
+ const liquidationApprovalSchema = require_model_primitives_schema.tokenAmountSchema.extend({ spender: require_sdk_utils_zod.ZodAddress() });
59
+ /**
60
+ * {@link LiquidationPosition}
61
+ **/
62
+ const liquidationPositionSchema = zod_v4.z.object({
63
+ kind: zod_v4.z.literal("liquidation"),
64
+ name: zod_v4.z.string(),
65
+ chainId: require_model_primitives_schema.chainIdSchema,
66
+ sourceToken: require_model_primitives_schema.tokenSchema,
67
+ output: require_model_primitives_schema.tokenAmountSchema,
68
+ claimableAt: require_model_primitives_schema.timestampSchema.optional(),
69
+ claimTx: require_model_primitives_schema.txCallSchema.optional(),
70
+ redeemer: require_sdk_utils_zod.ZodAddress().optional()
71
+ });
72
+ /**
73
+ * {@link LiquidationDetails}
74
+ **/
75
+ const liquidationDetailsSchema = zod_v4.z.object({
76
+ ...liquidatableAccountSchema.shape,
77
+ repaymentAmount: require_model_primitives_schema.tokenAmountSchema,
78
+ receivedAssets: zod_v4.z.array(receivedAssetSchema),
79
+ isLiquidatorEligible: zod_v4.z.boolean(),
80
+ isCreditAccountFrozen: zod_v4.z.boolean(),
81
+ kycProtocol: zod_v4.z.string().optional(),
82
+ kycToken: require_model_primitives_schema.tokenSchema.optional(),
83
+ approve: liquidationApprovalSchema.optional()
84
+ });
85
+ //#endregion
86
+ exports.delayedReceivedAssetSchema = delayedReceivedAssetSchema;
87
+ exports.instantReceivedAssetSchema = instantReceivedAssetSchema;
88
+ exports.liquidatableAccountFilterSchema = liquidatableAccountFilterSchema;
89
+ exports.liquidatableAccountSchema = liquidatableAccountSchema;
90
+ exports.liquidationApprovalSchema = liquidationApprovalSchema;
91
+ exports.liquidationDetailsSchema = liquidationDetailsSchema;
92
+ exports.liquidationPositionSchema = liquidationPositionSchema;
93
+ exports.receivedAssetSchema = receivedAssetSchema;