@gearbox-protocol/sdk 14.6.0-next.2 → 14.6.0-next.3

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 (93) hide show
  1. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +48 -0
  2. package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +51 -0
  3. package/dist/cjs/common-utils/utils/strategies/credit-managers/index.js +26 -0
  4. package/dist/cjs/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +31 -0
  5. package/dist/cjs/common-utils/utils/strategies/eligibility/index.js +24 -0
  6. package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +46 -0
  7. package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-released.js +31 -0
  8. package/dist/cjs/common-utils/utils/strategies/index.js +13 -1
  9. package/dist/cjs/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +39 -0
  10. package/dist/cjs/common-utils/utils/strategies/lists/get-available-strategies.js +47 -0
  11. package/dist/cjs/common-utils/utils/strategies/lists/get-disabled-strategies.js +48 -0
  12. package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list.js +60 -0
  13. package/dist/cjs/common-utils/utils/strategies/lists/index.js +24 -0
  14. package/dist/cjs/common-utils/utils/strategies/strategy-state/index.js +22 -0
  15. package/dist/cjs/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +36 -0
  16. package/dist/cjs/common-utils/utils/strategies/tokens/index.js +26 -0
  17. package/dist/cjs/common-utils/utils/strategies/tokens/is-activated-token.js +36 -0
  18. package/dist/cjs/common-utils/utils/strategies/tokens/is-forbidden-token.js +33 -0
  19. package/dist/cjs/common-utils/utils/strategies/tokens/is-usable-token.js +32 -0
  20. package/dist/cjs/common-utils/utils/strategies/types/chains.js +16 -0
  21. package/dist/cjs/common-utils/utils/strategies/types/constants.js +28 -0
  22. package/dist/cjs/common-utils/utils/strategies/types/credit-manager-data-legacy.js +16 -0
  23. package/dist/cjs/common-utils/utils/strategies/types/curator-filter.js +16 -0
  24. package/dist/cjs/common-utils/utils/strategies/types/index.js +36 -0
  25. package/dist/cjs/common-utils/utils/strategies/types/sdk-state.js +16 -0
  26. package/dist/cjs/common-utils/utils/strategies/types/strategies-cm-list.js +16 -0
  27. package/dist/cjs/common-utils/utils/strategies/types/strategy.js +16 -0
  28. package/dist/cjs/common-utils/utils/strategies/types/targetable.js +16 -0
  29. package/dist/cjs/common-utils/utils/strategies/types.js +22 -0
  30. package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +24 -0
  31. package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +27 -0
  32. package/dist/esm/common-utils/utils/strategies/credit-managers/index.js +3 -0
  33. package/dist/esm/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +7 -0
  34. package/dist/esm/common-utils/utils/strategies/eligibility/index.js +2 -0
  35. package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +22 -0
  36. package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-released.js +7 -0
  37. package/dist/esm/common-utils/utils/strategies/index.js +6 -0
  38. package/dist/esm/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +15 -0
  39. package/dist/esm/common-utils/utils/strategies/lists/get-available-strategies.js +23 -0
  40. package/dist/esm/common-utils/utils/strategies/lists/get-disabled-strategies.js +24 -0
  41. package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list.js +36 -0
  42. package/dist/esm/common-utils/utils/strategies/lists/index.js +2 -0
  43. package/dist/esm/common-utils/utils/strategies/strategy-state/index.js +1 -0
  44. package/dist/esm/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +12 -0
  45. package/dist/esm/common-utils/utils/strategies/tokens/index.js +3 -0
  46. package/dist/esm/common-utils/utils/strategies/tokens/is-activated-token.js +12 -0
  47. package/dist/esm/common-utils/utils/strategies/tokens/is-forbidden-token.js +9 -0
  48. package/dist/esm/common-utils/utils/strategies/tokens/is-usable-token.js +8 -0
  49. package/dist/esm/common-utils/utils/strategies/types/chains.js +0 -0
  50. package/dist/esm/common-utils/utils/strategies/types/constants.js +4 -0
  51. package/dist/esm/common-utils/utils/strategies/types/credit-manager-data-legacy.js +0 -0
  52. package/dist/esm/common-utils/utils/strategies/types/curator-filter.js +0 -0
  53. package/dist/esm/common-utils/utils/strategies/types/index.js +8 -0
  54. package/dist/esm/common-utils/utils/strategies/types/sdk-state.js +0 -0
  55. package/dist/esm/common-utils/utils/strategies/types/strategies-cm-list.js +0 -0
  56. package/dist/esm/common-utils/utils/strategies/types/strategy.js +0 -0
  57. package/dist/esm/common-utils/utils/strategies/types/targetable.js +0 -0
  58. package/dist/esm/common-utils/utils/strategies/types.js +1 -0
  59. package/dist/types/common-utils/utils/strategies/availability/check-degen-nft.d.ts +1 -1
  60. package/dist/types/common-utils/utils/strategies/availability/validate-open-account-pool-quota-status.d.ts +1 -1
  61. package/dist/types/common-utils/utils/strategies/availability/validate-open-account-pool-status.d.ts +1 -1
  62. package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.d.ts +2 -0
  63. package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.d.ts +8 -0
  64. package/dist/types/common-utils/utils/strategies/credit-managers/index.d.ts +3 -0
  65. package/dist/types/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.d.ts +2 -0
  66. package/dist/types/common-utils/utils/strategies/eligibility/index.d.ts +2 -0
  67. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +8 -0
  68. package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-released.d.ts +1 -0
  69. package/dist/types/common-utils/utils/strategies/index.d.ts +6 -0
  70. package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +7 -0
  71. package/dist/types/common-utils/utils/strategies/lists/get-available-strategies.d.ts +5 -0
  72. package/dist/types/common-utils/utils/strategies/lists/get-disabled-strategies.d.ts +5 -0
  73. package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list.d.ts +2 -0
  74. package/dist/types/common-utils/utils/strategies/lists/index.d.ts +2 -0
  75. package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.d.ts +3 -1
  76. package/dist/types/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.d.ts +1 -1
  77. package/dist/types/common-utils/utils/strategies/strategy-state/index.d.ts +1 -0
  78. package/dist/types/common-utils/utils/strategies/strategy-state/is-strategy-disabled.d.ts +3 -0
  79. package/dist/types/common-utils/utils/strategies/tokens/index.d.ts +3 -0
  80. package/dist/types/common-utils/utils/strategies/tokens/is-activated-token.d.ts +6 -0
  81. package/dist/types/common-utils/utils/strategies/tokens/is-forbidden-token.d.ts +6 -0
  82. package/dist/types/common-utils/utils/strategies/tokens/is-usable-token.d.ts +2 -0
  83. package/dist/types/common-utils/utils/strategies/types/chains.d.ts +2 -0
  84. package/dist/types/common-utils/utils/strategies/types/constants.d.ts +2 -0
  85. package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +35 -0
  86. package/dist/types/common-utils/utils/strategies/types/curator-filter.d.ts +2 -0
  87. package/dist/types/common-utils/utils/strategies/types/index.d.ts +9 -0
  88. package/dist/types/common-utils/utils/strategies/types/sdk-state.d.ts +13 -0
  89. package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +5 -0
  90. package/dist/types/common-utils/utils/strategies/types/strategy.d.ts +16 -0
  91. package/dist/types/common-utils/utils/strategies/types/targetable.d.ts +6 -0
  92. package/dist/types/common-utils/utils/strategies/types.d.ts +1 -0
  93. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ export * from "./get-strategy-credit-managers.js";
