@gearbox-protocol/sdk 16.0.0-next.52 → 16.0.0-next.54

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 (70) hide show
  1. package/dist/cjs/dev/mode-parity/compareOpportunities.js +1 -1
  2. package/dist/cjs/dev/mode-parity/comparePositions.js +1 -1
  3. package/dist/cjs/model/analytics.js +1 -0
  4. package/dist/cjs/model/analytics.schema.js +117 -0
  5. package/dist/cjs/model/charts.schema.js +1 -1
  6. package/dist/cjs/model/index.js +18 -7
  7. package/dist/cjs/model/liquidations.schema.js +2 -2
  8. package/dist/cjs/model/opportunities.schema.js +3 -3
  9. package/dist/cjs/model/positions.schema.js +2 -2
  10. package/dist/cjs/offchain/GearboxAPI.js +5 -0
  11. package/dist/cjs/offchain/analytics/OffchainAnalytics.js +12 -0
  12. package/dist/cjs/offchain/analytics/OffchainAnalyticsPositions.js +24 -0
  13. package/dist/cjs/offchain/analytics/index.js +6 -0
  14. package/dist/cjs/offchain/analytics/types.js +1 -0
  15. package/dist/cjs/offchain/index.js +5 -0
  16. package/dist/cjs/onchain/market/credit/CreditSuite.js +2 -2
  17. package/dist/cjs/sdk/GearboxSDK.js +5 -0
  18. package/dist/cjs/sdk/analytics/AnalyticsNamespace.js +11 -0
  19. package/dist/cjs/sdk/analytics/index.js +4 -0
  20. package/dist/cjs/sdk/analytics/types.js +1 -0
  21. package/dist/cjs/sdk/index.js +3 -0
  22. package/dist/esm/dev/mode-parity/compareOpportunities.js +1 -1
  23. package/dist/esm/dev/mode-parity/comparePositions.js +1 -1
  24. package/dist/esm/model/analytics.js +1 -0
  25. package/dist/esm/model/analytics.schema.js +108 -0
  26. package/dist/esm/model/charts.schema.js +1 -1
  27. package/dist/esm/model/index.js +10 -8
  28. package/dist/esm/model/liquidations.schema.js +2 -2
  29. package/dist/esm/model/opportunities.schema.js +3 -3
  30. package/dist/esm/model/positions.schema.js +2 -2
  31. package/dist/esm/offchain/GearboxAPI.js +5 -0
  32. package/dist/esm/offchain/analytics/OffchainAnalytics.js +11 -0
  33. package/dist/esm/offchain/analytics/OffchainAnalyticsPositions.js +23 -0
  34. package/dist/esm/offchain/analytics/index.js +4 -0
  35. package/dist/esm/offchain/analytics/types.js +1 -0
  36. package/dist/esm/offchain/index.js +4 -1
  37. package/dist/esm/onchain/market/credit/CreditSuite.js +3 -3
  38. package/dist/esm/sdk/GearboxSDK.js +5 -0
  39. package/dist/esm/sdk/analytics/AnalyticsNamespace.js +10 -0
  40. package/dist/esm/sdk/analytics/index.js +3 -0
  41. package/dist/esm/sdk/analytics/types.js +1 -0
  42. package/dist/esm/sdk/index.js +3 -1
  43. package/dist/types/model/analytics.d.ts +62 -0
  44. package/dist/types/model/analytics.schema.d.ts +149 -0
  45. package/dist/types/model/index.d.ts +10 -8
  46. package/dist/types/model/opportunities.d.ts +1 -1
  47. package/dist/types/model/previews.d.ts +2 -2
  48. package/dist/types/offchain/AbstractOffchainNamespace.d.ts +1 -1
  49. package/dist/types/offchain/GearboxAPI.d.ts +4 -0
  50. package/dist/types/offchain/analytics/OffchainAnalytics.d.ts +11 -0
  51. package/dist/types/offchain/analytics/OffchainAnalyticsPositions.d.ts +14 -0
  52. package/dist/types/offchain/analytics/index.d.ts +4 -0
  53. package/dist/types/offchain/analytics/types.d.ts +17 -0
  54. package/dist/types/offchain/index.d.ts +5 -1
  55. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +1 -1
  56. package/dist/types/offchain/opportunities/types.d.ts +1 -1
  57. package/dist/types/offchain/positions/OffchainPositions.d.ts +1 -1
  58. package/dist/types/offchain/positions/types.d.ts +1 -1
  59. package/dist/types/onchain/market/credit/CreditSuite.d.ts +1 -2
  60. package/dist/types/sdk/GearboxSDK.d.ts +4 -0
  61. package/dist/types/sdk/analytics/AnalyticsNamespace.d.ts +11 -0
  62. package/dist/types/sdk/analytics/index.d.ts +3 -0
  63. package/dist/types/sdk/analytics/types.d.ts +15 -0
  64. package/dist/types/sdk/index.d.ts +4 -1
  65. package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +1 -1
  66. package/dist/types/sdk/opportunities/types.d.ts +1 -1
  67. package/dist/types/sdk/positions/PositionsNamespace.d.ts +1 -1
  68. package/dist/types/sdk/positions/types.d.ts +1 -1
  69. package/dist/types/sdk/types.d.ts +3 -0
  70. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
