@decibeltrade/sdk 0.3.1 → 0.4.0

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 (130) hide show
  1. package/dist/abi/json/netna.json +792 -289
  2. package/dist/abi/json/testnet.json +7 -6
  3. package/dist/admin.d.ts +36 -0
  4. package/dist/admin.d.ts.map +1 -1
  5. package/dist/admin.js +84 -0
  6. package/dist/base.d.ts +1 -6
  7. package/dist/base.d.ts.map +1 -1
  8. package/dist/base.js +13 -23
  9. package/dist/constants.d.ts +10 -4
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/constants.js +21 -6
  12. package/dist/fee-pay.d.ts +3 -3
  13. package/dist/fee-pay.d.ts.map +1 -1
  14. package/dist/fee-pay.js +26 -49
  15. package/dist/gas/gas-price-manager.d.ts.map +1 -1
  16. package/dist/gas/gas-price-manager.js +3 -1
  17. package/dist/read/account-overview/account-overview.reader.d.ts +2 -0
  18. package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -1
  19. package/dist/read/account-overview/account-overview.types.d.ts +4 -0
  20. package/dist/read/account-overview/account-overview.types.d.ts.map +1 -1
  21. package/dist/read/account-overview/account-overview.types.js +5 -0
  22. package/dist/read/action-utils.d.ts +12 -0
  23. package/dist/read/action-utils.d.ts.map +1 -0
  24. package/dist/read/action-utils.js +13 -0
  25. package/dist/read/base-reader.d.ts +1 -0
  26. package/dist/read/base-reader.d.ts.map +1 -1
  27. package/dist/read/base-reader.js +15 -0
  28. package/dist/read/base-reader.test.d.ts +2 -0
  29. package/dist/read/base-reader.test.d.ts.map +1 -0
  30. package/dist/read/base-reader.test.js +68 -0
  31. package/dist/read/global-points-stats/global-points-stats.reader.d.ts +9 -0
  32. package/dist/read/global-points-stats/global-points-stats.reader.d.ts.map +1 -0
  33. package/dist/read/global-points-stats/global-points-stats.reader.js +12 -0
  34. package/dist/read/global-points-stats/global-points-stats.types.d.ts +9 -0
  35. package/dist/read/global-points-stats/global-points-stats.types.d.ts.map +1 -0
  36. package/dist/read/global-points-stats/global-points-stats.types.js +5 -0
  37. package/dist/read/index.d.ts +13 -0
  38. package/dist/read/index.d.ts.map +1 -1
  39. package/dist/read/index.js +23 -2
  40. package/dist/read/market-depth/market-depth.reader.d.ts +1 -18
  41. package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -1
  42. package/dist/read/market-depth/market-depth.reader.js +18 -20
  43. package/dist/read/market-depth/market-depth.types.d.ts +4 -2
  44. package/dist/read/market-depth/market-depth.types.d.ts.map +1 -1
  45. package/dist/read/market-depth/market-depth.types.js +3 -1
  46. package/dist/read/market-trades/market-trades.reader.d.ts +0 -1
  47. package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -1
  48. package/dist/read/market-trades/market-trades.types.d.ts +0 -3
  49. package/dist/read/market-trades/market-trades.types.d.ts.map +1 -1
  50. package/dist/read/market-trades/market-trades.types.js +0 -1
  51. package/dist/read/points-leaderboard/points-leaderboard.reader.d.ts +21 -0
  52. package/dist/read/points-leaderboard/points-leaderboard.reader.d.ts.map +1 -0
  53. package/dist/read/points-leaderboard/points-leaderboard.reader.js +23 -0
  54. package/dist/read/points-leaderboard/points-leaderboard.types.d.ts +30 -0
  55. package/dist/read/points-leaderboard/points-leaderboard.types.d.ts.map +1 -0
  56. package/dist/read/points-leaderboard/points-leaderboard.types.js +11 -0
  57. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +1 -1
  58. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -1
  59. package/dist/read/referrals/referrals.reader.d.ts +98 -0
  60. package/dist/read/referrals/referrals.reader.d.ts.map +1 -0
  61. package/dist/read/referrals/referrals.reader.js +92 -0
  62. package/dist/read/referrals/referrals.types.d.ts +136 -0
  63. package/dist/read/referrals/referrals.types.d.ts.map +1 -0
  64. package/dist/read/referrals/referrals.types.js +85 -0
  65. package/dist/read/streaks/streaks.reader.d.ts +19 -0
  66. package/dist/read/streaks/streaks.reader.d.ts.map +1 -0
  67. package/dist/read/streaks/streaks.reader.js +19 -0
  68. package/dist/read/streaks/streaks.types.d.ts +17 -0
  69. package/dist/read/streaks/streaks.types.d.ts.map +1 -0
  70. package/dist/read/streaks/streaks.types.js +10 -0
  71. package/dist/read/tier/tier.reader.d.ts +21 -0
  72. package/dist/read/tier/tier.reader.d.ts.map +1 -0
  73. package/dist/read/tier/tier.reader.js +19 -0
  74. package/dist/read/tier/tier.types.d.ts +25 -0
  75. package/dist/read/tier/tier.types.d.ts.map +1 -0
  76. package/dist/read/tier/tier.types.js +13 -0
  77. package/dist/read/trading-amps/trading-amps.reader.d.ts +18 -0
  78. package/dist/read/trading-amps/trading-amps.reader.d.ts.map +1 -0
  79. package/dist/read/trading-amps/trading-amps.reader.js +23 -0
  80. package/dist/read/trading-amps/trading-amps.types.d.ts +25 -0
  81. package/dist/read/trading-amps/trading-amps.types.d.ts.map +1 -0
  82. package/dist/read/trading-amps/trading-amps.types.js +10 -0
  83. package/dist/read/types.d.ts +6 -0
  84. package/dist/read/types.d.ts.map +1 -1
  85. package/dist/read/types.js +6 -0
  86. package/dist/read/user-funding-history/user-funding-history.reader.d.ts +1 -2
  87. package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -1
  88. package/dist/read/user-funding-history/user-funding-history.types.d.ts +8 -4
  89. package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -1
  90. package/dist/read/user-funding-history/user-funding-history.types.js +1 -2
  91. package/dist/read/user-notifications/user-notifications.types.d.ts +0 -2
  92. package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -1
  93. package/dist/read/user-open-orders/user-open-orders.reader.d.ts +0 -2
  94. package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -1
  95. package/dist/read/user-open-orders/user-open-orders.types.d.ts +0 -6
  96. package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -1
  97. package/dist/read/user-open-orders/user-open-orders.types.js +0 -2
  98. package/dist/read/user-order-history/user-order-history.reader.d.ts +0 -2
  99. package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -1
  100. package/dist/read/user-order-history/user-order-history.types.d.ts +0 -6
  101. package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -1
  102. package/dist/read/user-order-history/user-order-history.types.js +0 -2
  103. package/dist/read/user-positions/user-positions.reader.d.ts +1 -0
  104. package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -1
  105. package/dist/read/user-positions/user-positions.types.d.ts +220 -10
  106. package/dist/read/user-positions/user-positions.types.d.ts.map +1 -1
  107. package/dist/read/user-positions/user-positions.types.js +1 -0
  108. package/dist/read/user-trade-history/user-trade-history.reader.d.ts +5 -2
  109. package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -1
  110. package/dist/read/user-trade-history/user-trade-history.types.d.ts +36 -9
  111. package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -1
  112. package/dist/read/user-trade-history/user-trade-history.types.js +4 -1
  113. package/dist/read/vaults/vaults.reader.d.ts +2 -0
  114. package/dist/read/vaults/vaults.reader.d.ts.map +1 -1
  115. package/dist/read/vaults/vaults.reader.js +4 -0
  116. package/dist/read/vaults/vaults.types.d.ts +18 -0
  117. package/dist/read/vaults/vaults.types.d.ts.map +1 -1
  118. package/dist/read/vaults/vaults.types.js +17 -0
  119. package/dist/read/ws-subscription.d.ts +1 -1
  120. package/dist/read/ws-subscription.d.ts.map +1 -1
  121. package/dist/read/ws-subscription.js +9 -1
  122. package/dist/release-config.d.ts +2 -0
  123. package/dist/release-config.d.ts.map +1 -1
  124. package/dist/release-config.js +6 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/write.d.ts +12 -0
  127. package/dist/write.d.ts.map +1 -1
  128. package/dist/write.js +11 -1
  129. package/package.json +1 -1
  130. package/readme.md +7 -48
