@gearbox-protocol/sdk 14.12.0-next.65 → 14.12.0-next.67

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 (249) 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/dev/index.js +2 -1
  14. package/dist/cjs/dev/kycUtils.js +1 -1
  15. package/dist/cjs/dev/midasUtils.js +104 -0
  16. package/dist/cjs/model/history.js +28 -0
  17. package/dist/cjs/model/history.schema.js +84 -0
  18. package/dist/cjs/model/index.js +64 -0
  19. package/dist/cjs/model/liquidations.js +23 -0
  20. package/dist/cjs/model/liquidations.schema.js +91 -0
  21. package/dist/cjs/model/opportunities.js +55 -0
  22. package/dist/cjs/model/opportunities.schema.js +220 -0
  23. package/dist/cjs/model/package.json +1 -0
  24. package/dist/cjs/model/positions.js +1 -0
  25. package/dist/cjs/model/primitives.js +1 -0
  26. package/dist/cjs/model/primitives.schema.js +85 -0
  27. package/dist/cjs/new-sdk/AbstractNamespace.js +158 -0
  28. package/dist/cjs/new-sdk/GearboxSDK.js +122 -0
  29. package/dist/cjs/new-sdk/index.js +11 -0
  30. package/dist/cjs/new-sdk/opportunities/OpportunitiesNamespace.js +122 -0
  31. package/dist/cjs/new-sdk/opportunities/index.js +4 -0
  32. package/dist/cjs/new-sdk/opportunities/types.js +1 -0
  33. package/dist/cjs/new-sdk/package.json +1 -0
  34. package/dist/cjs/new-sdk/types.js +22 -0
  35. package/dist/cjs/new-sdk/utils/history.js +1 -0
  36. package/dist/cjs/new-sdk/utils/index.js +2 -0
  37. package/dist/cjs/offchain/GearboxAPI.js +33 -0
  38. package/dist/cjs/offchain/index.js +8 -0
  39. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +97 -0
  40. package/dist/cjs/offchain/opportunities/index.js +4 -0
  41. package/dist/cjs/offchain/package.json +1 -0
  42. package/dist/cjs/offchain/types.js +1 -0
  43. package/dist/cjs/preview/preview/buildDelayedPreview.js +5 -5
  44. package/dist/cjs/rewards/rewards/api.js +2 -2
  45. package/dist/cjs/rewards/rewards/extra-apy.js +2 -2
  46. package/dist/cjs/sdk/MultichainSDK.js +18 -2
  47. package/dist/cjs/sdk/OnchainSDK.js +8 -1
  48. package/dist/cjs/sdk/accounts/index.js +2 -0
  49. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +150 -106
  50. package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +32 -38
  51. package/dist/cjs/sdk/accounts/liquidations/constants.js +13 -0
  52. package/dist/cjs/sdk/accounts/liquidations/index.js +2 -0
  53. package/dist/cjs/sdk/base/MultichainConstruct.js +80 -0
  54. package/dist/cjs/sdk/base/TokensMeta.js +51 -0
  55. package/dist/cjs/sdk/base/index.js +2 -0
  56. package/dist/cjs/sdk/chain/chains.js +76 -0
  57. package/dist/cjs/sdk/chain/index.js +4 -0
  58. package/dist/cjs/sdk/core/errors.js +13 -0
  59. package/dist/cjs/sdk/core/index.js +2 -1
  60. package/dist/cjs/sdk/index.js +25 -1
  61. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +14 -0
  62. package/dist/cjs/sdk/market/MarketSuite.js +163 -0
  63. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +26 -0
  64. package/dist/cjs/sdk/market/credit/CreditSuite.js +102 -0
  65. package/dist/cjs/sdk/market/math.js +104 -0
  66. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +52 -0
  67. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +30 -0
  68. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +26 -0
  69. package/dist/cjs/sdk/market/pool/PoolSuite.js +28 -0
  70. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +27 -0
  71. package/dist/cjs/sdk/market/pool/math.js +44 -0
  72. package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +17 -0
  73. package/dist/cjs/sdk/opportunities/MultichainOpportunitiesService.js +60 -0
  74. package/dist/cjs/sdk/opportunities/OpportunitiesService.js +103 -0
  75. package/dist/cjs/sdk/opportunities/index.js +12 -0
  76. package/dist/cjs/sdk/types/multichain.js +1 -0
  77. package/dist/cjs/{common-utils → sdk}/utils/bigint-math.js +11 -11
  78. package/dist/cjs/sdk/utils/index.js +3 -0
  79. package/dist/cjs/sdk/utils/zod.js +12 -0
  80. package/dist/esm/common-utils/index.js +1 -1
  81. package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +1 -1
  82. package/dist/esm/common-utils/utils/assets-math.js +1 -1
  83. package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +1 -1
  84. package/dist/esm/common-utils/utils/creditAccount/debt.js +1 -1
  85. package/dist/esm/common-utils/utils/creditAccount/quota-utils.js +1 -1
  86. package/dist/esm/common-utils/utils/index.js +1 -1
  87. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +1 -1
  88. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +1 -1
  89. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +1 -1
  90. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +1 -1
  91. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +1 -1
  92. package/dist/esm/dev/AccountOpener.js +1 -1
  93. package/dist/esm/dev/index.js +3 -3
  94. package/dist/esm/dev/kycUtils.js +1 -1
  95. package/dist/esm/dev/midasUtils.js +105 -2
  96. package/dist/esm/dev/withdrawalUtils.js +1 -1
  97. package/dist/esm/model/history.js +26 -0
  98. package/dist/esm/model/history.schema.js +76 -0
  99. package/dist/esm/model/index.js +9 -0
  100. package/dist/esm/model/liquidations.js +22 -0
  101. package/dist/esm/model/liquidations.schema.js +83 -0
  102. package/dist/esm/model/opportunities.js +51 -0
  103. package/dist/esm/model/opportunities.schema.js +198 -0
  104. package/dist/esm/model/package.json +1 -0
  105. package/dist/esm/model/positions.js +1 -0
  106. package/dist/esm/model/primitives.js +1 -0
  107. package/dist/esm/model/primitives.schema.js +75 -0
  108. package/dist/esm/new-sdk/AbstractNamespace.js +157 -0
  109. package/dist/esm/new-sdk/GearboxSDK.js +121 -0
  110. package/dist/esm/new-sdk/index.js +7 -0
  111. package/dist/esm/new-sdk/opportunities/OpportunitiesNamespace.js +121 -0
  112. package/dist/esm/new-sdk/opportunities/index.js +3 -0
  113. package/dist/esm/new-sdk/opportunities/types.js +1 -0
  114. package/dist/esm/new-sdk/package.json +1 -0
  115. package/dist/esm/new-sdk/types.js +21 -0
  116. package/dist/esm/new-sdk/utils/history.js +1 -0
  117. package/dist/esm/new-sdk/utils/index.js +2 -0
  118. package/dist/esm/offchain/GearboxAPI.js +32 -0
  119. package/dist/esm/offchain/index.js +5 -0
  120. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +95 -0
  121. package/dist/esm/offchain/opportunities/index.js +2 -0
  122. package/dist/esm/offchain/package.json +1 -0
  123. package/dist/esm/offchain/types.js +1 -0
  124. package/dist/esm/preview/preview/buildDelayedPreview.js +1 -1
  125. package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
  126. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  127. package/dist/esm/rewards/rewards/api.js +1 -1
  128. package/dist/esm/rewards/rewards/extra-apy.js +1 -1
  129. package/dist/esm/sdk/MultichainSDK.js +18 -2
  130. package/dist/esm/sdk/OnchainSDK.js +8 -1
  131. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -2
  132. package/dist/esm/sdk/accounts/index.js +2 -2
  133. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +153 -109
  134. package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +32 -38
  135. package/dist/esm/sdk/accounts/liquidations/constants.js +12 -1
  136. package/dist/esm/sdk/accounts/liquidations/index.js +2 -2
  137. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  138. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  139. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  140. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  141. package/dist/esm/sdk/base/MultichainConstruct.js +79 -0
  142. package/dist/esm/sdk/base/TokensMeta.js +53 -2
  143. package/dist/esm/sdk/base/index.js +2 -1
  144. package/dist/esm/sdk/chain/chains.js +74 -2
  145. package/dist/esm/sdk/chain/detectNetwork.js +1 -1
  146. package/dist/esm/sdk/chain/index.js +2 -2
  147. package/dist/esm/sdk/core/createAddressProvider.js +1 -1
  148. package/dist/esm/sdk/core/errors.js +13 -1
  149. package/dist/esm/sdk/core/index.js +2 -2
  150. package/dist/esm/sdk/index.js +11 -5
  151. package/dist/esm/sdk/market/MarketConfiguratorContract.js +14 -0
  152. package/dist/esm/sdk/market/MarketSuite.js +163 -0
  153. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
  154. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +26 -0
  155. package/dist/esm/sdk/market/credit/CreditSuite.js +102 -0
  156. package/dist/esm/sdk/market/math.js +98 -0
  157. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +52 -0
  158. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +30 -0
  159. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +26 -0
  160. package/dist/esm/sdk/market/pool/PoolSuite.js +28 -0
  161. package/dist/esm/sdk/market/pool/PoolV310Contract.js +28 -1
  162. package/dist/esm/sdk/market/pool/math.js +41 -0
  163. package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +17 -0
  164. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
  165. package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
  166. package/dist/esm/sdk/opportunities/MultichainOpportunitiesService.js +59 -0
  167. package/dist/esm/sdk/opportunities/OpportunitiesService.js +102 -0
  168. package/dist/esm/sdk/opportunities/index.js +4 -0
  169. package/dist/esm/sdk/pools/PoolService.js +1 -1
  170. package/dist/esm/sdk/types/multichain.js +1 -0
  171. package/dist/esm/{common-utils → sdk}/utils/bigint-math.js +11 -11
  172. package/dist/esm/sdk/utils/index.js +3 -2
  173. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
  174. package/dist/esm/sdk/utils/zod.js +13 -2
  175. package/dist/types/common-utils/index.d.ts +1 -1
  176. package/dist/types/common-utils/utils/index.d.ts +1 -1
  177. package/dist/types/dev/index.d.ts +2 -2
  178. package/dist/types/dev/midasUtils.d.ts +31 -2
  179. package/dist/types/model/history.d.ts +105 -0
  180. package/dist/types/model/history.schema.d.ts +66 -0
  181. package/dist/types/model/index.d.ts +9 -0
  182. package/dist/types/model/liquidations.d.ts +230 -0
  183. package/dist/types/model/liquidations.schema.d.ts +292 -0
  184. package/dist/types/model/opportunities.d.ts +543 -0
  185. package/dist/types/model/opportunities.schema.d.ts +1066 -0
  186. package/dist/types/model/positions.d.ts +11 -0
  187. package/dist/types/model/primitives.d.ts +193 -0
  188. package/dist/types/model/primitives.schema.d.ts +81 -0
  189. package/dist/types/new-sdk/AbstractNamespace.d.ts +119 -0
  190. package/dist/types/new-sdk/GearboxSDK.d.ts +78 -0
  191. package/dist/types/new-sdk/index.d.ts +9 -0
  192. package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +69 -0
  193. package/dist/types/new-sdk/opportunities/index.d.ts +3 -0
  194. package/dist/types/new-sdk/opportunities/types.d.ts +66 -0
  195. package/dist/types/new-sdk/types.d.ts +149 -0
  196. package/dist/types/new-sdk/utils/history.d.ts +44 -0
  197. package/dist/types/new-sdk/utils/index.d.ts +2 -0
  198. package/dist/types/offchain/GearboxAPI.d.ts +31 -0
  199. package/dist/types/offchain/index.d.ts +5 -0
  200. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +69 -0
  201. package/dist/types/offchain/opportunities/index.d.ts +2 -0
  202. package/dist/types/offchain/types.d.ts +50 -0
  203. package/dist/types/sdk/MultichainSDK.d.ts +15 -2
  204. package/dist/types/sdk/OnchainSDK.d.ts +9 -3
  205. package/dist/types/sdk/accounts/index.d.ts +3 -3
  206. package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +24 -16
  207. package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +26 -20
  208. package/dist/types/sdk/accounts/liquidations/constants.d.ts +12 -1
  209. package/dist/types/sdk/accounts/liquidations/index.d.ts +3 -3
  210. package/dist/types/sdk/accounts/liquidations/types.d.ts +34 -309
  211. package/dist/types/sdk/base/MultichainConstruct.d.ts +57 -0
  212. package/dist/types/sdk/base/TokensMeta.d.ts +26 -0
  213. package/dist/types/sdk/base/index.d.ts +2 -1
  214. package/dist/types/sdk/chain/chains.d.ts +68 -1
  215. package/dist/types/sdk/chain/index.d.ts +2 -2
  216. package/dist/types/sdk/core/errors.d.ts +10 -1
  217. package/dist/types/sdk/core/index.d.ts +2 -2
  218. package/dist/types/sdk/index.d.ts +15 -8
  219. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +9 -0
  220. package/dist/types/sdk/market/MarketSuite.d.ts +109 -1
  221. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +14 -0
  222. package/dist/types/sdk/market/credit/CreditSuite.d.ts +47 -0
  223. package/dist/types/sdk/market/credit/types.d.ts +22 -0
  224. package/dist/types/sdk/market/index.d.ts +2 -2
  225. package/dist/types/sdk/market/math.d.ts +74 -0
  226. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +23 -0
  227. package/dist/types/sdk/market/oracle/types.d.ts +46 -0
  228. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +12 -0
  229. package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +22 -1
  230. package/dist/types/sdk/market/pool/PoolSuite.d.ts +23 -0
  231. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +18 -0
  232. package/dist/types/sdk/market/pool/math.d.ts +57 -0
  233. package/dist/types/sdk/market/pool/types.d.ts +23 -0
  234. package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +6 -0
  235. package/dist/types/sdk/market/pricefeeds/types.d.ts +10 -0
  236. package/dist/types/sdk/opportunities/MultichainOpportunitiesService.d.ts +40 -0
  237. package/dist/types/sdk/opportunities/OpportunitiesService.d.ts +47 -0
  238. package/dist/types/sdk/opportunities/index.d.ts +4 -0
  239. package/dist/types/sdk/types/index.d.ts +2 -1
  240. package/dist/types/sdk/types/multichain.d.ts +65 -0
  241. package/dist/types/sdk/types/state.d.ts +1 -1
  242. package/dist/types/sdk/types/transactions.d.ts +3 -0
  243. package/dist/types/{common-utils → sdk}/utils/bigint-math.d.ts +7 -11
  244. package/dist/types/sdk/utils/index.d.ts +3 -2
  245. package/dist/types/sdk/utils/zod.d.ts +6 -2
  246. package/package.json +16 -1
  247. package/dist/cjs/sdk/accounts/liquidations/helpers.js +0 -201
  248. package/dist/esm/sdk/accounts/liquidations/helpers.js +0 -192
  249. 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,
