@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,23 @@
1
+ import type { Address } from "viem";
2
+ import type { CreditManagerData, PoolData } from "../strategies/types/strategy-data.js";
3
+ import { type ValidateOpenAccountPoolQuotaStatusResult } from "./validate-open-account-pool-quota-status.js";
4
+ export interface ValidateOpenAccountPoolStatusProps {
5
+ creditManager: Pick<CreditManagerData, "minDebt" | "totalDebtLimit" | "totalDebt" | "availableToBorrow" | "quotas">;
6
+ pool: Pick<PoolData, "totalDebtLimit" | "totalBorrowed"> | undefined | null;
7
+ debt: bigint;
8
+ targetToken: Address | null;
9
+ }
10
+ export type ValidateOpenAccountPoolStatusResult = {
11
+ message: "insufficientDebtLimit";
12
+ amount: bigint;
13
+ solutionAmount?: bigint;
14
+ } | {
15
+ message: "insufficientPoolDebtLimit";
16
+ amount: bigint;
17
+ solutionAmount?: bigint;
18
+ } | {
19
+ message: "insufficientPoolLiquidity";
20
+ amount: bigint;
21
+ solutionAmount?: bigint;
22
+ } | ValidateOpenAccountPoolQuotaStatusResult;
23
+ export declare function validateOpenAccountPoolStatus(props: ValidateOpenAccountPoolStatusProps): ValidateOpenAccountPoolStatusResult | null;
@@ -0,0 +1,21 @@
1
+ import type { Address } from "viem";
2
+ import type { Asset } from "../../../sdk/router/types.js";
3
+ import type { CreditManagerData } from "../strategies/types/strategy-data.js";
4
+ import type { ValidateQuotaResult } from "./validate-quota.js";
5
+ export interface ValidateOpenAccountProps {
6
+ debt: bigint;
7
+ creditManager: Pick<CreditManagerData, "minDebt" | "maxDebt" | "underlyingToken" | "quotas" | "maxEnabledTokensLength">;
8
+ desiredQuota: Record<Address, Asset>;
9
+ quotaUpdate: Array<Asset>;
10
+ loading?: boolean;
11
+ }
12
+ export type ValidateOpenAccountResult = {
13
+ message: "loading";
14
+ } | {
15
+ message: "amountLessMin";
16
+ amount: bigint;
17
+ } | {
18
+ message: "debtGreaterMax";
19
+ amount: bigint;
20
+ } | ValidateQuotaResult;
21
+ export declare function validateOpenAccount(props: ValidateOpenAccountProps): ValidateOpenAccountResult | null;
@@ -0,0 +1,20 @@
1
+ import type { Address } from "viem";
2
+ import type { Asset } from "../../../sdk/router/types.js";
3
+ import type { CreditManagerData } from "../strategies/types/strategy-data.js";
4
+ export interface ValidateQuotaProps {
5
+ desiredQuota: Record<Address, Asset>;
6
+ quotaUpdate: Array<Asset>;
7
+ creditManager: Pick<CreditManagerData, "quotas" | "maxEnabledTokensLength">;
8
+ throwOnZeroQuotaUpdate?: boolean;
9
+ }
10
+ export type ValidateQuotaResult = {
11
+ message: "maxQuotasLengthReached";
12
+ count: number;
13
+ max: number;
14
+ } | {
15
+ message: "quotaShouldBeUpdated";
16
+ } | {
17
+ message: "insufficientQuota";
18
+ token: Address;
19
+ };
20
+ export declare function validateQuota(props: ValidateQuotaProps): ValidateQuotaResult | null;
@@ -0,0 +1,13 @@
1
+ import type { Address } from "viem";
2
+ import type { Asset } from "../../../sdk/router/types.js";
3
+ export interface ValidateTokenToObtainProps {
4
+ targetToken: Address | Array<Asset> | null;
5
+ creditManager: {
6
+ forbiddenTokens: Record<Address, boolean>;
7
+ };
8
+ }
9
+ export interface ValidateTokenToObtainResult {
10
+ message: "tokenIsForbidden";
11
+ token: Address;
12
+ }
13
+ export declare function validateTokenToObtain({ creditManager, targetToken, }: ValidateTokenToObtainProps): ValidateTokenToObtainResult | null;
@@ -0,0 +1,14 @@
1
+ type AllKeys<T> = T extends unknown ? keyof T : never;
2
+ type IsKeyInAll<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? true : false : never;
3
+ type IsKeyRequired<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? object extends Pick<T, K> ? false : true : false : never;
4
+ type RequiredKeys<T, K = AllKeys<T>> = K extends PropertyKey ? true extends IsKeyInAll<T, K> ? true extends IsKeyRequired<T, K> ? false extends IsKeyRequired<T, K> ? never : K : never : never : never;
5
+ type OptionalKeys<T, K = AllKeys<T>> = K extends PropertyKey ? K extends RequiredKeys<T> ? never : K : never;
6
+ type ValueForKey<T, K extends PropertyKey> = T extends {
7
+ [P in K]?: infer V;
8
+ } ? V : never;
9
+ export type FlattenUnion<T> = {
10
+ [K in RequiredKeys<T>]: ValueForKey<T, K>;
11
+ } & {
12
+ [K in OptionalKeys<T>]?: ValueForKey<T, K>;
13
+ };
14
+ export {};
@@ -30,8 +30,8 @@ export interface ProviderStatus {
30
30
  type OnRequestFn = (providerName: string, ...args: Parameters<Required<HttpRpcClientOptions>["onRequest"]>) => ReturnType<Required<HttpRpcClientOptions>["onRequest"]>;
31
31
  type OnResponseFn = (providerName: string, ...args: Parameters<Required<HttpRpcClientOptions>["onResponse"]>) => ReturnType<Required<HttpRpcClientOptions>["onResponse"]>;
32
32
  export declare const SelectionStrategy: z.ZodEnum<{
33
- simple: "simple";
34
33
  ordered: "ordered";
34
+ simple: "simple";
35
35
  }>;
36
36
  /**
37
37
  * How to select the next transport
@@ -44,8 +44,8 @@ export type SelectionStrategy = z.infer<typeof SelectionStrategy>;
44
44
  */
45
45
  export declare const revolverTransportConfigBaseSchema: z.ZodObject<{
46
46
  selectionStrategy: z.ZodOptional<z.ZodEnum<{
47
- simple: "simple";
48
47
  ordered: "ordered";
48
+ simple: "simple";
49
49
  }>>;
50
50
  key: z.ZodOptional<z.ZodString>;
51
51
  name: z.ZodOptional<z.ZodString>;
@@ -68,8 +68,8 @@ export declare const revolverTransportConfigBaseSchema: z.ZodObject<{
68
68
  }, z.core.$strip>;
69
69
  export declare const revolverTransportConfigSchema: z.ZodUnion<readonly [z.ZodObject<{
70
70
  selectionStrategy: z.ZodOptional<z.ZodEnum<{
71
- simple: "simple";
72
71
  ordered: "ordered";
72
+ simple: "simple";
73
73
  }>>;
74
74
  key: z.ZodOptional<z.ZodString>;
75
75
  name: z.ZodOptional<z.ZodString>;
@@ -111,8 +111,8 @@ export declare const revolverTransportConfigSchema: z.ZodUnion<readonly [z.ZodOb
111
111
  }, z.core.$strip>>;
112
112
  }, z.core.$strip>, z.ZodObject<{
113
113
  selectionStrategy: z.ZodOptional<z.ZodEnum<{
114
- simple: "simple";
115
114
  ordered: "ordered";
115
+ simple: "simple";
116
116
  }>>;
117
117
  key: z.ZodOptional<z.ZodString>;
118
118
  name: z.ZodOptional<z.ZodString>;
@@ -12,5 +12,6 @@ export declare const PRICE_DECIMALS: bigint;
12
12
  export declare const SECONDS_PER_YEAR: number;
13
13
  export declare const PERCENTAGE_DECIMALS = 100n;
14
14
  export declare const PERCENTAGE_FACTOR = 10000n;
15
+ export declare const PERCENTAGE_FACTOR_1KK: bigint;
15
16
  export declare const LEVERAGE_DECIMALS = 100n;
16
17
  export declare const SLIPPAGE_DECIMALS = 100n;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "14.10.1",
3
+ "version": "14.10.2-next.1",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,95 +0,0 @@
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 test_utils_exports = {};
20
- __export(test_utils_exports, {
21
- buildCreditManager: () => buildCreditManager,
22
- buildPool: () => buildPool,
23
- buildQuota: () => buildQuota,
24
- mockToken1: () => mockToken1,
25
- mockToken2: () => mockToken2,
26
- mockTokenData: () => mockTokenData,
27
- mockUnderlyingToken: () => mockUnderlyingToken
28
- });
29
- module.exports = __toCommonJS(test_utils_exports);
30
- const mockToken1 = "0x1111111111111111111111111111111111111111";
31
- const mockToken2 = "0x2222222222222222222222222222222222222222";
32
- const mockUnderlyingToken = "0x9999999999999999999999999999999999999999";
33
- const mockTokenData = {
34
- [mockToken1]: { address: mockToken1, decimals: 18, title: "T1" },
35
- [mockToken2]: { address: mockToken2, decimals: 18, title: "T2" },
36
- [mockUnderlyingToken]: {
37
- address: mockUnderlyingToken,
38
- decimals: 18,
39
- title: "UNDER"
40
- }
41
- };
42
- function buildQuota(overrides) {
43
- return {
44
- rate: 0n,
45
- quotaIncreaseFee: 0n,
46
- totalQuoted: 0n,
47
- limit: 0n,
48
- isActive: true,
49
- ...overrides
50
- };
51
- }
52
- function buildPool(overrides = {}) {
53
- const address = overrides.address ?? "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
54
- return {
55
- address,
56
- totalDebtLimit: 0n,
57
- totalBorrowed: 0n,
58
- ...overrides
59
- };
60
- }
61
- function buildCreditManager(overrides = {}) {
62
- const address = overrides.address ?? "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
63
- const pool = overrides.pool ?? "0xcccccccccccccccccccccccccccccccccccccccc";
64
- const underlyingToken = overrides.underlyingToken ?? mockUnderlyingToken;
65
- const quotas = overrides.quotas ?? {};
66
- return {
67
- address,
68
- underlyingToken,
69
- pool,
70
- chainId: 1,
71
- baseBorrowRate: 0,
72
- feeInterest: 0,
73
- availableToBorrow: 0n,
74
- minDebt: 0n,
75
- maxDebt: 0n,
76
- totalDebt: 0n,
77
- totalDebtLimit: 0n,
78
- isDegenMode: false,
79
- degenNFT: "0x0000000000000000000000000000000000000000",
80
- liquidationThresholds: {},
81
- quotas,
82
- collateralTokens: [],
83
- ...overrides
84
- };
85
- }
86
- // Annotate the CommonJS export names for ESM import in node:
87
- 0 && (module.exports = {
88
- buildCreditManager,
89
- buildPool,
90
- buildQuota,
91
- mockToken1,
92
- mockToken2,
93
- mockTokenData,
94
- mockUnderlyingToken
95
- });
@@ -1,65 +0,0 @@
1
- const mockToken1 = "0x1111111111111111111111111111111111111111";
2
- const mockToken2 = "0x2222222222222222222222222222222222222222";
3
- const mockUnderlyingToken = "0x9999999999999999999999999999999999999999";
4
- const mockTokenData = {
5
- [mockToken1]: { address: mockToken1, decimals: 18, title: "T1" },
6
- [mockToken2]: { address: mockToken2, decimals: 18, title: "T2" },
7
- [mockUnderlyingToken]: {
8
- address: mockUnderlyingToken,
9
- decimals: 18,
10
- title: "UNDER"
11
- }
12
- };
13
- function buildQuota(overrides) {
14
- return {
15
- rate: 0n,
16
- quotaIncreaseFee: 0n,
17
- totalQuoted: 0n,
18
- limit: 0n,
19
- isActive: true,
20
- ...overrides
21
- };
22
- }
23
- function buildPool(overrides = {}) {
24
- const address = overrides.address ?? "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
25
- return {
26
- address,
27
- totalDebtLimit: 0n,
28
- totalBorrowed: 0n,
29
- ...overrides
30
- };
31
- }
32
- function buildCreditManager(overrides = {}) {
33
- const address = overrides.address ?? "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";
34
- const pool = overrides.pool ?? "0xcccccccccccccccccccccccccccccccccccccccc";
35
- const underlyingToken = overrides.underlyingToken ?? mockUnderlyingToken;
36
- const quotas = overrides.quotas ?? {};
37
- return {
38
- address,
39
- underlyingToken,
40
- pool,
41
- chainId: 1,
42
- baseBorrowRate: 0,
43
- feeInterest: 0,
44
- availableToBorrow: 0n,
45
- minDebt: 0n,
46
- maxDebt: 0n,
47
- totalDebt: 0n,
48
- totalDebtLimit: 0n,
49
- isDegenMode: false,
50
- degenNFT: "0x0000000000000000000000000000000000000000",
51
- liquidationThresholds: {},
52
- quotas,
53
- collateralTokens: [],
54
- ...overrides
55
- };
56
- }
57
- export {
58
- buildCreditManager,
59
- buildPool,
60
- buildQuota,
61
- mockToken1,
62
- mockToken2,
63
- mockTokenData,
64
- mockUnderlyingToken
65
- };
@@ -1,11 +0,0 @@
1
- import type { Address } from "viem";
2
- import type { CreditManagerSlice, PoolSlice, QuotaSlice, TokenSlice } from "./strategy-info/types.js";
3
- export declare const mockToken1: Address;
4
- export declare const mockToken2: Address;
5
- export declare const mockUnderlyingToken: Address;
6
- export declare const mockTokenData: Record<Address, TokenSlice>;
7
- export declare function buildQuota(overrides: Partial<QuotaSlice> & {
8
- token: Address;
9
- }): QuotaSlice;
10
- export declare function buildPool(overrides?: Partial<PoolSlice>): PoolSlice;
11
- export declare function buildCreditManager(overrides?: Partial<CreditManagerSlice>): CreditManagerSlice;