@@ -1 +1 @@
1
- {"version":3,"file":"base-reader.d.ts","sourceRoot":"","sources":["../../src/read/base-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,YAAY,EAEZ,cAAc,EAEd,gBAAgB,EAEhB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,UAAU;IACT,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB;gBAAvB,IAAI,EAAE,iBAAiB;cAEtC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;;;;;cAO7E,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;;;;;cAO/E,YAAY,CAAC,aAAa,EACxC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;;;;;CAOxD"}
1
+ {"version":3,"file":"base-reader.d.ts","sourceRoot":"","sources":["../../src/read/base-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,YAAY,EAEZ,cAAc,EAEd,gBAAgB,EAEhB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,UAAU;IACT,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB;gBAAvB,IAAI,EAAE,iBAAiB;IAEtD,OAAO,CAAC,YAAY;cAYJ,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;;;;;cAQ7E,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;;;;;cAQ/E,YAAY,CAAC,aAAa,EACxC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;;;;;CAQxD"}
@@ -4,21 +4,36 @@ export class BaseReader {
4
4
  constructor(deps) {
5
5
  this.deps = deps;
6
6
  }
7
+ mergeHeaders(options) {
8
+ const extra = this.deps.config.additionalHeaders;
9
+ if (!extra)
10
+ return options;
11
+ return {
12
+ ...options,
13
+ headers: {
14
+ ...extra,
15
+ ...options?.headers,
16
+ },
17
+ };
18
+ }
7
19
  async getRequest(args) {
8
20
  return baseGetRequest({
9
21
  ...args,
22
+ options: this.mergeHeaders(args.options),
10
23
  apiKey: this.deps.apiKey,
11
24
  });
12
25
  }
13
26
  async postRequest(args) {
14
27
  return basePostRequest({
15
28
  ...args,
29
+ options: this.mergeHeaders(args.options),
16
30
  apiKey: this.deps.apiKey,
17
31
  });
18
32
  }
19
33
  async patchRequest(args) {
20
34
  return basePatchRequest({
21
35
  ...args,
36
+ options: this.mergeHeaders(args.options),
22
37
  apiKey: this.deps.apiKey,
23
38
  });
24
39
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-reader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-reader.test.d.ts","sourceRoot":"","sources":["../../src/read/base-reader.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { Network } from "@aptos-labs/ts-sdk";
2
+ import { describe, expect, it, vi } from "vitest";
3
+ import { z } from "zod/v4";
4
+ import { DEFAULT_COMPAT_VERSION } from "../release-config";
5
+ import { BaseReader } from "./base-reader";
6
+ // Expose protected methods for testing
7
+ class TestableReader extends BaseReader {
8
+ async doGet(url) {
9
+ return this.getRequest({ schema: z.unknown(), url });
10
+ }
11
+ }
12
+ function createMockDeps(additionalHeaders) {
13
+ const mockConfig = {
14
+ network: Network.TESTNET,
15
+ fullnodeUrl: "https://testnet.aptoslabs.com/v1",
16
+ tradingHttpUrl: "https://api.testnet.example.com",
17
+ tradingWsUrl: "wss://ws.testnet.example.com",
18
+ deployment: {
19
+ package: "0x0000000000000000000000000000000000000000000000000000000000000123",
20
+ usdc: "0x0000000000000000000000000000000000000000000000000000000000000456",
21
+ testc: "0x0000000000000000000000000000000000000000000000000000000000000789",
22
+ perpEngineGlobal: "0x0000000000000000000000000000000000000000000000000000000000000abc",
23
+ },
24
+ compatVersion: DEFAULT_COMPAT_VERSION,
25
+ additionalHeaders,
26
+ };
27
+ return {
28
+ aptos: {},
29
+ ws: {},
30
+ config: mockConfig,
31
+ apiKey: additionalHeaders ? undefined : "test-api-key",
32
+ };
33
+ }
34
+ describe("BaseReader - additionalHeaders", () => {
35
+ it("should not inject headers when additionalHeaders is undefined", async () => {
36
+ const deps = createMockDeps();
37
+ const reader = new TestableReader(deps);
38
+ const fetchSpy = vi
39
+ .spyOn(globalThis, "fetch")
40
+ .mockResolvedValue(new Response(JSON.stringify({ ok: true }), { status: 200 }));
41
+ await reader.doGet("https://api.example.com/test");
42
+ const calledInit = fetchSpy.mock.calls[0]?.[1];
43
+ const headers = calledInit?.headers;
44
+ expect(headers.get("Authorization")).toBe("Bearer test-api-key");
45
+ expect(headers.get("x-internal-organization-id")).toBeNull();
46
+ fetchSpy.mockRestore();
47
+ });
48
+ it("should inject additionalHeaders into requests", async () => {
49
+ const deps = createMockDeps({
50
+ "x-internal-organization-id": "org-1",
51
+ "x-internal-project-id": "proj-1",
52
+ "x-internal-application-id": "app-1",
53
+ });
54
+ const reader = new TestableReader(deps);
55
+ const fetchSpy = vi
56
+ .spyOn(globalThis, "fetch")
57
+ .mockResolvedValue(new Response(JSON.stringify({ ok: true }), { status: 200 }));
58
+ await reader.doGet("https://api.example.com/test");
59
+ const calledInit = fetchSpy.mock.calls[0]?.[1];
60
+ const headers = calledInit?.headers;
61
+ expect(headers.get("x-internal-organization-id")).toBe("org-1");
62
+ expect(headers.get("x-internal-project-id")).toBe("proj-1");
63
+ expect(headers.get("x-internal-application-id")).toBe("app-1");
64
+ // apiKey is undefined when additionalHeaders is set
65
+ expect(headers.get("Authorization")).toBeNull();
66
+ fetchSpy.mockRestore();
67
+ });
68
+ });
@@ -0,0 +1,9 @@
1
+ import { BaseReader } from "../base-reader";
2
+ import { GlobalPointsStatsRequestArgs } from "./global-points-stats.types";
3
+ export declare class GlobalPointsStatsReader extends BaseReader {
4
+ get({ fetchOptions }?: GlobalPointsStatsRequestArgs): Promise<{
5
+ total_users: number;
6
+ total_amps_distributed: number;
7
+ }>;
8
+ }
9
+ //# sourceMappingURL=global-points-stats.reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-points-stats.reader.d.ts","sourceRoot":"","sources":["../../../src/read/global-points-stats/global-points-stats.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAA2B,MAAM,6BAA6B,CAAC;AAEpG,qBAAa,uBAAwB,SAAQ,UAAU;IAC/C,GAAG,CAAC,EAAE,YAAY,EAAE,GAAE,4BAAiC;;;;CAS9D"}
@@ -0,0 +1,12 @@
1
+ import { BaseReader } from "../base-reader";
2
+ import { GlobalPointsStatsSchema } from "./global-points-stats.types";
3
+ export class GlobalPointsStatsReader extends BaseReader {
4
+ async get({ fetchOptions } = {}) {
5
+ const response = await this.getRequest({
6
+ schema: GlobalPointsStatsSchema,
7
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/points/global`,
8
+ options: fetchOptions,
9
+ });
10
+ return response.data;
11
+ }
12
+ }
@@ -0,0 +1,9 @@
1
+ import { z } from "zod/v4";
2
+ import { BaseRequestArgs } from "../base-reader";
3
+ export type GlobalPointsStatsRequestArgs = BaseRequestArgs;
4
+ export declare const GlobalPointsStatsSchema: z.ZodObject<{
5
+ total_users: z.ZodNumber;
6
+ total_amps_distributed: z.ZodNumber;
7
+ }, z.core.$strip>;
8
+ export type GlobalPointsStats = z.infer<typeof GlobalPointsStatsSchema>;
9
+ //# sourceMappingURL=global-points-stats.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-points-stats.types.d.ts","sourceRoot":"","sources":["../../../src/read/global-points-stats/global-points-stats.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,4BAA4B,GAAG,eAAe,CAAC;AAE3D,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod/v4";
2
+ export const GlobalPointsStatsSchema = z.object({
3
+ total_users: z.number(),
4
+ total_amps_distributed: z.number(),
5
+ });
@@ -4,13 +4,19 @@ import { DecibelConfig, DecibelReaderDeps } from "../constants";
4
4
  import { AccountOverviewReader } from "./account-overview/account-overview.reader";
5
5
  import { CandlesticksReader } from "./candlesticks/candlesticks.reader";
6
6
  import { DelegationsReader } from "./delegations/delegations.reader";
7
+ import { GlobalPointsStatsReader } from "./global-points-stats/global-points-stats.reader";
7
8
  import { LeaderboardReader } from "./leaderboard/leaderboard.reader";
8
9
  import { MarketContextsReader } from "./market-contexts/market-contexts.reader";
9
10
  import { MarketDepthReader } from "./market-depth/market-depth.reader";
10
11
  import { MarketPricesReader } from "./market-prices/market-prices.reader";
11
12
  import { MarketTradesReader } from "./market-trades/market-trades.reader";
12
13
  import { MarketsReader } from "./markets/markets.reader";
14
+ import { PointsLeaderboardReader } from "./points-leaderboard/points-leaderboard.reader";
13
15
  import { PortfolioChartReader } from "./portfolio-chart/portfolio-chart.reader";
16
+ import { ReferralsReader } from "./referrals/referrals.reader";
17
+ import { StreaksReader } from "./streaks/streaks.reader";
18
+ import { TierReader } from "./tier/tier.reader";
19
+ import { TradingAmpsReader } from "./trading-amps/trading-amps.reader";
14
20
  import { TradingPointsReader } from "./trading-points/trading-points.reader";
15
21
  import { UserActiveTwapsReader } from "./user-active-twaps/user-active-twaps.reader";
16
22
  import { UserBulkOrdersReader } from "./user-bulk-orders/user-bulk-orders.reader";
@@ -24,6 +30,7 @@ import { UserSubaccountsReader } from "./user-subaccounts/user-subaccounts.reade
24
30
  import { UserTradeHistoryReader } from "./user-trade-history/user-trade-history.reader";
25
31
  import { UserTwapHistoryReader } from "./user-twap-history/user-twap-history.reader";
26
32
  import { VaultsReader } from "./vaults/vaults.reader";
33
+ export * from "./action-utils";
27
34
  export * from "./types";
28
35
  interface Cache {
29
36
  usdcDecimals?: number;
@@ -51,10 +58,16 @@ export declare class DecibelReadDex {
51
58
  readonly userTwapHistory: UserTwapHistoryReader;
52
59
  readonly portfolioChart: PortfolioChartReader;
53
60
  readonly leaderboard: LeaderboardReader;
61
+ readonly pointsLeaderboard: PointsLeaderboardReader;
54
62
  readonly vaults: VaultsReader;
55
63
  readonly delegations: DelegationsReader;
56
64
  readonly userNotifications: UserNotificationsReader;
57
65
  readonly tradingPoints: TradingPointsReader;
66
+ readonly streaks: StreaksReader;
67
+ readonly tradingAmps: TradingAmpsReader;
68
+ readonly tier: TierReader;
69
+ readonly globalPointsStats: GlobalPointsStatsReader;
70
+ readonly referrals: ReferralsReader;
58
71
  constructor(config: DecibelConfig, opts?: {
59
72
  nodeApiKey?: string;
60
73
  onWsError?: (error: ErrorEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,19 @@ import { Aptos, AptosConfig, createObjectAddress } from "@aptos-labs/ts-sdk";
2
2
  import { AccountOverviewReader } from "./account-overview/account-overview.reader";
3
3
  import { CandlesticksReader } from "./candlesticks/candlesticks.reader";
4
4
  import { DelegationsReader } from "./delegations/delegations.reader";
5
+ import { GlobalPointsStatsReader } from "./global-points-stats/global-points-stats.reader";
5
6
  import { LeaderboardReader } from "./leaderboard/leaderboard.reader";
6
7
  import { MarketContextsReader } from "./market-contexts/market-contexts.reader";
7
8
  import { MarketDepthReader } from "./market-depth/market-depth.reader";
8
9
  import { MarketPricesReader } from "./market-prices/market-prices.reader";
9
10
  import { MarketTradesReader } from "./market-trades/market-trades.reader";
10
11
  import { MarketsReader } from "./markets/markets.reader";
12
+ import { PointsLeaderboardReader } from "./points-leaderboard/points-leaderboard.reader";
11
13
  import { PortfolioChartReader } from "./portfolio-chart/portfolio-chart.reader";
14
+ import { ReferralsReader } from "./referrals/referrals.reader";
15
+ import { StreaksReader } from "./streaks/streaks.reader";
16
+ import { TierReader } from "./tier/tier.reader";
17
+ import { TradingAmpsReader } from "./trading-amps/trading-amps.reader";
12
18
  import { TradingPointsReader } from "./trading-points/trading-points.reader";
13
19
  import { CrossedPosition } from "./types";
14
20
  import { UserActiveTwapsReader } from "./user-active-twaps/user-active-twaps.reader";
@@ -24,6 +30,7 @@ import { UserTradeHistoryReader } from "./user-trade-history/user-trade-history.
24
30
  import { UserTwapHistoryReader } from "./user-twap-history/user-twap-history.reader";
25
31
  import { VaultsReader } from "./vaults/vaults.reader";
26
32
  import { DecibelWsSubscription } from "./ws-subscription";
33
+ export * from "./action-utils";
27
34
  export * from "./types";
28
35
  export class DecibelReadDex {
29
36
  config;
@@ -48,22 +55,30 @@ export class DecibelReadDex {
48
55
  userTwapHistory;
49
56
  portfolioChart;
50
57
  leaderboard;
58
+ pointsLeaderboard;
51
59
  vaults;
52
60
  delegations;
53
61
  userNotifications;
54
62
  tradingPoints;
63
+ streaks;
64
+ tradingAmps;
65
+ tier;
66
+ globalPointsStats;
67
+ referrals;
55
68
  constructor(config, opts) {
56
69
  this.config = config;
57
70
  const aptosConfig = new AptosConfig({
58
71
  network: config.network,
59
72
  fullnode: config.fullnodeUrl,
60
- clientConfig: { API_KEY: opts?.nodeApiKey },
73
+ clientConfig: config.additionalHeaders
74
+ ? { HEADERS: config.additionalHeaders }
75
+ : { API_KEY: opts?.nodeApiKey },
61
76
  });
62
77
  this.deps = {
63
78
  aptos: new Aptos(aptosConfig),
64
79
  ws: new DecibelWsSubscription(config, opts?.nodeApiKey, opts?.onWsError),
65
80
  config: this.config,
66
- apiKey: opts?.nodeApiKey,
81
+ apiKey: config.additionalHeaders ? undefined : opts?.nodeApiKey,
67
82
  };
68
83
  this.cache = {};
69
84
  this.accountOverview = new AccountOverviewReader(this.deps);
@@ -85,10 +100,16 @@ export class DecibelReadDex {
85
100
  this.candlesticks = new CandlesticksReader(this.deps);
86
101
  this.portfolioChart = new PortfolioChartReader(this.deps);
87
102
  this.leaderboard = new LeaderboardReader(this.deps);
103
+ this.pointsLeaderboard = new PointsLeaderboardReader(this.deps);
88
104
  this.vaults = new VaultsReader(this.deps);
89
105
  this.delegations = new DelegationsReader(this.deps);
90
106
  this.userNotifications = new UserNotificationsReader(this.deps);
91
107
  this.tradingPoints = new TradingPointsReader(this.deps);
108
+ this.streaks = new StreaksReader(this.deps);
109
+ this.tradingAmps = new TradingAmpsReader(this.deps);
110
+ this.tier = new TierReader(this.deps);
111
+ this.globalPointsStats = new GlobalPointsStatsReader(this.deps);
112
+ this.referrals = new ReferralsReader(this.deps);
92
113
  }
93
114
  async globalPerpEngineState() {
94
115
  try {
@@ -1,23 +1,6 @@
1
1
  import { BaseReader } from "../base-reader";
2
- import { MarketDepth, MarketDepthAggregationSize, MarketDepthRequestArgs } from "./market-depth.types";
2
+ import { MarketDepth, MarketDepthAggregationSize } from "./market-depth.types";
3
3
  export declare class MarketDepthReader extends BaseReader {
4
- /**
5
- * Get the market depth data for a given market
6
- * @param marketName The name of the market to get market depth for
7
- * @returns The market depth data for the given market
8
- */
9
- getByName({ marketName, limit, fetchOptions }: MarketDepthRequestArgs): Promise<{
10
- market: string;
11
- bids: {
12
- price: number;
13
- size: number;
14
- }[];
15
- asks: {
16
- price: number;
17
- size: number;
18
- }[];
19
- unix_ms: number;
20
- }>;
21
4
  /**
22
5
  * Subscribe to market depth updates for a given market ID
23
6
  * @param marketName The name of the market to subscribe to
@@ -1 +1 @@
1
- {"version":3,"file":"market-depth.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,0BAA0B,EAC1B,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C;;;;OAIG;IACG,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,sBAAsB;;;;;;;;;;;;IAiB3E;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,0BAA0B,EAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IAQrC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,0BAA8B;IAO3F,mBAAmB;CAGpB"}
1
+ {"version":3,"file":"market-depth.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAqB,MAAM,sBAAsB,CAAC;AAElG,qBAAa,iBAAkB,SAAQ,UAAU;IAmB/C;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,0BAA0B,EAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IAQrC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,GAAE,0BAA8B;IAO3F,mBAAmB;CAGpB"}
@@ -1,26 +1,24 @@
1
1
  import { getMarketAddr } from "../../utils";
2
2
  import { BaseReader } from "../base-reader";
3
- import { MarketDepthSchema, } from "./market-depth.types";
3
+ import { MarketDepthSchema } from "./market-depth.types";
4
4
  export class MarketDepthReader extends BaseReader {
5
- /**
6
- * Get the market depth data for a given market
7
- * @param marketName The name of the market to get market depth for
8
- * @returns The market depth data for the given market
9
- */
10
- async getByName({ marketName, limit, fetchOptions }) {
11
- const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
12
- const queryParams = new URLSearchParams({ market: marketAddr.toString() });
13
- if (limit !== undefined) {
14
- queryParams.set("limit", limit.toString());
15
- }
16
- const response = await this.getRequest({
17
- schema: MarketDepthSchema,
18
- url: `${this.deps.config.tradingHttpUrl}/api/v1/depth`,
19
- queryParams,
20
- options: fetchOptions,
21
- });
22
- return response.data;
23
- }
5
+ // TODO: either reintroduce the /depth endpoint or fully delete this method
6
+ // async getByName({ marketName, limit, fetchOptions }: MarketDepthRequestArgs) {
7
+ // const marketAddr = getMarketAddr(marketName, this.deps.config.deployment.perpEngineGlobal);
8
+ // const queryParams = new URLSearchParams({ market: marketAddr.toString() });
9
+ // if (limit !== undefined) {
10
+ // queryParams.set("limit", limit.toString());
11
+ // }
12
+ //
13
+ // const response = await this.getRequest({
14
+ // schema: MarketDepthSchema,
15
+ // url: `${this.deps.config.tradingHttpUrl}/api/v1/depth`,
16
+ // queryParams,
17
+ // options: fetchOptions,
18
+ // });
19
+ //
20
+ // return response.data;
21
+ // }
24
22
  /**
25
23
  * Subscribe to market depth updates for a given market ID
26
24
  * @param marketName The name of the market to subscribe to
@@ -10,14 +10,16 @@ export declare const MarketOrderSchema: z.ZodObject<{
10
10
  }, z.core.$strip>;
11
11
  export declare const MarketDepthSchema: z.ZodObject<{
12
12
  market: z.ZodString;
13
- bids: z.ZodArray<z.ZodObject<{
13
+ asks: z.ZodArray<z.ZodObject<{
14
14
  price: z.ZodNumber;
15
15
  size: z.ZodNumber;
16
16
  }, z.core.$strip>>;
17
- asks: z.ZodArray<z.ZodObject<{
17
+ bids: z.ZodArray<z.ZodObject<{
18
18
  price: z.ZodNumber;
19
19
  size: z.ZodNumber;
20
20
  }, z.core.$strip>>;
21
+ best_ask: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
22
+ best_bid: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
21
23
  unix_ms: z.ZodNumber;
22
24
  }, z.core.$strip>;
23
25
  export type MarketDepthAggregationSize = 1 | 2 | 5 | 10 | 100 | 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"market-depth.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"market-depth.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-depth/market-depth.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;iBAO5B,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -5,7 +5,9 @@ export const MarketOrderSchema = z.object({
5
5
  });
6
6
  export const MarketDepthSchema = z.object({
7
7
  market: z.string(),
8
- bids: z.array(MarketOrderSchema),
9
8
  asks: z.array(MarketOrderSchema),
9
+ bids: z.array(MarketOrderSchema),
10
+ best_ask: z.number().nullable().optional(),
11
+ best_bid: z.number().nullable().optional(),
10
12
  unix_ms: z.number(),
11
13
  });
@@ -15,7 +15,6 @@ export declare class MarketTradesReader extends BaseReader {
15
15
  price: number;
16
16
  is_profit: boolean;
17
17
  realized_pnl_amount: number;
18
- is_funding_positive: boolean;
19
18
  realized_funding_amount: number;
20
19
  is_rebate: boolean;
21
20
  fee_amount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"market-trades.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-trades/market-trades.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,kBAAmB,SAAQ,UAAU;IAChD;;;;;OAKG;IACG,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,uBAAuB;;;;;;;;;;;;;;;IAiB5E;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;CAMjF"}
1
+ {"version":3,"file":"market-trades.reader.d.ts","sourceRoot":"","sources":["../../../src/read/market-trades/market-trades.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,kBAAmB,SAAQ,UAAU;IAChD;;;;;OAKG;IACG,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,uBAAuB;;;;;;;;;;;;;;IAiB5E;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI;CAMjF"}
@@ -12,7 +12,6 @@ export declare const MarketTradeSchema: z.ZodObject<{
12
12
  price: z.ZodNumber;
13
13
  is_profit: z.ZodBoolean;
14
14
  realized_pnl_amount: z.ZodNumber;
15
- is_funding_positive: z.ZodBoolean;
16
15
  realized_funding_amount: z.ZodNumber;
17
16
  is_rebate: z.ZodBoolean;
18
17
  fee_amount: z.ZodNumber;
@@ -28,7 +27,6 @@ export declare const MarketTradesHistorySchema: z.ZodObject<{
28
27
  price: z.ZodNumber;
29
28
  is_profit: z.ZodBoolean;
30
29
  realized_pnl_amount: z.ZodNumber;
31
- is_funding_positive: z.ZodBoolean;
32
30
  realized_funding_amount: z.ZodNumber;
33
31
  is_rebate: z.ZodBoolean;
34
32
  fee_amount: z.ZodNumber;
@@ -46,7 +44,6 @@ export declare const MarketTradeWsMessageSchema: z.ZodObject<{
46
44
  price: z.ZodNumber;
47
45
  is_profit: z.ZodBoolean;
48
46
  realized_pnl_amount: z.ZodNumber;
49
- is_funding_positive: z.ZodBoolean;
50
47
  realized_funding_amount: z.ZodNumber;
51
48
  is_rebate: z.ZodBoolean;
52
49
  fee_amount: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"market-trades.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-trades/market-trades.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAc5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;iBAErC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"market-trades.types.d.ts","sourceRoot":"","sources":["../../../src/read/market-trades/market-trades.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;iBAa5B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAErC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -7,7 +7,6 @@ export const MarketTradeSchema = z.object({
7
7
  price: z.number(),
8
8
  is_profit: z.boolean(),
9
9
  realized_pnl_amount: z.number(),
10
- is_funding_positive: z.boolean(),
11
10
  realized_funding_amount: z.number(),
12
11
  is_rebate: z.boolean(),
13
12
  fee_amount: z.number(),
@@ -0,0 +1,21 @@
1
+ import { BaseReader } from "../base-reader";
2
+ import { PointsLeaderboardRequestArgs } from "./points-leaderboard.types";
3
+ export declare class PointsLeaderboardReader extends BaseReader {
4
+ /**
5
+ * Get the points leaderboard (Hz/Amps rankings)
6
+ * @param queryParams The query parameters for the points leaderboard
7
+ * @returns The points leaderboard
8
+ */
9
+ getPointsLeaderboard({ fetchOptions, tier, ...args }: PointsLeaderboardRequestArgs): Promise<{
10
+ items: {
11
+ rank: number;
12
+ owner: string;
13
+ total_amps: number;
14
+ realized_pnl: number;
15
+ referral_amps: number;
16
+ vault_amps: number;
17
+ }[];
18
+ total_count: number;
19
+ }>;
20
+ }
21
+ //# sourceMappingURL=points-leaderboard.reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"points-leaderboard.reader.d.ts","sourceRoot":"","sources":["../../../src/read/points-leaderboard/points-leaderboard.reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAA2B,MAAM,4BAA4B,CAAC;AAEnG,qBAAa,uBAAwB,SAAQ,UAAU;IACrD;;;;OAIG;IACG,oBAAoB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,4BAA4B;;;;;;;;;;;CAezF"}
@@ -0,0 +1,23 @@
1
+ import { constructKnownQueryParams } from "../../utils";
2
+ import { BaseReader } from "../base-reader";
3
+ import { PointsLeaderboardSchema } from "./points-leaderboard.types";
4
+ export class PointsLeaderboardReader extends BaseReader {
5
+ /**
6
+ * Get the points leaderboard (Hz/Amps rankings)
7
+ * @param queryParams The query parameters for the points leaderboard
8
+ * @returns The points leaderboard
9
+ */
10
+ async getPointsLeaderboard({ fetchOptions, tier, ...args }) {
11
+ const queryParams = constructKnownQueryParams(args);
12
+ if (tier) {
13
+ queryParams.set("tier", tier);
14
+ }
15
+ const response = await this.getRequest({
16
+ schema: PointsLeaderboardSchema,
17
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/points_leaderboard`,
18
+ queryParams,
19
+ options: fetchOptions,
20
+ });
21
+ return response.data;
22
+ }
23
+ }
@@ -0,0 +1,30 @@
1
+ import { z } from "zod/v4";
2
+ import { BaseRequestArgs } from "../base-reader";
3
+ import { PageParams, SearchTermParams, SortParams } from "../types";
4
+ export type PointsLeaderboardSortKey = "total_amps" | "realized_pnl";
5
+ export type PointsLeaderboardTierFilter = "top20" | "diamond" | "doublePlatinum" | "gold";
6
+ export interface PointsLeaderboardRequestArgs extends BaseRequestArgs, PageParams, SearchTermParams, SortParams<PointsLeaderboardSortKey> {
7
+ tier?: PointsLeaderboardTierFilter;
8
+ }
9
+ export declare const PointsLeaderboardItemSchema: z.ZodObject<{
10
+ rank: z.ZodNumber;
11
+ owner: z.ZodString;
12
+ total_amps: z.ZodNumber;
13
+ realized_pnl: z.ZodNumber;
14
+ referral_amps: z.ZodNumber;
15
+ vault_amps: z.ZodNumber;
16
+ }, z.core.$strip>;
17
+ export declare const PointsLeaderboardSchema: z.ZodObject<{
18
+ items: z.ZodArray<z.ZodObject<{
19
+ rank: z.ZodNumber;
20
+ owner: z.ZodString;
21
+ total_amps: z.ZodNumber;
22
+ realized_pnl: z.ZodNumber;
23
+ referral_amps: z.ZodNumber;
24
+ vault_amps: z.ZodNumber;
25
+ }, z.core.$strip>>;
26
+ total_count: z.ZodNumber;
27
+ }, z.core.$strip>;
28
+ export type PointsLeaderboardItem = z.infer<typeof PointsLeaderboardItemSchema>;
29
+ export type PointsLeaderboard = z.infer<typeof PointsLeaderboardSchema>;
30
+ //# sourceMappingURL=points-leaderboard.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"points-leaderboard.types.d.ts","sourceRoot":"","sources":["../../../src/read/points-leaderboard/points-leaderboard.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAA2B,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7F,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,cAAc,CAAC;AAErE,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,4BACf,SAAQ,eAAe,EACrB,UAAU,EACV,gBAAgB,EAChB,UAAU,CAAC,wBAAwB,CAAC;IACtC,IAAI,CAAC,EAAE,2BAA2B,CAAC;CACpC;AAED,eAAO,MAAM,2BAA2B;;;;;;;iBAOtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAAuD,CAAC;AAE5F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod/v4";
2
+ import { PaginatedResponseSchema } from "../types";
3
+ export const PointsLeaderboardItemSchema = z.object({
4
+ rank: z.number(),
5
+ owner: z.string(),
6
+ total_amps: z.number(),
7
+ realized_pnl: z.number(),
8
+ referral_amps: z.number(),
9
+ vault_amps: z.number(),
10
+ });
11
+ export const PointsLeaderboardSchema = PaginatedResponseSchema(PointsLeaderboardItemSchema);
@@ -14,7 +14,7 @@ export declare const PortfolioChartSchema: z.ZodArray<z.ZodObject<{
14
14
  data_points: z.ZodNumber;
15
15
  }, z.core.$strip>>;
16
16
  export type PortfolioChartType = "pnl" | "account_value";
17
- export type PortfolioChartTimeRange = "24h" | "7d" | "30d" | "90d";
17
+ export type PortfolioChartTimeRange = "24h" | "7d" | "30d" | "90d" | "all";
18
18
  export type PortfolioChartItem = z.infer<typeof PortfolioChartPnlItemSchema>;
19
19
  export type PortfolioChart = z.infer<typeof PortfolioChartSchema>;
20
20
  //# sourceMappingURL=portfolio-chart.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio-chart.types.d.ts","sourceRoot":"","sources":["../../../src/read/portfolio-chart/portfolio-chart.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;kBAAuC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"portfolio-chart.types.d.ts","sourceRoot":"","sources":["../../../src/read/portfolio-chart/portfolio-chart.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;kBAAuC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}