@gearbox-protocol/sdk 14.10.1 → 14.10.2-next.1

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 (206) hide show
  1. package/dist/cjs/common-utils/test-utils/index.js +139 -0
  2. package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +59 -0
  3. package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +32 -0
  4. package/dist/cjs/common-utils/utils/apy/calculate-earnings.js +59 -0
  5. package/dist/cjs/common-utils/utils/apy/calculate-earnings.spec.js +62 -0
  6. package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.js +55 -0
  7. package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +39 -0
  8. package/dist/cjs/common-utils/utils/apy/get-safe-base-borrow-rate.js +38 -0
  9. package/dist/cjs/common-utils/utils/constants.js +34 -0
  10. package/dist/cjs/common-utils/utils/strategies/assets/assets.js +30 -0
  11. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +62 -0
  12. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +109 -0
  13. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +75 -0
  14. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +93 -0
  15. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +63 -0
  16. package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +330 -0
  17. package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +34 -0
  18. package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +30 -0
  19. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.js +85 -0
  20. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +227 -0
  21. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +33 -0
  22. package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +23 -0
  23. package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage.js +2 -2
  24. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +112 -0
  25. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +183 -0
  26. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.js +74 -0
  27. package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +131 -0
  28. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +410 -0
  29. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +274 -0
  30. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +108 -0
  31. package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.js +41 -0
  32. package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +38 -0
  33. package/dist/cjs/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +35 -0
  34. package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +42 -0
  35. package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +32 -0
  36. package/dist/cjs/common-utils/utils/strategies/tokens/get-native-token-address.js +31 -0
  37. package/dist/cjs/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +36 -0
  38. package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.js +59 -0
  39. package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +135 -0
  40. package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.js +42 -0
  41. package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +162 -0
  42. package/dist/cjs/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +51 -0
  43. package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.js +33 -0
  44. package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +13 -0
  45. package/dist/cjs/common-utils/utils/strategies/types/strategy-data.js +16 -0
  46. package/dist/cjs/common-utils/utils/strategies/types/strategy-earnings.js +16 -0
  47. package/dist/cjs/common-utils/utils/validation/is-zero-balance.js +30 -0
  48. package/dist/cjs/common-utils/utils/validation/validate-balance.js +47 -0
  49. package/dist/cjs/common-utils/utils/validation/validate-balance.spec.js +52 -0
  50. package/dist/cjs/common-utils/utils/validation/validate-balances.js +44 -0
  51. package/dist/cjs/common-utils/utils/validation/validate-balances.spec.js +37 -0
  52. package/dist/cjs/common-utils/utils/validation/validate-credit-manager.js +34 -0
  53. package/dist/cjs/common-utils/utils/validation/validate-credit-manager.spec.js +36 -0
  54. package/dist/cjs/common-utils/utils/validation/validate-hf.js +38 -0
  55. package/dist/cjs/common-utils/utils/validation/validate-hf.spec.js +24 -0
  56. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.js +37 -0
  57. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +43 -0
  58. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.js +76 -0
  59. package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.spec.js +98 -0
  60. package/dist/cjs/common-utils/utils/validation/validate-open-account.js +41 -0
  61. package/dist/cjs/common-utils/utils/validation/validate-open-account.spec.js +54 -0
  62. package/dist/cjs/common-utils/utils/validation/validate-quota.js +49 -0
  63. package/dist/cjs/common-utils/utils/validation/validate-quota.spec.js +79 -0
  64. package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.js +42 -0
  65. package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.spec.js +35 -0
  66. package/dist/cjs/common-utils/utils/validation/validation-types.js +16 -0
  67. package/dist/cjs/sdk/constants/math.js +3 -0
  68. package/dist/esm/common-utils/test-utils/index.js +104 -0
  69. package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +35 -0
  70. package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +31 -0
  71. package/dist/esm/common-utils/utils/apy/calculate-earnings.js +35 -0
  72. package/dist/esm/common-utils/utils/apy/calculate-earnings.spec.js +65 -0
  73. package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +34 -0
  74. package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +38 -0
  75. package/dist/esm/common-utils/utils/apy/get-safe-base-borrow-rate.js +16 -0
  76. package/dist/esm/common-utils/utils/constants.js +8 -0
  77. package/dist/esm/common-utils/utils/strategies/assets/assets.js +6 -0
  78. package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +38 -0
  79. package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +115 -0
  80. package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +51 -0
  81. package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +96 -0
  82. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +42 -0
  83. package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +332 -0
  84. package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +10 -0
  85. package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +29 -0
  86. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.js +61 -0
  87. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +226 -0
  88. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +9 -0
  89. package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +22 -0
  90. package/dist/esm/common-utils/utils/strategies/leverage/max-leverage.js +2 -2
  91. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +88 -0
  92. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +187 -0
  93. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +54 -0
  94. package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +139 -0
  95. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +389 -0
  96. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +278 -0
  97. package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +84 -0
  98. package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.js +17 -0
  99. package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +41 -0
  100. package/dist/esm/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +11 -0
  101. package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +18 -0
  102. package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +36 -0
  103. package/dist/esm/common-utils/utils/strategies/tokens/get-native-token-address.js +7 -0
  104. package/dist/esm/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +11 -0
  105. package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.js +35 -0
  106. package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +137 -0
  107. package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.js +18 -0
  108. package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +161 -0
  109. package/dist/esm/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +27 -0
  110. package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.js +9 -0
  111. package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +12 -0
  112. package/dist/esm/common-utils/utils/strategies/types/strategy-data.js +0 -0
  113. package/dist/esm/common-utils/utils/strategies/types/strategy-earnings.js +0 -0
  114. package/dist/esm/common-utils/utils/validation/is-zero-balance.js +6 -0
  115. package/dist/esm/common-utils/utils/validation/validate-balance.js +23 -0
  116. package/dist/esm/common-utils/utils/validation/validate-balance.spec.js +51 -0
  117. package/dist/esm/common-utils/utils/validation/validate-balances.js +20 -0
  118. package/dist/esm/common-utils/utils/validation/validate-balances.spec.js +36 -0
  119. package/dist/esm/common-utils/utils/validation/validate-credit-manager.js +10 -0
  120. package/dist/esm/common-utils/utils/validation/validate-credit-manager.spec.js +35 -0
  121. package/dist/esm/common-utils/utils/validation/validate-hf.js +13 -0
  122. package/dist/esm/common-utils/utils/validation/validate-hf.spec.js +23 -0
  123. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.js +13 -0
  124. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +46 -0
  125. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +54 -0
  126. package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.spec.js +102 -0
  127. package/dist/esm/common-utils/utils/validation/validate-open-account.js +17 -0
  128. package/dist/esm/common-utils/utils/validation/validate-open-account.spec.js +56 -0
  129. package/dist/esm/common-utils/utils/validation/validate-quota.js +25 -0
  130. package/dist/esm/common-utils/utils/validation/validate-quota.spec.js +83 -0
  131. package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.js +18 -0
  132. package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.spec.js +34 -0
  133. package/dist/esm/common-utils/utils/validation/validation-types.js +0 -0
  134. package/dist/esm/sdk/constants/math.js +2 -0
  135. package/dist/types/common-utils/test-utils/index.d.ts +16 -0
  136. package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.d.ts +2 -0
  137. package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.d.ts +1 -0
  138. package/dist/types/common-utils/utils/apy/calculate-earnings.d.ts +16 -0
  139. package/dist/types/common-utils/utils/apy/calculate-earnings.spec.d.ts +1 -0
  140. package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.d.ts +11 -0
  141. package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.spec.d.ts +1 -0
  142. package/dist/types/common-utils/utils/apy/get-safe-base-borrow-rate.d.ts +4 -0
  143. package/dist/types/common-utils/utils/constants.d.ts +4 -0
  144. package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +3 -0
  145. package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.d.ts +20 -0
  146. package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.d.ts +1 -0
  147. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +13 -0
  148. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.d.ts +1 -0
  149. package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.d.ts +11 -0
  150. package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.d.ts +1 -0
  151. package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.d.ts +2 -0
  152. package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.d.ts +1 -0
  153. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.d.ts +21 -0
  154. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.spec.d.ts +1 -0
  155. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.d.ts +4 -0
  156. package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.d.ts +1 -0
  157. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +28 -0
  158. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.d.ts +1 -0
  159. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +22 -0
  160. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.d.ts +1 -0
  161. package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.d.ts +19 -0
  162. package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.d.ts +1 -0
  163. package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.d.ts +29 -0
  164. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +6 -0
  165. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.spec.d.ts +1 -0
  166. package/dist/types/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.d.ts +6 -0
  167. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +12 -0
  168. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.d.ts +1 -0
  169. package/dist/types/common-utils/utils/strategies/tokens/get-native-token-address.d.ts +1 -0
  170. package/dist/types/common-utils/utils/strategies/tokens/is-apy-with-points-exception.d.ts +3 -0
  171. package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.d.ts +16 -0
  172. package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.spec.d.ts +1 -0
  173. package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.d.ts +14 -0
  174. package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.spec.d.ts +1 -0
  175. package/dist/types/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.d.ts +20 -0
  176. package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.d.ts +2 -0
  177. package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.spec.d.ts +1 -0
  178. package/dist/types/common-utils/utils/strategies/types/index.d.ts +2 -1
  179. package/dist/types/common-utils/utils/strategies/types/strategy-data.d.ts +64 -0
  180. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +43 -0
  181. package/dist/types/common-utils/utils/validation/is-zero-balance.d.ts +1 -0
  182. package/dist/types/common-utils/utils/validation/validate-balance.d.ts +22 -0
  183. package/dist/types/common-utils/utils/validation/validate-balance.spec.d.ts +1 -0
  184. package/dist/types/common-utils/utils/validation/validate-balances.d.ts +9 -0
  185. package/dist/types/common-utils/utils/validation/validate-balances.spec.d.ts +1 -0
  186. package/dist/types/common-utils/utils/validation/validate-credit-manager.d.ts +10 -0
  187. package/dist/types/common-utils/utils/validation/validate-credit-manager.spec.d.ts +1 -0
  188. package/dist/types/common-utils/utils/validation/validate-hf.d.ts +9 -0
  189. package/dist/types/common-utils/utils/validation/validate-hf.spec.d.ts +1 -0
  190. package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.d.ts +7 -0
  191. package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.d.ts +1 -0
  192. package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.d.ts +23 -0
  193. package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.spec.d.ts +1 -0
  194. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +21 -0
  195. package/dist/types/common-utils/utils/validation/validate-open-account.spec.d.ts +1 -0
  196. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +20 -0
  197. package/dist/types/common-utils/utils/validation/validate-quota.spec.d.ts +1 -0
  198. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +13 -0
  199. package/dist/types/common-utils/utils/validation/validate-token-to-obtain.spec.d.ts +1 -0
  200. package/dist/types/common-utils/utils/validation/validation-types.d.ts +14 -0
  201. package/dist/types/dev/RevolverTransport.d.ts +4 -4
  202. package/dist/types/sdk/constants/math.d.ts +1 -0
  203. package/package.json +1 -1
  204. package/dist/cjs/common-utils/utils/strategies/__test-utils.js +0 -95
  205. package/dist/esm/common-utils/utils/strategies/__test-utils.js +0 -65
  206. package/dist/types/common-utils/utils/strategies/__test-utils.d.ts +0 -11
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var validate_open_account_pool_quota_status_exports = {};
20
+ __export(validate_open_account_pool_quota_status_exports, {
21
+ validateOpenAccountPoolQuotaStatus: () => validateOpenAccountPoolQuotaStatus
22
+ });
23
+ module.exports = __toCommonJS(validate_open_account_pool_quota_status_exports);
24
+ function validateOpenAccountPoolQuotaStatus(targetToken, creditManager, amountToBorrow) {
25
+ const quota = creditManager.quotas[targetToken];
26
+ if (quota) {
27
+ const realLimit = quota.isActive ? quota.limit : 0n;
28
+ const quotaLeft = realLimit - quota.totalQuoted;
29
+ if (quotaLeft < amountToBorrow)
30
+ return { message: "insufficientQuota", token: targetToken };
31
+ }
32
+ return null;
33
+ }
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ validateOpenAccountPoolQuotaStatus
37
+ });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_test_utils = require("../../test-utils/index.js");
4
+ var import_validate_open_account_pool_quota_status = require("./validate-open-account-pool-quota-status.js");
5
+ const mockCreditManager = (0, import_test_utils.buildCreditManager)({
6
+ quotas: {
7
+ [import_test_utils.mockToken1]: (0, import_test_utils.buildQuota)({
8
+ token: import_test_utils.mockToken1,
9
+ limit: 1000000n,
10
+ totalQuoted: 500000n,
11
+ rate: 0n
12
+ })
13
+ }
14
+ });
15
+ (0, import_vitest.describe)("validateOpenAccountPoolQuotaStatus", () => {
16
+ (0, import_vitest.it)("returns null when quota is sufficient", () => {
17
+ const result = (0, import_validate_open_account_pool_quota_status.validateOpenAccountPoolQuotaStatus)(
18
+ import_test_utils.mockToken1,
19
+ mockCreditManager,
20
+ 100000n
21
+ );
22
+ (0, import_vitest.expect)(result).toBeNull();
23
+ });
24
+ (0, import_vitest.it)("returns error when quota is insufficient", () => {
25
+ const result = (0, import_validate_open_account_pool_quota_status.validateOpenAccountPoolQuotaStatus)(
26
+ import_test_utils.mockToken1,
27
+ mockCreditManager,
28
+ 600000n
29
+ );
30
+ (0, import_vitest.expect)(result).toEqual({
31
+ message: "insufficientQuota",
32
+ token: import_test_utils.mockToken1
33
+ });
34
+ });
35
+ (0, import_vitest.it)("returns null when token has no quota", () => {
36
+ const result = (0, import_validate_open_account_pool_quota_status.validateOpenAccountPoolQuotaStatus)(
37
+ "0x9999999999999999999999999999999999999999",
38
+ mockCreditManager,
39
+ 100000n
40
+ );
41
+ (0, import_vitest.expect)(result).toBeNull();
42
+ });
43
+ });
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var validate_open_account_pool_status_exports = {};
20
+ __export(validate_open_account_pool_status_exports, {
21
+ validateOpenAccountPoolStatus: () => validateOpenAccountPoolStatus
22
+ });
23
+ module.exports = __toCommonJS(validate_open_account_pool_status_exports);
24
+ var import_bigint_math = require("../bigint-math.js");
25
+ var import_validate_open_account_pool_quota_status = require("./validate-open-account-pool-quota-status.js");
26
+ function validateOpenAccountPoolStatus(props) {
27
+ const { debt, creditManager, pool, targetToken } = props;
28
+ const effectiveDebt = import_bigint_math.BigIntMath.max(creditManager.minDebt, debt);
29
+ const hasDebtLimit = creditManager.totalDebtLimit >= 0n;
30
+ const debtLimitLeft = import_bigint_math.BigIntMath.max(
31
+ creditManager.totalDebtLimit - creditManager.totalDebt,
32
+ 0n
33
+ );
34
+ const { totalDebtLimit = 0n, totalBorrowed = 0n } = pool || {};
35
+ const hasPoolDebtLimit = totalDebtLimit > 0n;
36
+ const poolDebtLimitLeft = totalDebtLimit - totalBorrowed;
37
+ const canOpenMinDebt = creditManager.minDebt <= debtLimitLeft && creditManager.minDebt <= poolDebtLimitLeft && creditManager.minDebt <= creditManager.availableToBorrow;
38
+ const minPositionSize = import_bigint_math.BigIntMath.min(
39
+ import_bigint_math.BigIntMath.min(debtLimitLeft, poolDebtLimitLeft),
40
+ creditManager.availableToBorrow
41
+ );
42
+ if (hasDebtLimit && effectiveDebt > debtLimitLeft) {
43
+ return {
44
+ message: "insufficientDebtLimit",
45
+ amount: debtLimitLeft,
46
+ solutionAmount: canOpenMinDebt ? minPositionSize : void 0
47
+ };
48
+ }
49
+ if (hasPoolDebtLimit && effectiveDebt > poolDebtLimitLeft) {
50
+ return {
51
+ message: "insufficientPoolDebtLimit",
52
+ amount: poolDebtLimitLeft,
53
+ solutionAmount: canOpenMinDebt ? minPositionSize : void 0
54
+ };
55
+ }
56
+ if (effectiveDebt > creditManager.availableToBorrow) {
57
+ return {
58
+ message: "insufficientPoolLiquidity",
59
+ amount: creditManager.availableToBorrow,
60
+ solutionAmount: canOpenMinDebt ? minPositionSize : void 0
61
+ };
62
+ }
63
+ if (targetToken !== null) {
64
+ const quotaError = (0, import_validate_open_account_pool_quota_status.validateOpenAccountPoolQuotaStatus)(
65
+ targetToken,
66
+ creditManager,
67
+ effectiveDebt
68
+ );
69
+ if (quotaError) return quotaError;
70
+ }
71
+ return null;
72
+ }
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ validateOpenAccountPoolStatus
76
+ });
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_test_utils = require("../../test-utils/index.js");
4
+ var import_validate_open_account_pool_status = require("./validate-open-account-pool-status.js");
5
+ const mockCreditManager = (0, import_test_utils.buildCreditManager)({
6
+ minDebt: 1000n,
7
+ maxDebt: 1000000n,
8
+ totalDebtLimit: 5000000n,
9
+ totalDebt: 2000000n,
10
+ availableToBorrow: 3000000n,
11
+ quotas: {
12
+ [import_test_utils.mockToken1]: (0, import_test_utils.buildQuota)({
13
+ token: import_test_utils.mockToken1,
14
+ limit: 1000000n,
15
+ totalQuoted: 500000n,
16
+ rate: 0n
17
+ })
18
+ }
19
+ });
20
+ const mockPool = (0, import_test_utils.buildPool)({
21
+ totalDebtLimit: 10000000n,
22
+ totalBorrowed: 5000000n
23
+ });
24
+ (0, import_vitest.describe)("validateOpenAccountPoolStatus", () => {
25
+ (0, import_vitest.it)("returns null when all conditions are met", () => {
26
+ const result = (0, import_validate_open_account_pool_status.validateOpenAccountPoolStatus)({
27
+ debt: 50000n,
28
+ creditManager: mockCreditManager,
29
+ pool: mockPool,
30
+ targetToken: import_test_utils.mockToken1
31
+ });
32
+ (0, import_vitest.expect)(result).toBeNull();
33
+ });
34
+ (0, import_vitest.it)("returns error when debt exceeds debt limit", () => {
35
+ const result = (0, import_validate_open_account_pool_status.validateOpenAccountPoolStatus)({
36
+ debt: 4000000n,
37
+ creditManager: mockCreditManager,
38
+ pool: mockPool,
39
+ targetToken: import_test_utils.mockToken1
40
+ });
41
+ (0, import_vitest.expect)(result).toEqual({
42
+ message: "insufficientDebtLimit",
43
+ amount: 3000000n,
44
+ solutionAmount: 3000000n
45
+ });
46
+ });
47
+ (0, import_vitest.it)("returns error when debt exceeds pool debt limit", () => {
48
+ const result = (0, import_validate_open_account_pool_status.validateOpenAccountPoolStatus)({
49
+ debt: 6000000n,
50
+ creditManager: (0, import_test_utils.buildCreditManager)({
51
+ ...mockCreditManager,
52
+ totalDebtLimit: -1n
53
+ }),
54
+ pool: mockPool,
55
+ targetToken: import_test_utils.mockToken1
56
+ });
57
+ (0, import_vitest.expect)(result).toEqual({
58
+ message: "insufficientPoolDebtLimit",
59
+ amount: 5000000n
60
+ });
61
+ });
62
+ (0, import_vitest.it)("returns error when debt exceeds available liquidity", () => {
63
+ const result = (0, import_validate_open_account_pool_status.validateOpenAccountPoolStatus)({
64
+ debt: 4000000n,
65
+ creditManager: (0, import_test_utils.buildCreditManager)({
66
+ ...mockCreditManager,
67
+ totalDebtLimit: -1n
68
+ }),
69
+ pool: (0, import_test_utils.buildPool)({ totalDebtLimit: -1n }),
70
+ targetToken: import_test_utils.mockToken1
71
+ });
72
+ (0, import_vitest.expect)(result).toEqual({
73
+ message: "insufficientPoolLiquidity",
74
+ amount: 3000000n
75
+ });
76
+ });
77
+ (0, import_vitest.it)("returns error when quota is insufficient", () => {
78
+ const result = (0, import_validate_open_account_pool_status.validateOpenAccountPoolStatus)({
79
+ debt: 600000n,
80
+ creditManager: mockCreditManager,
81
+ pool: mockPool,
82
+ targetToken: import_test_utils.mockToken1
83
+ });
84
+ (0, import_vitest.expect)(result).toEqual({
85
+ message: "insufficientQuota",
86
+ token: import_test_utils.mockToken1
87
+ });
88
+ });
89
+ (0, import_vitest.it)("returns null when targetToken is null", () => {
90
+ const result = (0, import_validate_open_account_pool_status.validateOpenAccountPoolStatus)({
91
+ debt: 50000n,
92
+ creditManager: mockCreditManager,
93
+ pool: mockPool,
94
+ targetToken: null
95
+ });
96
+ (0, import_vitest.expect)(result).toBeNull();
97
+ });
98
+ });
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var validate_open_account_exports = {};
20
+ __export(validate_open_account_exports, {
21
+ validateOpenAccount: () => validateOpenAccount
22
+ });
23
+ module.exports = __toCommonJS(validate_open_account_exports);
24
+ var import_validate_quota = require("./validate-quota.js");
25
+ function validateOpenAccount(props) {
26
+ const { debt, creditManager, loading } = props;
27
+ if (loading) {
28
+ return { message: "loading" };
29
+ }
30
+ if (debt < creditManager.minDebt) {
31
+ return { message: "amountLessMin", amount: creditManager.minDebt };
32
+ }
33
+ if (debt > creditManager.maxDebt) {
34
+ return { message: "debtGreaterMax", amount: creditManager.maxDebt };
35
+ }
36
+ return (0, import_validate_quota.validateQuota)(props);
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ validateOpenAccount
41
+ });
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_test_utils = require("../../test-utils/index.js");
4
+ var import_validate_open_account = require("./validate-open-account.js");
5
+ const mockCreditManager = (0, import_test_utils.buildCreditManager)({
6
+ minDebt: 1000n,
7
+ maxDebt: 1000000n,
8
+ underlyingToken: import_test_utils.mockUnderlyingToken
9
+ });
10
+ (0, import_vitest.describe)("validateOpenAccount", () => {
11
+ (0, import_vitest.it)("returns null when all conditions are met", () => {
12
+ const result = (0, import_validate_open_account.validateOpenAccount)({
13
+ debt: 50000n,
14
+ creditManager: mockCreditManager,
15
+ desiredQuota: {},
16
+ quotaUpdate: []
17
+ });
18
+ (0, import_vitest.expect)(result).toBeNull();
19
+ });
20
+ (0, import_vitest.it)("returns loading error when loading is true", () => {
21
+ const result = (0, import_validate_open_account.validateOpenAccount)({
22
+ debt: 50000n,
23
+ creditManager: mockCreditManager,
24
+ desiredQuota: {},
25
+ quotaUpdate: [],
26
+ loading: true
27
+ });
28
+ (0, import_vitest.expect)(result).toEqual({ message: "loading" });
29
+ });
30
+ (0, import_vitest.it)("returns error when debt is less than min", () => {
31
+ const result = (0, import_validate_open_account.validateOpenAccount)({
32
+ debt: 500n,
33
+ creditManager: mockCreditManager,
34
+ desiredQuota: {},
35
+ quotaUpdate: []
36
+ });
37
+ (0, import_vitest.expect)(result).toEqual({
38
+ message: "amountLessMin",
39
+ amount: 1000n
40
+ });
41
+ });
42
+ (0, import_vitest.it)("returns error when debt is greater than max", () => {
43
+ const result = (0, import_validate_open_account.validateOpenAccount)({
44
+ debt: 2000000n,
45
+ creditManager: mockCreditManager,
46
+ desiredQuota: {},
47
+ quotaUpdate: []
48
+ });
49
+ (0, import_vitest.expect)(result).toEqual({
50
+ message: "debtGreaterMax",
51
+ amount: 1000000n
52
+ });
53
+ });
54
+ });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var validate_quota_exports = {};
20
+ __export(validate_quota_exports, {
21
+ validateQuota: () => validateQuota
22
+ });
23
+ module.exports = __toCommonJS(validate_quota_exports);
24
+ function validateQuota(props) {
25
+ const desiredQuotasList = Object.values(props.desiredQuota).filter(
26
+ (a) => a.balance > 0n
27
+ );
28
+ if (desiredQuotasList.length > props.creditManager.maxEnabledTokensLength)
29
+ return {
30
+ message: "maxQuotasLengthReached",
31
+ count: desiredQuotasList.length,
32
+ max: props.creditManager.maxEnabledTokensLength
33
+ };
34
+ if (props.quotaUpdate.length === 0 && props.throwOnZeroQuotaUpdate)
35
+ return { message: "quotaShouldBeUpdated" };
36
+ for (const { token, balance: updateBy } of props.quotaUpdate) {
37
+ const quota = props.creditManager.quotas[token];
38
+ if (updateBy > 0 && quota) {
39
+ const realLimit = quota.isActive ? quota.limit : 0n;
40
+ const quotaLeft = realLimit - quota.totalQuoted;
41
+ if (quotaLeft < updateBy) return { message: "insufficientQuota", token };
42
+ }
43
+ }
44
+ return null;
45
+ }
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ validateQuota
49
+ });
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_test_utils = require("../../test-utils/index.js");
4
+ var import_validate_quota = require("./validate-quota.js");
5
+ const mockCreditManager = (0, import_test_utils.buildCreditManager)({
6
+ minDebt: 1000n,
7
+ maxDebt: 1000000n,
8
+ totalDebtLimit: 5000000n,
9
+ totalDebt: 2000000n,
10
+ availableToBorrow: 3000000n,
11
+ quotas: {
12
+ [import_test_utils.mockToken1]: (0, import_test_utils.buildQuota)({
13
+ token: import_test_utils.mockToken1,
14
+ limit: 1000000n,
15
+ totalQuoted: 500000n,
16
+ rate: 0n
17
+ }),
18
+ [import_test_utils.mockToken2]: (0, import_test_utils.buildQuota)({
19
+ token: import_test_utils.mockToken2,
20
+ limit: 2000000n,
21
+ totalQuoted: 1000000n,
22
+ rate: 0n
23
+ })
24
+ },
25
+ maxEnabledTokensLength: 2
26
+ });
27
+ (0, import_vitest.describe)("validateQuota", () => {
28
+ (0, import_vitest.it)("returns null when all conditions are met", () => {
29
+ const result = (0, import_validate_quota.validateQuota)({
30
+ desiredQuota: {},
31
+ quotaUpdate: [],
32
+ creditManager: mockCreditManager,
33
+ throwOnZeroQuotaUpdate: false
34
+ });
35
+ (0, import_vitest.expect)(result).toBeNull();
36
+ });
37
+ (0, import_vitest.it)("returns error when max quotas length is reached", () => {
38
+ const result = (0, import_validate_quota.validateQuota)({
39
+ desiredQuota: {
40
+ [import_test_utils.mockToken1]: { token: import_test_utils.mockToken1, balance: 1000n },
41
+ [import_test_utils.mockToken2]: { token: import_test_utils.mockToken2, balance: 1000n }
42
+ },
43
+ quotaUpdate: [],
44
+ creditManager: (0, import_test_utils.buildCreditManager)({
45
+ ...mockCreditManager,
46
+ maxEnabledTokensLength: 1
47
+ }),
48
+ throwOnZeroQuotaUpdate: false
49
+ });
50
+ (0, import_vitest.expect)(result).toEqual({
51
+ message: "maxQuotasLengthReached",
52
+ count: 2,
53
+ max: 1
54
+ });
55
+ });
56
+ (0, import_vitest.it)("returns error when quota update is empty and throwOnZeroQuotaUpdate is true", () => {
57
+ const result = (0, import_validate_quota.validateQuota)({
58
+ desiredQuota: {},
59
+ quotaUpdate: [],
60
+ creditManager: mockCreditManager,
61
+ throwOnZeroQuotaUpdate: true
62
+ });
63
+ (0, import_vitest.expect)(result).toEqual({
64
+ message: "quotaShouldBeUpdated"
65
+ });
66
+ });
67
+ (0, import_vitest.it)("returns error when quota is insufficient", () => {
68
+ const result = (0, import_validate_quota.validateQuota)({
69
+ desiredQuota: {},
70
+ quotaUpdate: [{ token: import_test_utils.mockToken1, balance: 600000n }],
71
+ creditManager: mockCreditManager,
72
+ throwOnZeroQuotaUpdate: false
73
+ });
74
+ (0, import_vitest.expect)(result).toEqual({
75
+ message: "insufficientQuota",
76
+ token: import_test_utils.mockToken1
77
+ });
78
+ });
79
+ });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var validate_token_to_obtain_exports = {};
20
+ __export(validate_token_to_obtain_exports, {
21
+ validateTokenToObtain: () => validateTokenToObtain
22
+ });
23
+ module.exports = __toCommonJS(validate_token_to_obtain_exports);
24
+ function validateTokenToObtain({
25
+ creditManager,
26
+ targetToken
27
+ }) {
28
+ if (Array.isArray(targetToken)) {
29
+ for (const asset of targetToken) {
30
+ if (creditManager.forbiddenTokens[asset.token])
31
+ return { message: "tokenIsForbidden", token: asset.token };
32
+ }
33
+ return null;
34
+ }
35
+ if (targetToken !== null && creditManager.forbiddenTokens[targetToken])
36
+ return { message: "tokenIsForbidden", token: targetToken };
37
+ return null;
38
+ }
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ validateTokenToObtain
42
+ });
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var import_vitest = require("vitest");
3
+ var import_test_utils = require("../../test-utils/index.js");
4
+ var import_validate_token_to_obtain = require("./validate-token-to-obtain.js");
5
+ const mockCreditManager = (0, import_test_utils.buildCreditManager)({
6
+ forbiddenTokens: {}
7
+ });
8
+ (0, import_vitest.describe)("validateTokenToObtain", () => {
9
+ (0, import_vitest.it)("returns null when targetToken is null", () => {
10
+ const result = (0, import_validate_token_to_obtain.validateTokenToObtain)({
11
+ targetToken: null,
12
+ creditManager: mockCreditManager
13
+ });
14
+ (0, import_vitest.expect)(result).toBeNull();
15
+ });
16
+ (0, import_vitest.it)("returns null when targetToken is not forbidden", () => {
17
+ const result = (0, import_validate_token_to_obtain.validateTokenToObtain)({
18
+ targetToken: import_test_utils.mockToken1,
19
+ creditManager: mockCreditManager
20
+ });
21
+ (0, import_vitest.expect)(result).toBeNull();
22
+ });
23
+ (0, import_vitest.it)("returns error when targetToken is forbidden", () => {
24
+ const result = (0, import_validate_token_to_obtain.validateTokenToObtain)({
25
+ targetToken: import_test_utils.mockToken1,
26
+ creditManager: (0, import_test_utils.buildCreditManager)({
27
+ ...mockCreditManager,
28
+ forbiddenTokens: {
29
+ [import_test_utils.mockToken1]: true
30
+ }
31
+ })
32
+ });
33
+ (0, import_vitest.expect)(result).toEqual({ message: "tokenIsForbidden", token: import_test_utils.mockToken1 });
34
+ });
35
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var validation_types_exports = {};
16
+ module.exports = __toCommonJS(validation_types_exports);
@@ -25,6 +25,7 @@ __export(math_exports, {
25
25
  MIN_INT96: () => MIN_INT96,
26
26
  PERCENTAGE_DECIMALS: () => PERCENTAGE_DECIMALS,
27
27
  PERCENTAGE_FACTOR: () => PERCENTAGE_FACTOR,
28
+ PERCENTAGE_FACTOR_1KK: () => PERCENTAGE_FACTOR_1KK,
28
29
  PRICE_DECIMALS: () => PRICE_DECIMALS,
29
30
  PRICE_DECIMALS_POW: () => PRICE_DECIMALS_POW,
30
31
  RAY: () => RAY,
@@ -52,6 +53,7 @@ const PRICE_DECIMALS = 10n ** BigInt(PRICE_DECIMALS_POW);
52
53
  const SECONDS_PER_YEAR = 365 * 24 * 3600;
53
54
  const PERCENTAGE_DECIMALS = 100n;
54
55
  const PERCENTAGE_FACTOR = 10000n;
56
+ const PERCENTAGE_FACTOR_1KK = PERCENTAGE_FACTOR * PERCENTAGE_DECIMALS;
55
57
  const LEVERAGE_DECIMALS = 100n;
56
58
  const SLIPPAGE_DECIMALS = 100n;
57
59
  // Annotate the CommonJS export names for ESM import in node:
@@ -63,6 +65,7 @@ const SLIPPAGE_DECIMALS = 100n;
63
65
  MIN_INT96,
64
66
  PERCENTAGE_DECIMALS,
65
67
  PERCENTAGE_FACTOR,
68
+ PERCENTAGE_FACTOR_1KK,
66
69
  PRICE_DECIMALS,
67
70
  PRICE_DECIMALS_POW,
68
71
  RAY,