2
1
  import { Position, PositionKey, PositionTransaction, PositionsTotals, StrategyPositionKey } from "../../model/positions.js";
2
+ import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
4
  import { ListPositionsPropsBase } from "../../onchain/positions/types.js";
5
5
  import { Address } from "viem";
@@ -213,8 +213,7 @@ declare class CreditSuite extends SDKConstruct {
213
213
  accountStrategyName(creditAccount: Address): string;
214
214
  /**
215
215
  * Describes this suite's leveraged strategy as the shared read model does,
216
- * or `undefined` when {@link strategyTargetCollateral} cannot be resolved or
217
- * {@link maxBorrowAmount} is at or below {@link MIN_STRATEGY_BORROW_AMOUNT}.
216
+ * or `undefined` when credit suite does not offer a strategy opportunity.
218
217
  */
219
218
  strategyOpportunity(): StrategyOpportunity | undefined;
220
219
  /**
@@ -1,10 +1,12 @@
1
1
  import { NetworkType } from "../onchain/chain/chains.js";
2
2
  import "../onchain/index.js";
3
+ import { IAnalyticsByMode } from "./analytics/types.js";
3
4
  import { ILiquidationsByMode } from "./liquidations/types.js";
4
5
  import { IOpportunities } from "./opportunities/types.js";
5
6
  import { IPositions } from "./positions/types.js";
6
7
  import { IPreviewByMode } from "./preview/types.js";
7
8
  import { GearboxSDKOptions, IGearboxSDK, INoticesByMode, Mode, OffchainByMode, OnchainByMode } from "./types.js";
9
+ import "./analytics/index.js";
8
10
  import "./liquidations/index.js";
9
11
  import "./opportunities/index.js";
10
12
  import "./positions/index.js";
@@ -44,6 +46,8 @@ declare class GearboxSDK<const M extends Mode = Mode> implements IGearboxSDK<M>
44
46
  * Chains this instance covers, which every read is scoped to.
45
47
  **/
46
48
  readonly networks: readonly NetworkType[];
49
+ /** Protocol-wide analytics. Undefined in `onchain` mode. */
50
+ readonly analytics: IAnalyticsByMode[M];
47
51
  /**
48
52
  * Namespace for pool and strategy opportunities.
49
53
  **/
@@ -0,0 +1,11 @@
1
+ import { GearboxAPI } from "../../offchain/GearboxAPI.js";
2
+ import "../../offchain/index.js";
3
+ import { IAnalytics } from "./types.js";
4
+ //#region src/sdk/analytics/AnalyticsNamespace.d.ts
5
+ /** Backend-only protocol analytics exposed by {@link GearboxSDK}. */
6
+ declare class AnalyticsNamespace implements IAnalytics {
7
+ readonly positions: GearboxAPI["analytics"]["positions"];
8
+ constructor(backend: GearboxAPI);
9
+ }
10
+ //#endregion
11
+ export { AnalyticsNamespace };
@@ -0,0 +1,3 @@
1
+ import { IAnalytics, IAnalyticsByMode } from "./types.js";
2
+ import { AnalyticsNamespace } from "./AnalyticsNamespace.js";
3
+ export { AnalyticsNamespace, IAnalytics, IAnalyticsByMode };
@@ -0,0 +1,15 @@
1
+ import { IOffchainAnalyticsPositions } from "../../offchain/analytics/types.js";
2
+ import "../../offchain/index.js";
3
+ //#region src/sdk/analytics/types.d.ts
4
+ /** Backend-only protocol analytics, grouped by subject. */
5
+ interface IAnalytics {
6
+ readonly positions: IOffchainAnalyticsPositions;
7
+ }
8
+ /** `sdk.analytics` per mode: absent when the SDK has no backend source. */
9
+ interface IAnalyticsByMode {
10
+ onchain: undefined;
11
+ offchain: IAnalytics;
12
+ both: IAnalytics;
13
+ }
14
+ //#endregion
15
+ export { IAnalytics, IAnalyticsByMode };
@@ -1,6 +1,7 @@
1
1
  import { BorrowLimitBinding, IntentPreviewError, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewRefusal, raise, refuse } from "../onchain/validation/refusal.js";
2
2
  import { LeverageBand } from "../onchain/accounts/intents/leverage-band.js";
3
3
  import { OperationState, PathLossRate, WithdrawCeilings } from "../onchain/accounts/intents/types.js";
4
+ import { IAnalytics, IAnalyticsByMode } from "./analytics/types.js";
4
5
  import { ILiquidations, ILiquidationsByMode } from "./liquidations/types.js";
5
6
  import { AccountFlowError, CreditAccountNotFoundError, DebtOutOfRangeError, ForbiddenTokenError, InsufficientCollateralError, InsufficientPoolLiquidityError, InsufficientSourceBalanceError, LeverageOutOfRangeError, MalformedTransactionError, MarketExpiredError, MarketPausedError, MultipleDelayedWithdrawalsError, NoDelayedRouteError, NoRecordedIntentError, NoStrategyTargetCollateralError, OpenFlowError, PoolSunsetError, QuotaCountExceededError, QuotaLimitReachedError, RefusalErrors, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, WithdrawalInProgressError, creditAccountNotFound, noStrategyTargetCollateral, toRefusalError, unexpectedFailure } from "./prepare/errors.js";
6
7
  import { AddCollateralParams, AdjustLeverageParams, DelayedStrategyResult, DepositStrategyParams, FinalizeParams, FinalizeResult, IOpportunitiesPrepare, LpParams, LpRedeemParams, LpResult, LpState, OpenStrategyParams, OpenStrategyResult, PoolInput, PositionInput, PrepareOptions, RepayStrategyParams, StrategyInput, StrategyResult, StrategyRoutesResult, WithdrawCollateralParams, WithdrawStrategyParams } from "./prepare/types.js";
@@ -18,6 +19,8 @@ import { IPositionMergers, IPositions, IPositionsBase, IPositionsByMode, IPositi
18
19
  import { IPreview, IPreviewByMode } from "./preview/types.js";
19
20
  import { EnsureFreshChains, GearboxSDKOptions, IGearboxSDK, INotices, INoticesByMode, Mode, NamespaceOptions, OffchainByMode, OffchainSource, OnchainByMode, OnchainSource, PlainMultichainSDKOptions } from "./types.js";
20
21
  import { AbstractNamespace, MergedQuery } from "./AbstractNamespace.js";
22
+ import { AnalyticsNamespace } from "./analytics/AnalyticsNamespace.js";
23
+ import "./analytics/index.js";
21
24
  import { LiquidationsNamespace } from "./liquidations/LiquidationsNamespace.js";
22
25
  import "./liquidations/index.js";
23
26
  import { OpportunitiesNamespace } from "./opportunities/OpportunitiesNamespace.js";
@@ -35,4 +38,4 @@ import { SourceUnavailableError } from "./errors/SourceUnavailableError.js";
35
38
  import { assertSameChains } from "./errors/assertSameChains.js";
36
39
  import { everyChainFailed } from "./errors/everyChainFailed.js";
37
40
  import "./errors/index.js";
38
- export { AbstractNamespace, AccountFlowError, AccountPrepareRequest, AddCollateralParams, AdjustLeverageParams, AllSourcesFailedError, BorrowLimitBinding, ChainOf, ChainRef, CreditAccountNotFoundError, DEFAULT_MAX_OFFCHAIN_LAG, DEFAULT_MAX_STATE_AGE, DebtOutOfRangeError, DelayedStrategyResult, DepositStrategyParams, EnsureFreshChains, type EntityMerger, ExecuteApi, type FilterResult, FinalizeParams, FinalizeResult, ForbiddenTokenError, GearboxSDK, GearboxSDKOptions, IGearboxSDK, ILiquidations, ILiquidationsByMode, INotices, INoticesByMode, IOpportunities, IOpportunitiesBase, IOpportunitiesByMode, IOpportunitiesExecute, IOpportunitiesOffchainBranch, IOpportunitiesOffchainOnly, IOpportunitiesOnchainBranch, IOpportunitiesOnchainOnly, IOpportunitiesPrepare, IOpportunityMergers, IPositionMergers, IPositions, IPositionsBase, IPositionsByMode, IPositionsOffchainBranch, IPositionsOffchainOnly, IPositionsOnchainBranch, IPositionsOnchainOnly, IPreview, IPreviewByMode, InsufficientCollateralError, InsufficientPoolLiquidityError, InsufficientSourceBalanceError, IntentPreviewError, type LeverageBand, LeverageOutOfRangeError, LiquidationsNamespace, type ListMerger, LpParams, LpRedeemParams, LpResult, LpState, MalformedTransactionError, MarketExpiredError, MarketPausedError, type MergeListResult, MergedQuery, MissingSourceError, Mode, MultipleDelayedWithdrawalsError, NamespaceOptions, NoDelayedRouteError, NoRecordedIntentError, NoSourceServedError, NoStrategyTargetCollateralError, OffchainByMode, OffchainSource, OnchainByMode, OnchainSource, OpenFlowError, OpenPrepareRequest, OpenStrategyParams, OpenStrategyResult, type OperationState, OpportunitiesNamespace, type PathLossRate, PlainMultichainSDKOptions, PoolInput, PoolPrepareRequest, PoolSunsetError, PositionInput, PositionsNamespace, PrepareApi, PrepareOptions, PrepareRequest, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewNamespace, PreviewRefusal, QuotaCountExceededError, QuotaLimitReachedError, RefusalErrors, RepayStrategyParams, SourceChainMismatchError, SourceUnavailableError, StrategyInput, StrategyResult, StrategyRoutesResult, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, type WithdrawCeilings, WithdrawCollateralParams, WithdrawStrategyParams, WithdrawalInProgressError, assertSameChains, creditAccountNotFound, everyChainFailed, filterResponse, mergeChainList, mergeChainOne, noStrategyTargetCollateral, raise, refuse, toRefusalError, unexpectedFailure };
41
+ export { AbstractNamespace, AccountFlowError, AccountPrepareRequest, AddCollateralParams, AdjustLeverageParams, AllSourcesFailedError, AnalyticsNamespace, BorrowLimitBinding, ChainOf, ChainRef, CreditAccountNotFoundError, DEFAULT_MAX_OFFCHAIN_LAG, DEFAULT_MAX_STATE_AGE, DebtOutOfRangeError, DelayedStrategyResult, DepositStrategyParams, EnsureFreshChains, type EntityMerger, ExecuteApi, type FilterResult, FinalizeParams, FinalizeResult, ForbiddenTokenError, GearboxSDK, GearboxSDKOptions, IAnalytics, IAnalyticsByMode, IGearboxSDK, ILiquidations, ILiquidationsByMode, INotices, INoticesByMode, IOpportunities, IOpportunitiesBase, IOpportunitiesByMode, IOpportunitiesExecute, IOpportunitiesOffchainBranch, IOpportunitiesOffchainOnly, IOpportunitiesOnchainBranch, IOpportunitiesOnchainOnly, IOpportunitiesPrepare, IOpportunityMergers, IPositionMergers, IPositions, IPositionsBase, IPositionsByMode, IPositionsOffchainBranch, IPositionsOffchainOnly, IPositionsOnchainBranch, IPositionsOnchainOnly, IPreview, IPreviewByMode, InsufficientCollateralError, InsufficientPoolLiquidityError, InsufficientSourceBalanceError, IntentPreviewError, type LeverageBand, LeverageOutOfRangeError, LiquidationsNamespace, type ListMerger, LpParams, LpRedeemParams, LpResult, LpState, MalformedTransactionError, MarketExpiredError, MarketPausedError, type MergeListResult, MergedQuery, MissingSourceError, Mode, MultipleDelayedWithdrawalsError, NamespaceOptions, NoDelayedRouteError, NoRecordedIntentError, NoSourceServedError, NoStrategyTargetCollateralError, OffchainByMode, OffchainSource, OnchainByMode, OnchainSource, OpenFlowError, OpenPrepareRequest, OpenStrategyParams, OpenStrategyResult, type OperationState, OpportunitiesNamespace, type PathLossRate, PlainMultichainSDKOptions, PoolInput, PoolPrepareRequest, PoolSunsetError, PositionInput, PositionsNamespace, PrepareApi, PrepareOptions, PrepareRequest, PreviewErrorDetails, PreviewErrorReason, PreviewIssue, PreviewNamespace, PreviewRefusal, QuotaCountExceededError, QuotaLimitReachedError, RefusalErrors, RepayStrategyParams, SourceChainMismatchError, SourceUnavailableError, StrategyInput, StrategyResult, StrategyRoutesResult, UnexpectedFailureError, UnsupportedCollateralTokenError, UnsupportedTokenPairError, WithRouteRefusals, type WithdrawCeilings, WithdrawCollateralParams, WithdrawStrategyParams, WithdrawalInProgressError, assertSameChains, creditAccountNotFound, everyChainFailed, filterResponse, mergeChainList, mergeChainOne, noStrategyTargetCollateral, raise, refuse, toRefusalError, unexpectedFailure };
@@ -1,5 +1,5 @@
1
- import { ChartBundle, ChartRange, PoolOpportunityChartMetric, StrategyOpportunityChartMetric } from "../../model/charts.js";
2
1
  import { Opportunity, OpportunityFilter, OpportunityTotals, PoolOpportunityDetail, PoolOpportunityKey, PoolOpportunityRef, StrategyOpportunityDetail, StrategyOpportunityKey, StrategyOpportunityRef } from "../../model/opportunities.js";
2
+ import { ChartBundle, ChartRange, PoolOpportunityChartMetric, StrategyOpportunityChartMetric } from "../../model/charts.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
4
  import "../../model/index.js";
5
5
  import { MultichainSDK } from "../../onchain/MultichainSDK.js";
@@ -1,5 +1,5 @@
1
- import { ChartBundle, ChartRange, PoolOpportunityChartMetric, StrategyOpportunityChartMetric } from "../../model/charts.js";
2
1
  import { Opportunity, OpportunityFilter, OpportunityTotals, PoolOpportunityDetail, PoolOpportunityKey, PoolOpportunityRef, StrategyOpportunityDetail, StrategyOpportunityKey, StrategyOpportunityRef } from "../../model/opportunities.js";
2
+ import { ChartBundle, ChartRange, PoolOpportunityChartMetric, StrategyOpportunityChartMetric } from "../../model/charts.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
4
  import "../../model/index.js";
5
5
  import { IMultichainOpportunitiesService } from "../../onchain/opportunities/types.js";
@@ -1,5 +1,5 @@
1
- import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
2
1
  import { PoolPositionRef, Position, PositionFilter, PositionTransaction, PositionsTotals, StrategyPositionRef } from "../../model/positions.js";
2
+ import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
4
  import { PositionWithdrawals } from "../../model/withdrawals.js";
5
5
  import "../../model/index.js";
@@ -1,5 +1,5 @@
1
- import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
2
1
  import { PoolPositionRef, Position, PositionFilter, PositionTransaction, PositionsTotals, StrategyPositionRef } from "../../model/positions.js";
2
+ import { ChartBundle, ChartRange, PoolPositionChartMetric, StrategyPositionChartMetric } from "../../model/charts.js";
3
3
  import { DataResponse } from "../../model/response.js";
4
4
  import { PositionWithdrawals } from "../../model/withdrawals.js";
5
5
  import "../../model/index.js";
@@ -9,6 +9,7 @@ import "../onchain/index.js";
9
9
  import { GearboxAPIOptions } from "../offchain/types.js";
10
10
  import { GearboxAPI } from "../offchain/GearboxAPI.js";
11
11
  import "../offchain/index.js";
12
+ import { IAnalyticsByMode } from "./analytics/types.js";
12
13
  import { ILiquidationsByMode } from "./liquidations/types.js";
13
14
  import { IOpportunities } from "./opportunities/types.js";
14
15
  import { IPositions } from "./positions/types.js";
@@ -149,6 +150,8 @@ interface IGearboxSDK<M extends Mode = Mode> {
149
150
  * `offchain` mode and when an already-attached SDK was injected.
150
151
  **/
151
152
  attach(): Promise<void>;
153
+ /** Protocol-wide analytics. Absent in `onchain` mode. */
154
+ readonly analytics: IAnalyticsByMode[M];
152
155
  /**
153
156
  * Namespace for pool and strategy opportunities.
154
157
  **/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "16.0.0-next.52",
3
+ "version": "16.0.0-next.54",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "repository": {