@@ -2,6 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_dev_abi = require("./abi.js");
3
3
  const require_dev_claimFromFaucet = require("./claimFromFaucet.js");
4
4
  const require_dev_createAnvilClient = require("./createAnvilClient.js");
5
+ const require_dev_kycUtils = require("./kycUtils.js");
5
6
  const require_dev_midasUtils = require("./midasUtils.js");
6
7
  const require_dev_mint_factory = require("./mint/factory.js");
7
8
  require("./mint/index.js");
@@ -15,7 +16,6 @@ const require_dev_detectChain = require("./detectChain.js");
15
16
  const require_dev_isOutOfSyncError = require("./isOutOfSyncError.js");
16
17
  const require_dev_isRateLimitError = require("./isRateLimitError.js");
17
18
  const require_dev_isTransientError = require("./isTransientError.js");
18
- const require_dev_kycUtils = require("./kycUtils.js");
19
19
  const require_dev_logSplitterTransport = require("./logSplitterTransport.js");
20
20
  const require_dev_ltUtils = require("./ltUtils.js");
21
21
  const require_dev_migrateFaucet = require("./migrateFaucet.js");
@@ -85,5 +85,6 @@ exports.revolverTransportConfigSchema = require_dev_RevolverTransport.revolverTr
85
85
  exports.rpcProvidersSchema = require_dev_providers.rpcProvidersSchema;