2
+ export * from "./get-strategy-credit-managers-list.js";
3
+ export * from "./is-credit-manager-usable.js";
@@ -0,0 +1,2 @@
1
+ import type { CreditManagerData_Legacy } from "../types.js";
2
+ export declare function isCreditManagerUsable(cm: Pick<CreditManagerData_Legacy, "isBorrowingForbidden" | "version">): boolean;
@@ -0,0 +1,2 @@
1
+ export * from "./is-strategy-eligible.js";
2
+ export * from "./is-strategy-released.js";
@@ -0,0 +1,8 @@
1
+ import type { AppChains, CuratorFilter, GearboxSDKFullState, NotValidatedStrategy } from "../types.js";
2
+ export declare function isStrategyEligible(s: Pick<NotValidatedStrategy, "chainId" | "network" | "hideInProd" | "tokenOutAddress" | "showInMainApp">, allowedChains: AppChains, showHiddenStrategies: boolean, sdkStateByChain: Record<number, Pick<GearboxSDKFullState, "tokens"> | undefined> | undefined, curatorFilter: CuratorFilter): {
3
+ readonly isEligible: true;
4
+ readonly network: "Mainnet" | "Arbitrum" | "Optimism" | "Base" | "Sonic" | "MegaETH" | "Monad" | "Berachain" | "Avalanche" | "BNB" | "WorldChain" | "Etherlink" | "Hemi" | "Lisk" | "Plasma" | "Somnia";
5
+ } | {
6
+ readonly isEligible: false;
7
+ readonly network: undefined;
8
+ };
@@ -0,0 +1 @@
1
+ export declare function isStrategyReleased(releaseAt: undefined | number, currentTimestamp: number): boolean;
@@ -1,4 +1,10 @@
1
1
  export * from "./availability/index.js";
