@gearbox-protocol/sdk 14.6.0-next.3 → 14.6.0-next.4
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/utils/strategies/credit-managers/get-strategy-credit-managers.js +17 -14
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +17 -14
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.d.ts +4 -4
- package/dist/types/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/lists/get-available-strategies.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/lists/get-disabled-strategies.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/strategy-state/is-strategy-disabled.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/tokens/is-activated-token.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/tokens/is-forbidden-token.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/sdk-state.d.ts +4 -4
- package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +2 -2
- package/dist/types/common-utils/utils/strategies/types/targetable.d.ts +2 -2
- package/package.json +1 -1
package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js
CHANGED
|
@@ -28,21 +28,24 @@ function getStrategyCreditManagers({
|
|
|
28
28
|
allCreditManagers
|
|
29
29
|
}) {
|
|
30
30
|
const lpAddress = strategy.tokenOutAddress;
|
|
31
|
-
const res = (strategy?.creditManagers || []).reduce(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
const res = (strategy?.creditManagers || []).reduce(
|
|
32
|
+
(acc, cmAddress) => {
|
|
33
|
+
const cm = allCreditManagers[cmAddress];
|
|
34
|
+
if (cm && (0, import_is_credit_manager_usable.isCreditManagerUsable)(cm)) {
|
|
35
|
+
const usable = (0, import_is_usable_token.isUsableToken)({
|
|
36
|
+
address: lpAddress,
|
|
37
|
+
creditManager: cm
|
|
38
|
+
});
|
|
39
|
+
const limit = cm.quotas[lpAddress]?.limit || 0n;
|
|
40
|
+
const limitZero = lpAddress === cm.underlyingToken ? false : limit === 0n;
|
|
41
|
+
if (usable && !cm.isBorrowingForbidden && !limitZero) {
|
|
42
|
+
acc[cm.address] = cm;
|
|
43
|
+
}
|
|
42
44
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
return acc;
|
|
46
|
+
},
|
|
47
|
+
{}
|
|
48
|
+
);
|
|
46
49
|
return res;
|
|
47
50
|
}
|
|
48
51
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js
CHANGED
|
@@ -5,21 +5,24 @@ function getStrategyCreditManagers({
|
|
|
5
5
|
allCreditManagers
|
|
6
6
|
}) {
|
|
7
7
|
const lpAddress = strategy.tokenOutAddress;
|
|
8
|
-
const res = (strategy?.creditManagers || []).reduce(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
const res = (strategy?.creditManagers || []).reduce(
|
|
9
|
+
(acc, cmAddress) => {
|
|
10
|
+
const cm = allCreditManagers[cmAddress];
|
|
11
|
+
if (cm && isCreditManagerUsable(cm)) {
|
|
12
|
+
const usable = isUsableToken({
|
|
13
|
+
address: lpAddress,
|
|
14
|
+
creditManager: cm
|
|
15
|
+
});
|
|
16
|
+
const limit = cm.quotas[lpAddress]?.limit || 0n;
|
|
17
|
+
const limitZero = lpAddress === cm.underlyingToken ? false : limit === 0n;
|
|
18
|
+
if (usable && !cm.isBorrowingForbidden && !limitZero) {
|
|
19
|
+
acc[cm.address] = cm;
|
|
20
|
+
}
|
|
19
21
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
return acc;
|
|
23
|
+
},
|
|
24
|
+
{}
|
|
25
|
+
);
|
|
23
26
|
return res;
|
|
24
27
|
}
|
|
25
28
|
export {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { CuratorFilter, GearboxSDKFullStateByChain, StrategiesCMListByChain, Strategy } from "../types.js";
|
|
2
|
-
export declare function getStrategyCreditManagersList(strategies: Array<Strategy> | undefined, sdkStateByChain: GearboxSDKFullStateByChain | undefined, curatorFilter: CuratorFilter): StrategiesCMListByChain | undefined;
|
|
1
|
+
import type { CreditManagerDataSlice, CuratorFilter, GearboxSDKFullStateByChain, StrategiesCMListByChain, Strategy } from "../types.js";
|
|
2
|
+
export declare function getStrategyCreditManagersList<CM extends CreditManagerDataSlice>(strategies: Array<Strategy> | undefined, sdkStateByChain: GearboxSDKFullStateByChain<CM> | undefined, curatorFilter: CuratorFilter): StrategiesCMListByChain<CM> | undefined;
|
package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type {
|
|
3
|
-
interface GetStrategyCreditManagersProps {
|
|
2
|
+
import type { CreditManagerDataSlice, Strategy } from "../types.js";
|
|
3
|
+
interface GetStrategyCreditManagersProps<CM extends CreditManagerDataSlice> {
|
|
4
4
|
strategy: Pick<Strategy, "tokenOutAddress" | "creditManagers">;
|
|
5
|
-
allCreditManagers: Record<Address,
|
|
5
|
+
allCreditManagers: Record<Address, CM>;
|
|
6
6
|
}
|
|
7
|
-
export declare function getStrategyCreditManagers({ strategy, allCreditManagers, }: GetStrategyCreditManagersProps): Record<`0x${string}`,
|
|
7
|
+
export declare function getStrategyCreditManagers<CM extends CreditManagerDataSlice>({ strategy, allCreditManagers, }: GetStrategyCreditManagersProps<CM>): Record<`0x${string}`, CM>;
|
|
8
8
|
export {};
|
package/dist/types/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function isCreditManagerUsable(cm: Pick<
|
|
1
|
+
import type { CreditManagerDataSlice } from "../types.js";
|
|
2
|
+
export declare function isCreditManagerUsable(cm: Pick<CreditManagerDataSlice, "isBorrowingForbidden" | "version">): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
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
|
|
1
|
+
import type { AppChains, CreditManagerDataSlice, CuratorFilter, GearboxSDKFullState, NotValidatedStrategy } from "../types.js";
|
|
2
|
+
export declare function isStrategyEligible<CM extends CreditManagerDataSlice>(s: Pick<NotValidatedStrategy, "chainId" | "network" | "hideInProd" | "tokenOutAddress" | "showInMainApp">, allowedChains: AppChains, showHiddenStrategies: boolean, sdkStateByChain: Record<number, Pick<GearboxSDKFullState<CM>, "tokens"> | undefined> | undefined, curatorFilter: CuratorFilter): {
|
|
3
3
|
readonly isEligible: true;
|
|
4
4
|
readonly network: "Mainnet" | "Arbitrum" | "Optimism" | "Base" | "Sonic" | "MegaETH" | "Monad" | "Berachain" | "Avalanche" | "BNB" | "WorldChain" | "Etherlink" | "Hemi" | "Lisk" | "Plasma" | "Somnia";
|
|
5
5
|
} | {
|
package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CuratorFilter, StrategiesCMListByChain, Strategy } from "../types.js";
|
|
2
|
-
export declare function getAvailableAndDisabledStrategies(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain | undefined, curatorFilter: CuratorFilter | undefined): {
|
|
1
|
+
import type { CreditManagerDataSlice, CuratorFilter, StrategiesCMListByChain, Strategy } from "../types.js";
|
|
2
|
+
export declare function getAvailableAndDisabledStrategies<CM extends CreditManagerDataSlice>(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain<CM> | undefined, curatorFilter: CuratorFilter | undefined): {
|
|
3
3
|
available: Error | import("../types.js").StrategyRecord | null;
|
|
4
4
|
disabled: import("../types.js").StrategyRecord;
|
|
5
5
|
availableList: Error | Strategy[] | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { StrategiesCMListByChain, Strategy, StrategyRecord } from "../types.js";
|
|
2
|
-
export declare function getAvailableStrategies(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain | undefined): {
|
|
1
|
+
import type { CreditManagerDataSlice, StrategiesCMListByChain, Strategy, StrategyRecord } from "../types.js";
|
|
2
|
+
export declare function getAvailableStrategies<CM extends CreditManagerDataSlice>(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain<CM> | undefined): {
|
|
3
3
|
record: StrategyRecord | null | Error;
|
|
4
4
|
list: Array<Strategy> | null | Error;
|
|
5
5
|
};
|
|
@@ -1,5 +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): {
|
|
1
|
+
import type { CreditManagerDataSlice, CuratorFilter, StrategiesCMListByChain, Strategy, StrategyRecord } from "../types.js";
|
|
2
|
+
export declare function getDisabledStrategies<CM extends CreditManagerDataSlice>(list: Strategy[] | undefined | undefined, listCMs: StrategiesCMListByChain<CM> | undefined, curatorFilter: CuratorFilter | undefined): {
|
|
3
3
|
record: StrategyRecord;
|
|
4
4
|
list: Array<Strategy>;
|
|
5
5
|
};
|
|
@@ -1,2 +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;
|
|
1
|
+
import type { AppChains, CreditManagerDataSlice, CuratorFilter, GearboxSDKFullStateByChain, NotValidatedStrategy, Strategy } from "../types.js";
|
|
2
|
+
export declare function getReleasedStrategiesList<CM extends CreditManagerDataSlice>(strategyPayloadsList: NotValidatedStrategy[] | undefined, allowedChains: AppChains | undefined, sdkStateByChain: GearboxSDKFullStateByChain<CM> | undefined, curatorFilter: CuratorFilter, showHiddenStrategies: boolean): Strategy[] | undefined;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type {
|
|
3
|
-
export declare function isStrategyDisabled(tokenOutAddress: Address, cms: Array<Pick<
|
|
2
|
+
import type { CreditManagerDataSlice } from "../types.js";
|
|
3
|
+
export declare function isStrategyDisabled(tokenOutAddress: Address, cms: Array<Pick<CreditManagerDataSlice, "quotas" | "availableToBorrow" | "minDebt">>): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CreditManagerDataSlice } from "../types.js";
|
|
3
3
|
export declare function isActivatedToken({ address, creditManager, }: {
|
|
4
4
|
address: Address;
|
|
5
|
-
creditManager: Pick<
|
|
5
|
+
creditManager: Pick<CreditManagerDataSlice, "liquidationThresholds" | "quotas" | "supportedTokens">;
|
|
6
6
|
}): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CreditManagerDataSlice } from "../types.js";
|
|
3
3
|
export declare function isForbiddenToken({ address, creditManager, }: {
|
|
4
4
|
address: Address;
|
|
5
|
-
creditManager: Pick<
|
|
5
|
+
creditManager: Pick<CreditManagerDataSlice, "forbiddenTokens">;
|
|
6
6
|
}): boolean;
|
|
@@ -8,7 +8,7 @@ interface AdapterContract {
|
|
|
8
8
|
name: string;
|
|
9
9
|
targetContract: Address;
|
|
10
10
|
}
|
|
11
|
-
export type
|
|
11
|
+
export type CreditManagerDataSlice = CreditManagerSlice & {
|
|
12
12
|
readonly network: NetworkType;
|
|
13
13
|
readonly creditFacade: Address;
|
|
14
14
|
readonly creditConfigurator: Address;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import type { TokenSlice } from "../strategy-info/types.js";
|
|
3
|
-
import type {
|
|
4
|
-
export interface GearboxSDKFullState {
|
|
3
|
+
import type { CreditManagerDataSlice } from "./credit-manager-data-legacy.js";
|
|
4
|
+
export interface GearboxSDKFullState<CM extends CreditManagerDataSlice> {
|
|
5
5
|
lastSyncBlock?: {
|
|
6
6
|
blockTimestamp_js: number;
|
|
7
7
|
};
|
|
8
8
|
tokens?: {
|
|
9
9
|
tokenDataList?: Record<Address, TokenSlice>;
|
|
10
10
|
};
|
|
11
|
-
creditManagers?: Record<Address,
|
|
11
|
+
creditManagers?: Record<Address, CM>;
|
|
12
12
|
}
|
|
13
|
-
export type GearboxSDKFullStateByChain = Record<number, GearboxSDKFullState | undefined>;
|
|
13
|
+
export type GearboxSDKFullStateByChain<CM extends CreditManagerDataSlice> = Record<number, GearboxSDKFullState<CM> | undefined>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
2
|
import type { PartialRecord } from "../../../../sdk/index.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { CreditManagerDataSlice } from "./credit-manager-data-legacy.js";
|
|
4
4
|
import type { Strategy } from "./strategy.js";
|
|
5
|
-
export type StrategiesCMListByChain = Record<number, PartialRecord<Strategy["id"], Record<Address,
|
|
5
|
+
export type StrategiesCMListByChain<CM extends CreditManagerDataSlice> = Record<number, PartialRecord<Strategy["id"], Record<Address, CM>>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Address } from "viem";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CreditManagerDataSlice } from "./credit-manager-data-legacy.js";
|
|
3
3
|
export type IsTargetableProps = {
|
|
4
4
|
address: Address;
|
|
5
|
-
creditManager: Pick<
|
|
5
|
+
creditManager: Pick<CreditManagerDataSlice, "forbiddenTokens" | "liquidationThresholds" | "quotas" | "supportedTokens">;
|
|
6
6
|
};
|