86
86
  exports.setLTZero = require_dev_ltUtils.setLTZero;
87
87
  exports.setLTs = require_dev_ltUtils.setLTs;
88
+ exports.unpauseMidasIssuanceVault = require_dev_midasUtils.unpauseMidasIssuanceVault;
88
89
  exports.verifyTestnet = require_dev_verifyTestnet.verifyTestnet;
89
90
  exports.writeAndWait = require_dev_kycUtils.writeAndWait;
@@ -3,9 +3,9 @@ const require_sdk_utils_AddressSet = require("../sdk/utils/AddressSet.js");
3
3
  const require_sdk_constants_math = require("../sdk/constants/math.js");
4
4
  const require_sdk_OnchainSDK = require("../sdk/OnchainSDK.js");
5
5
  require("../sdk/index.js");
6
- const require_dev_withdrawalAbi = require("./withdrawalAbi.js");
7
6
  const require_abi_rwa_iDSRegistryService = require("../abi/rwa/iDSRegistryService.js");
8
7
  const require_abi_rwa_iDSToken = require("../abi/rwa/iDSToken.js");
8
+ const require_dev_withdrawalAbi = require("./withdrawalAbi.js");
9
9
  let viem = require("viem");
10
10
  let viem_accounts = require("viem/accounts");