2
+ export * from "./credit-managers/index.js";
3
+ export * from "./eligibility/index.js";
2
4
  export * from "./leverage/index.js";
5
+ export * from "./lists/index.js";
3
6
  export * from "./sort-strategy-cms-by-availability/index.js";
4
7
  export * from "./strategy-info/index.js";
8
+ export * from "./strategy-state/index.js";
9
+ export * from "./tokens/index.js";
10
+ export * from "./types.js";
@@ -0,0 +1,7 @@
1
+ import type { CuratorFilter, StrategiesCMListByChain, Strategy } from "../types.js";
2
+ export declare function getAvailableAndDisabledStrategies(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain | undefined, curatorFilter: CuratorFilter | undefined): {
3
+ available: Error | import("../types.js").StrategyRecord | null;
4
+ disabled: import("../types.js").StrategyRecord;
5
+ availableList: Error | Strategy[] | null;
6
+ disabledList: Strategy[];
7
+ };
@@ -0,0 +1,5 @@
1
+ import type { StrategiesCMListByChain, Strategy, StrategyRecord } from "../types.js";
2
+ export declare function getAvailableStrategies(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain | undefined): {
3
+ record: StrategyRecord | null | Error;
4
+ list: Array<Strategy> | null | Error;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { CuratorFilter, StrategiesCMListByChain, Strategy, StrategyRecord } from "../types.js";
2
+ export declare function getDisabledStrategies(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain | undefined, curatorFilter: CuratorFilter | undefined): {
3
+ record: StrategyRecord;
4
+ list: Array<Strategy>;
5
+ };
@@ -0,0 +1,2 @@
1
+ import type { AppChains, CuratorFilter, GearboxSDKFullStateByChain, NotValidatedStrategy, Strategy } from "../types.js";
2
+ export declare function getReleasedStrategiesList(strategyPayloadsList: NotValidatedStrategy[] | undefined, allowedChains: AppChains | undefined, sdkStateByChain: GearboxSDKFullStateByChain | undefined, curatorFilter: CuratorFilter, showHiddenStrategies: boolean): Strategy[] | undefined;
@@ -0,0 +1,2 @@
1
+ export * from "./get-available-and-disabled-strategies.js";
2
+ export * from "./get-released-strategies-list.js";
@@ -1,6 +1,7 @@
1
1
  import type { Address } from "viem";
2
2
  import type { APYListSlice, CreditManagerSlice } from "./types.js";
3
- export declare function getStrategyMaxAPY(targetToken: Address, cm: CreditManagerSlice | undefined, apyListByNetwork: Record<number, APYListSlice | undefined> | undefined, slippage: number, quotaReserve: number, leverageLimit: number | undefined): {
3
+ type CMForStrategyMaxAPY = Pick<CreditManagerSlice, "chainId" | "pool" | "underlyingToken" | "baseBorrowRate" | "liquidationThresholds" | "feeInterest" | "quotas" | "address">;
4
+ export declare function getStrategyMaxAPY(targetToken: Address, cm: CMForStrategyMaxAPY | undefined, apyListByNetwork: Record<number, APYListSlice | undefined> | undefined, slippage: number, quotaReserve: number, leverageLimit: number | undefined): {
4
5
  totalMaxApy: number;
5
6
  bonusAPY: {
6
7
  value: number;
@@ -11,3 +12,4 @@ export declare function getStrategyMaxAPY(targetToken: Address, cm: CreditManage
11
12
  baseBorrowRate: number;
12
13
  totalBorrowRate: number;
13
14
  } | undefined;
15
+ export {};
@@ -1,2 +1,2 @@
1
1
  import type { CreditManagerSlice, QuotaSlice } from "./types.js";
2
- export declare function isStrategyCMDisabled(cm: CreditManagerSlice, quota: QuotaSlice | undefined): boolean;
2
+ export declare function isStrategyCMDisabled(cm: Pick<CreditManagerSlice, "availableToBorrow" | "minDebt">, quota: Pick<QuotaSlice, "isActive" | "limit" | "totalQuoted"> | undefined): boolean;
@@ -0,0 +1 @@
1
+ export * from "./is-strategy-disabled.js";
@@ -0,0 +1,3 @@
1
+ import type { Address } from "viem";
2
+ import type { CreditManagerData_Legacy } from "../types.js";
3
+ export declare function isStrategyDisabled(tokenOutAddress: Address, cms: Array<Pick<CreditManagerData_Legacy, "quotas" | "availableToBorrow" | "minDebt">>): boolean;
@@ -0,0 +1,3 @@
1
+ export * from "./is-activated-token.js";
2
+ export * from "./is-forbidden-token.js";
3
+ export * from "./is-usable-token.js";
@@ -0,0 +1,6 @@
1
+ import type { Address } from "viem";
2
+ import type { CreditManagerData_Legacy } from "../types.js";
3
+ export declare function isActivatedToken({ address, creditManager, }: {
4
+ address: Address;
5
+ creditManager: Pick<CreditManagerData_Legacy, "liquidationThresholds" | "quotas" | "supportedTokens">;
6
+ }): boolean;
@@ -0,0 +1,6 @@
1
+ import type { Address } from "viem";
2
+ import type { CreditManagerData_Legacy } from "../types.js";
3
+ export declare function isForbiddenToken({ address, creditManager, }: {
4
+ address: Address;
5
+ creditManager: Pick<CreditManagerData_Legacy, "forbiddenTokens">;
6
+ }): boolean;
@@ -0,0 +1,2 @@
1
+ import type { IsTargetableProps } from "../types.js";
2
+ export declare function isUsableToken({ address, creditManager }: IsTargetableProps): boolean;
@@ -0,0 +1,2 @@
1
+ import type { NetworkType } from "../../../../sdk/index.js";
2
+ export type AppChains = Record<number, NetworkType>;
@@ -0,0 +1,2 @@
1
+ import type { Address } from "viem";
2
+ export declare const EMPTY_ADDRESS: Address;
@@ -0,0 +1,35 @@
1
+ import type { Address } from "viem";
2
+ import type { NetworkType } from "../../../../sdk/index.js";
3
+ import type { CreditManagerSlice, QuotaSlice } from "../strategy-info/types.js";
4
+ interface AdapterContract {
5
+ address: Address;
6
+ contractType: string;
7
+ version: number;
8
+ name: string;
9
+ targetContract: Address;
10
+ }
11
+ export type CreditManagerData_Legacy = CreditManagerSlice & {
12
+ readonly network: NetworkType;
13
+ readonly creditFacade: Address;
14
+ readonly creditConfigurator: Address;
15
+ readonly version: number;
16
+ readonly isPaused: boolean;
17
+ readonly forbiddenTokenMask: bigint;
18
+ readonly isBorrowingForbidden: boolean;
19
+ readonly maxEnabledTokensLength: number;
20
+ readonly name: string;
21
+ readonly marketConfigurator: Address;
22
+ readonly feeLiquidation: number;
23
+ readonly liquidationDiscount: number;
24
+ readonly feeLiquidationExpired: number;
25
+ readonly liquidationDiscountExpired: number;
26
+ readonly supportedTokens: Record<Address, true>;
27
+ readonly usableTokens: Record<Address, true>;
28
+ readonly forbiddenTokens: Record<Address, true>;
29
+ readonly adapters: Record<Address, AdapterContract>;
30
+ readonly contractsByAdapter: Record<Address, Address>;
31
+ readonly quotas: Record<Address, QuotaSlice>;
32
+ isQuoted(token: Address): boolean;
33
+ isForbidden(token: Address): boolean;
34
+ };
35
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { Address } from "viem";
2
+ export type CuratorFilter = Record<Address, unknown> | undefined;
@@ -0,0 +1,9 @@
1
+ export type { QuotaSlice as QuotaInfo } from "../strategy-info/types.js";
2
+ export * from "./chains.js";
3
+ export * from "./constants.js";
4
+ export * from "./credit-manager-data-legacy.js";
5
+ export * from "./curator-filter.js";
6
+ export * from "./sdk-state.js";
7
+ export * from "./strategies-cm-list.js";
8
+ export * from "./strategy.js";
9
+ export * from "./targetable.js";
@@ -0,0 +1,13 @@
1
+ import type { Address } from "viem";
2
+ import type { TokenSlice } from "../strategy-info/types.js";
3
+ import type { CreditManagerData_Legacy } from "./credit-manager-data-legacy.js";
4
+ export interface GearboxSDKFullState {
5
+ lastSyncBlock?: {
6
+ blockTimestamp_js: number;
7
+ };
8
+ tokens?: {
9
+ tokenDataList?: Record<Address, TokenSlice>;
10
+ };
11
+ creditManagers?: Record<Address, CreditManagerData_Legacy>;
12
+ }
13
+ export type GearboxSDKFullStateByChain = Record<number, GearboxSDKFullState | undefined>;
@@ -0,0 +1,5 @@
1
+ import type { Address } from "viem";
2
+ import type { PartialRecord } from "../../../../sdk/index.js";
3
+ import type { CreditManagerData_Legacy } from "./credit-manager-data-legacy.js";
4
+ import type { Strategy } from "./strategy.js";
5
+ export type StrategiesCMListByChain = Record<number, PartialRecord<Strategy["id"], Record<Address, CreditManagerData_Legacy>>>;
@@ -0,0 +1,16 @@
1
+ import type { Address } from "viem";
2
+ import type { NetworkType } from "../../../../sdk/index.js";
3
+ import type { StrategyConfigPayload } from "../../../static/strategy.js";
4
+ export type ExtraCollateralConfig = {
5
+ token: Address;
6
+ cm: Address;
7
+ } | Address;
8
+ export type ExtraCollaterals = Record<Address, Array<ExtraCollateralConfig>>;
9
+ export interface NotValidatedStrategy extends Omit<StrategyConfigPayload, "additionalCollaterals"> {
10
+ additionalCollaterals?: ExtraCollaterals;
11
+ }
12
+ export interface Strategy extends Omit<NotValidatedStrategy, "network" | "id"> {
13
+ id: Address;
14
+ network: NetworkType;
15
+ }
16
+ export type StrategyRecord = Record<number, Record<Strategy["id"], Strategy>>;
@@ -0,0 +1,6 @@
1
+ import type { Address } from "viem";
2
+ import type { CreditManagerData_Legacy } from "./credit-manager-data-legacy.js";
3
+ export type IsTargetableProps = {
4
+ address: Address;
5
+ creditManager: Pick<CreditManagerData_Legacy, "forbiddenTokens" | "liquidationThresholds" | "quotas" | "supportedTokens">;
6
+ };
@@ -0,0 +1 @@
1
+ export * from "./types/index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "14.6.0-next.2",
3
+ "version": "14.6.0-next.3",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.js",