@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.
- package/dist/cjs/common-utils/test-utils/index.js +139 -0
- package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +59 -0
- package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +32 -0
- package/dist/cjs/common-utils/utils/apy/calculate-earnings.js +59 -0
- package/dist/cjs/common-utils/utils/apy/calculate-earnings.spec.js +62 -0
- package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.js +55 -0
- package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +39 -0
- package/dist/cjs/common-utils/utils/apy/get-safe-base-borrow-rate.js +38 -0
- package/dist/cjs/common-utils/utils/constants.js +34 -0
- package/dist/cjs/common-utils/utils/strategies/assets/assets.js +30 -0
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +62 -0
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +109 -0
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +75 -0
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +93 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +63 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +330 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +34 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +30 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.js +85 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +227 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +33 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +23 -0
- package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage.js +2 -2
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +112 -0
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +183 -0
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.js +74 -0
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +131 -0
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +410 -0
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +274 -0
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +108 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.js +41 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +38 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +35 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +42 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +32 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/get-native-token-address.js +31 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +36 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.js +59 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +135 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.js +42 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +162 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +51 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.js +33 -0
- package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +13 -0
- package/dist/cjs/common-utils/utils/strategies/types/strategy-data.js +16 -0
- package/dist/cjs/common-utils/utils/strategies/types/strategy-earnings.js +16 -0
- package/dist/cjs/common-utils/utils/validation/is-zero-balance.js +30 -0
- package/dist/cjs/common-utils/utils/validation/validate-balance.js +47 -0
- package/dist/cjs/common-utils/utils/validation/validate-balance.spec.js +52 -0
- package/dist/cjs/common-utils/utils/validation/validate-balances.js +44 -0
- package/dist/cjs/common-utils/utils/validation/validate-balances.spec.js +37 -0
- package/dist/cjs/common-utils/utils/validation/validate-credit-manager.js +34 -0
- package/dist/cjs/common-utils/utils/validation/validate-credit-manager.spec.js +36 -0
- package/dist/cjs/common-utils/utils/validation/validate-hf.js +38 -0
- package/dist/cjs/common-utils/utils/validation/validate-hf.spec.js +24 -0
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.js +37 -0
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +43 -0
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.js +76 -0
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.spec.js +98 -0
- package/dist/cjs/common-utils/utils/validation/validate-open-account.js +41 -0
- package/dist/cjs/common-utils/utils/validation/validate-open-account.spec.js +54 -0
- package/dist/cjs/common-utils/utils/validation/validate-quota.js +49 -0
- package/dist/cjs/common-utils/utils/validation/validate-quota.spec.js +79 -0
- package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.js +42 -0
- package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.spec.js +35 -0
- package/dist/cjs/common-utils/utils/validation/validation-types.js +16 -0
- package/dist/cjs/sdk/constants/math.js +3 -0
- package/dist/esm/common-utils/test-utils/index.js +104 -0
- package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +35 -0
- package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +31 -0
- package/dist/esm/common-utils/utils/apy/calculate-earnings.js +35 -0
- package/dist/esm/common-utils/utils/apy/calculate-earnings.spec.js +65 -0
- package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +34 -0
- package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +38 -0
- package/dist/esm/common-utils/utils/apy/get-safe-base-borrow-rate.js +16 -0
- package/dist/esm/common-utils/utils/constants.js +8 -0
- package/dist/esm/common-utils/utils/strategies/assets/assets.js +6 -0
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +38 -0
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +115 -0
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +51 -0
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +96 -0
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +42 -0
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +332 -0
- package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +10 -0
- package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +29 -0
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.js +61 -0
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +226 -0
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +9 -0
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +22 -0
- package/dist/esm/common-utils/utils/strategies/leverage/max-leverage.js +2 -2
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +88 -0
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +187 -0
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +54 -0
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +139 -0
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +389 -0
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +278 -0
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +84 -0
- package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.js +17 -0
- package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +41 -0
- package/dist/esm/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +11 -0
- package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +18 -0
- package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +36 -0
- package/dist/esm/common-utils/utils/strategies/tokens/get-native-token-address.js +7 -0
- package/dist/esm/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +11 -0
- package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.js +35 -0
- package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +137 -0
- package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.js +18 -0
- package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +161 -0
- package/dist/esm/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +27 -0
- package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.js +9 -0
- package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +12 -0
- package/dist/esm/common-utils/utils/strategies/types/strategy-data.js +0 -0
- package/dist/esm/common-utils/utils/strategies/types/strategy-earnings.js +0 -0
- package/dist/esm/common-utils/utils/validation/is-zero-balance.js +6 -0
- package/dist/esm/common-utils/utils/validation/validate-balance.js +23 -0
- package/dist/esm/common-utils/utils/validation/validate-balance.spec.js +51 -0
- package/dist/esm/common-utils/utils/validation/validate-balances.js +20 -0
- package/dist/esm/common-utils/utils/validation/validate-balances.spec.js +36 -0
- package/dist/esm/common-utils/utils/validation/validate-credit-manager.js +10 -0
- package/dist/esm/common-utils/utils/validation/validate-credit-manager.spec.js +35 -0
- package/dist/esm/common-utils/utils/validation/validate-hf.js +13 -0
- package/dist/esm/common-utils/utils/validation/validate-hf.spec.js +23 -0
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.js +13 -0
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +46 -0
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +54 -0
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.spec.js +102 -0
- package/dist/esm/common-utils/utils/validation/validate-open-account.js +17 -0
- package/dist/esm/common-utils/utils/validation/validate-open-account.spec.js +56 -0
- package/dist/esm/common-utils/utils/validation/validate-quota.js +25 -0
- package/dist/esm/common-utils/utils/validation/validate-quota.spec.js +83 -0
- package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.js +18 -0
- package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.spec.js +34 -0
- package/dist/esm/common-utils/utils/validation/validation-types.js +0 -0
- package/dist/esm/sdk/constants/math.js +2 -0
- package/dist/types/common-utils/test-utils/index.d.ts +16 -0
- package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.d.ts +2 -0
- package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/apy/calculate-earnings.d.ts +16 -0
- package/dist/types/common-utils/utils/apy/calculate-earnings.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.d.ts +11 -0
- package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/apy/get-safe-base-borrow-rate.d.ts +4 -0
- package/dist/types/common-utils/utils/constants.d.ts +4 -0
- package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +3 -0
- package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.d.ts +20 -0
- package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +13 -0
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.d.ts +11 -0
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.d.ts +2 -0
- package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.d.ts +21 -0
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.d.ts +4 -0
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +28 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +22 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.d.ts +19 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.d.ts +29 -0
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +6 -0
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.d.ts +6 -0
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +12 -0
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/tokens/get-native-token-address.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/tokens/is-apy-with-points-exception.d.ts +3 -0
- package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.d.ts +16 -0
- package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.d.ts +14 -0
- package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.d.ts +20 -0
- package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.d.ts +2 -0
- package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/strategies/types/index.d.ts +2 -1
- package/dist/types/common-utils/utils/strategies/types/strategy-data.d.ts +64 -0
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +43 -0
- package/dist/types/common-utils/utils/validation/is-zero-balance.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-balance.d.ts +22 -0
- package/dist/types/common-utils/utils/validation/validate-balance.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-balances.d.ts +9 -0
- package/dist/types/common-utils/utils/validation/validate-balances.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-credit-manager.d.ts +10 -0
- package/dist/types/common-utils/utils/validation/validate-credit-manager.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-hf.d.ts +9 -0
- package/dist/types/common-utils/utils/validation/validate-hf.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.d.ts +7 -0
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.d.ts +23 -0
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +21 -0
- package/dist/types/common-utils/utils/validation/validate-open-account.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +20 -0
- package/dist/types/common-utils/utils/validation/validate-quota.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +13 -0
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.spec.d.ts +1 -0
- package/dist/types/common-utils/utils/validation/validation-types.d.ts +14 -0
- package/dist/types/dev/RevolverTransport.d.ts +4 -4
- package/dist/types/sdk/constants/math.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/common-utils/utils/strategies/__test-utils.js +0 -95
- package/dist/esm/common-utils/utils/strategies/__test-utils.js +0 -65
- 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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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;
|