11
11
  //#region src/dev/kycUtils.ts
@@ -1,5 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_dev_withdrawalAbi = require("./withdrawalAbi.js");
3
+ const require_dev_kycUtils = require("./kycUtils.js");
3
4
  let viem = require("viem");
4
5
  //#region src/dev/midasUtils.ts
5
6
  const ADAPTER_MIDAS_GATEWAY = "ADAPTER::MIDAS_GATEWAY";
@@ -16,6 +17,18 @@ const MIDAS_MODE_PERMISSIONLESS = 0;
16
17
  */
17
18
  const iMidasMTokenAbi = (0, viem.parseAbi)(["function mToken() external view returns (address)"]);
18
19
  const iMidasGatewayAdapterExtAbi = (0, viem.parseAbi)(["function receiveGreenlist() external returns (bool)"]);
20
+ /**
21
+ * Midas vaults inherit their own `Pausable`, whose global pause is guarded by
22
+ * `pauseAdminRole()` in the vault's access control instead of `Ownable`
23
+ */
24
+ const iMidasPausableVaultAbi = (0, viem.parseAbi)([
25
+ "function paused() external view returns (bool)",
26
+ "function pause() external",
27
+ "function unpause() external",
28
+ "function pauseAdminRole() external view returns (bytes32)",
29
+ "function accessControl() external view returns (address)"
30
+ ]);
31
+ const iMidasAccessControlAbi = (0, viem.parseAbi)(["function hasRole(bytes32 role, address account) external view returns (bool)", "function grantRole(bytes32 role, address account) external"]);
19
32
  const receiveGreenlistCallData = (0, viem.encodeFunctionData)({
20
33
  abi: iMidasGatewayAdapterExtAbi,
21
34
  functionName: "receiveGreenlist"
@@ -86,6 +99,96 @@ async function prependMidasReceiveGreenlist(props) {
86
99
  }
87
100
  return prepended.length > 0 ? [...prepended, ...calls] : calls;
88
101
  }
102
+ /**
103
+ * Unpauses a globally paused Midas issuance vault on an anvil fork, so that
104
+ * `depositInstant` stops reverting with `Pausable: paused`, and returns a
105
+ * callback that restores the original pause state.
106
+ *
107
+ * Impersonates `admin` and grants it `pauseAdminRole()` when missing, same as
108
+ * `greenlistMidasGateway` does with the greenlist roles. The grant is not
109
+ * reverted by the callback, only the pause state is.
110
+ */
111
+ async function unpauseMidasIssuanceVault(props) {
112
+ const { anvil, vault, admin, logger } = props;
113
+ if (!await anvil.readContract({
114
+ address: vault,
115
+ abi: iMidasPausableVaultAbi,
116
+ functionName: "paused"
117
+ })) {
118
+ logger?.debug(`midas: issuance vault ${vault} is not paused`);
119
+ return async () => {};
120
+ }
121
+ const [accessControl, pauseAdminRole] = await anvil.multicall({
122
+ allowFailure: false,
123
+ contracts: [{
124
+ address: vault,
125
+ abi: iMidasPausableVaultAbi,
126
+ functionName: "accessControl"
127
+ }, {
128
+ address: vault,
129
+ abi: iMidasPausableVaultAbi,
130
+ functionName: "pauseAdminRole"
131
+ }]
132
+ });
133
+ const isPauseAdmin = await anvil.readContract({
134
+ address: accessControl,
135
+ abi: iMidasAccessControlAbi,
136
+ functionName: "hasRole",
137
+ args: [pauseAdminRole, admin]
138
+ });
139
+ logger?.debug(`midas: unpausing issuance vault ${vault} as ${admin}, access control ${accessControl}, pause admin role ${pauseAdminRole}`);
140
+ await anvil.impersonateAccount({ address: admin });
141
+ try {
142
+ await anvil.setBalance({
143
+ address: admin,
144
+ value: (0, viem.parseEther)("100")
145
+ });
146
+ if (!isPauseAdmin) {
147
+ await require_dev_kycUtils.writeAndWait(anvil, {
148
+ account: admin,
149
+ chain: anvil.chain,
150
+ address: accessControl,
151
+ abi: iMidasAccessControlAbi,
152
+ functionName: "grantRole",
153
+ args: [pauseAdminRole, admin]
154
+ });
155
+ logger?.debug(`midas: granted pause admin role to ${admin}`);
156
+ }
157
+ await require_dev_kycUtils.writeAndWait(anvil, {
158
+ account: admin,
159
+ chain: anvil.chain,
160
+ address: vault,
161
+ abi: iMidasPausableVaultAbi,
162
+ functionName: "unpause"
163
+ });
164
+ } finally {
165
+ await anvil.stopImpersonatingAccount({ address: admin });
166
+ }
167
+ let toRestore = true;
168
+ return async () => {
169
+ if (!toRestore) return;
170
+ toRestore = false;
171
+ logger?.debug(`midas: pausing issuance vault ${vault} back`);
172
+ await anvil.impersonateAccount({ address: admin });
173
+ try {
174
+ await anvil.setBalance({
175
+ address: admin,
176
+ value: (0, viem.parseEther)("100")
177
+ });
178
+ await require_dev_kycUtils.writeAndWait(anvil, {
179
+ account: admin,
180
+ chain: anvil.chain,
181
+ address: vault,
182
+ abi: iMidasPausableVaultAbi,
183
+ functionName: "pause"
184
+ });
185
+ } catch (e) {
186
+ logger?.warn(`midas: failed to pause issuance vault ${vault} back: ${e}`);
187
+ } finally {
188
+ await anvil.stopImpersonatingAccount({ address: admin });
189
+ }
190
+ };
191
+ }
89
192
  async function readMTokens(client, adapters) {
90
193
  return await client.multicall({
91
194
  allowFailure: false,
@@ -98,3 +201,4 @@ async function readMTokens(client, adapters) {
98
201
  }
99
202
  //#endregion
100
203
  exports.prependMidasReceiveGreenlist = prependMidasReceiveGreenlist;
204
+ exports.unpauseMidasIssuanceVault = unpauseMidasIssuanceVault;
@@ -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;