@decibeltrade/sdk 0.3.0 → 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 (138) hide show
  1. package/dist/abi/json/netna.json +795 -280
  2. package/dist/abi/json/testnet.json +734 -507
  3. package/dist/admin.d.ts +43 -5
  4. package/dist/admin.d.ts.map +1 -1
  5. package/dist/admin.js +114 -11
  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 +12 -4
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/constants.js +40 -7
  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 +15 -0
  38. package/dist/read/index.d.ts.map +1 -1
  39. package/dist/read/index.js +27 -3
  40. package/dist/read/market-depth/market-depth.reader.d.ts +1 -17
  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 +5 -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 +4 -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/trading-points/trading-points.reader.d.ts +18 -0
  84. package/dist/read/trading-points/trading-points.reader.d.ts.map +1 -0
  85. package/dist/read/trading-points/trading-points.reader.js +19 -0
  86. package/dist/read/trading-points/trading-points.types.d.ts +21 -0
  87. package/dist/read/trading-points/trading-points.types.d.ts.map +1 -0
  88. package/dist/read/trading-points/trading-points.types.js +10 -0
  89. package/dist/read/types.d.ts +7 -0
  90. package/dist/read/types.d.ts.map +1 -1
  91. package/dist/read/types.js +7 -0
  92. package/dist/read/user-funding-history/user-funding-history.reader.d.ts +1 -2
  93. package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -1
  94. package/dist/read/user-funding-history/user-funding-history.types.d.ts +8 -4
  95. package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -1
  96. package/dist/read/user-funding-history/user-funding-history.types.js +1 -2
  97. package/dist/read/user-notifications/user-notifications.types.d.ts +1 -2
  98. package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -1
  99. package/dist/read/user-open-orders/user-open-orders.reader.d.ts +1 -2
  100. package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -1
  101. package/dist/read/user-open-orders/user-open-orders.reader.js +1 -1
  102. package/dist/read/user-open-orders/user-open-orders.types.d.ts +3 -6
  103. package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -1
  104. package/dist/read/user-open-orders/user-open-orders.types.js +1 -2
  105. package/dist/read/user-order-history/user-order-history.reader.d.ts +1 -2
  106. package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -1
  107. package/dist/read/user-order-history/user-order-history.reader.js +1 -1
  108. package/dist/read/user-order-history/user-order-history.types.d.ts +3 -6
  109. package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -1
  110. package/dist/read/user-order-history/user-order-history.types.js +1 -2
  111. package/dist/read/user-positions/user-positions.reader.d.ts +1 -0
  112. package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -1
  113. package/dist/read/user-positions/user-positions.types.d.ts +220 -10
  114. package/dist/read/user-positions/user-positions.types.d.ts.map +1 -1
  115. package/dist/read/user-positions/user-positions.types.js +1 -0
  116. package/dist/read/user-trade-history/user-trade-history.reader.d.ts +5 -2
  117. package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -1
  118. package/dist/read/user-trade-history/user-trade-history.types.d.ts +36 -9
  119. package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -1
  120. package/dist/read/user-trade-history/user-trade-history.types.js +4 -1
  121. package/dist/read/vaults/vaults.reader.d.ts +6 -4
  122. package/dist/read/vaults/vaults.reader.d.ts.map +1 -1
  123. package/dist/read/vaults/vaults.reader.js +4 -0
  124. package/dist/read/vaults/vaults.types.d.ts +30 -12
  125. package/dist/read/vaults/vaults.types.d.ts.map +1 -1
  126. package/dist/read/vaults/vaults.types.js +20 -3
  127. package/dist/read/ws-subscription.d.ts +1 -1
  128. package/dist/read/ws-subscription.d.ts.map +1 -1
  129. package/dist/read/ws-subscription.js +9 -1
  130. package/dist/release-config.d.ts +5 -2
  131. package/dist/release-config.d.ts.map +1 -1
  132. package/dist/release-config.js +15 -5
  133. package/dist/tsconfig.tsbuildinfo +1 -1
  134. package/dist/write.d.ts +12 -0
  135. package/dist/write.d.ts.map +1 -1
  136. package/dist/write.js +24 -7
  137. package/package.json +1 -1
  138. package/readme.md +7 -48
@@ -10,14 +10,17 @@ 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>>;
23
+ unix_ms: z.ZodNumber;
21
24
  }, z.core.$strip>;
22
25
  export type MarketDepthAggregationSize = 1 | 2 | 5 | 10 | 100 | 1000;
23
26
  export type MarketOrder = z.infer<typeof MarketOrderSchema>;
@@ -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;;;;;;;;;;iBAI5B,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,6 +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(),
12
+ unix_ms: z.number(),
10
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"}
@@ -0,0 +1,98 @@
1
+ import { BaseReader, BaseRequestArgs } from "../base-reader";
2
+ import { UserReferralsRequestArgs } from "./referrals.types";
3
+ export declare class ReferralsReader extends BaseReader {
4
+ /**
5
+ * Validate a referral code (check existence and active status).
6
+ */
7
+ validateCode(code: string, { fetchOptions }?: BaseRequestArgs): Promise<{
8
+ referral_code: string;
9
+ is_valid: boolean;
10
+ is_active: boolean;
11
+ }>;
12
+ /**
13
+ * Get referral information for a specific account.
14
+ */
15
+ getAccountReferral(account: string, { fetchOptions }?: BaseRequestArgs): Promise<{
16
+ account: string;
17
+ referrer_account: string;
18
+ referral_code: string;
19
+ is_affiliate_referral: boolean;
20
+ referred_at_ms: number;
21
+ is_active: boolean;
22
+ }>;
23
+ /**
24
+ * Redeem a referral code for an account.
25
+ */
26
+ redeemCode(args: {
27
+ referralCode: string;
28
+ account: string;
29
+ }, { fetchOptions }?: BaseRequestArgs): Promise<{
30
+ referral_code: string;
31
+ account: string;
32
+ }>;
33
+ /**
34
+ * Get aggregate referral statistics for a referrer.
35
+ */
36
+ getReferrerStats(account: string, { fetchOptions }?: BaseRequestArgs): Promise<{
37
+ referrer_account: string;
38
+ total_referrals: number;
39
+ total_codes_created: number;
40
+ is_affiliate: boolean;
41
+ codes: string[];
42
+ volume_threshold_met: boolean;
43
+ }>;
44
+ /**
45
+ * Get paginated list of users referred by a referrer.
46
+ */
47
+ getUserReferrals({ referrerAccount, limit, offset, fetchOptions, }: UserReferralsRequestArgs): Promise<{
48
+ account: string;
49
+ referrer_account: string;
50
+ referral_code: string;
51
+ is_affiliate_referral: boolean;
52
+ referred_at_ms: number;
53
+ }[]>;
54
+ /**
55
+ * Get all referral codes owned by an account with per-code usage stats.
56
+ */
57
+ getAffiliateCodes(account: string, { fetchOptions }?: BaseRequestArgs): Promise<{
58
+ owner_account: string;
59
+ codes: {
60
+ referral_code: string;
61
+ owner_account: string;
62
+ max_usage: number;
63
+ usage_count: number;
64
+ is_active: boolean;
65
+ is_affiliate: boolean;
66
+ source: "unknown" | "admin" | "auto" | "predeposit";
67
+ created_at_ms: number;
68
+ }[];
69
+ volume_threshold_met: boolean;
70
+ }>;
71
+ /**
72
+ * Get affiliate earnings breakdown and referred users for an account.
73
+ */
74
+ getAffiliateEarnings(account: string, { fetchOptions }?: BaseRequestArgs): Promise<{
75
+ affiliate_account: string;
76
+ is_affiliate: boolean;
77
+ earnings: {
78
+ l1_amps: number;
79
+ l2_amps: number;
80
+ total_amps: number;
81
+ l1_count: number;
82
+ l2_count: number;
83
+ };
84
+ users: {
85
+ items: {
86
+ account: string;
87
+ level: "L1" | "L2";
88
+ referred_by: string | null;
89
+ total_amps: number;
90
+ affiliate_amps_earned: number;
91
+ total_volume: number;
92
+ active: boolean;
93
+ }[];
94
+ total_count: number;
95
+ };
96
+ }>;
97
+ }
98
+ //# sourceMappingURL=referrals.reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referrals.reader.d.ts","sourceRoot":"","sources":["../../../src/read/referrals/referrals.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAOL,wBAAwB,EAEzB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,eAAgB,SAAQ,UAAU;IAC7C;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;IASvE;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;;;;IAShF;;OAEG;IACG,UAAU,CACd,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC/C,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;IAWxC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;;;;IAS9E;;OAEG;IACG,gBAAgB,CAAC,EACrB,eAAe,EACf,KAAK,EACL,MAAM,EACN,YAAY,GACb,EAAE,wBAAwB;;;;;;;IAmB3B;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;;;;;;;;;;IAS/E;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,GAAE,eAAoB;;;;;;;;;;;;;;;;;;;;;;;CAUnF"}
@@ -0,0 +1,92 @@
1
+ import { BaseReader } from "../base-reader";
2
+ import { AccountReferralSchema, AffiliateCodesResponseSchema, AffiliateEarningsResponseSchema, RedeemReferralResponseSchema, ReferralCodeValidationSchema, ReferrerStatsSchema, UserReferralsResponseSchema, } from "./referrals.types";
3
+ export class ReferralsReader extends BaseReader {
4
+ /**
5
+ * Validate a referral code (check existence and active status).
6
+ */
7
+ async validateCode(code, { fetchOptions } = {}) {
8
+ const response = await this.getRequest({
9
+ schema: ReferralCodeValidationSchema,
10
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/referrals/code/${encodeURIComponent(code)}`,
11
+ options: fetchOptions,
12
+ });
13
+ return response.data;
14
+ }
15
+ /**
16
+ * Get referral information for a specific account.
17
+ */
18
+ async getAccountReferral(account, { fetchOptions } = {}) {
19
+ const response = await this.getRequest({
20
+ schema: AccountReferralSchema,
21
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/referrals/account/${account}`,
22
+ options: fetchOptions,
23
+ });
24
+ return response.data;
25
+ }
26
+ /**
27
+ * Redeem a referral code for an account.
28
+ */
29
+ async redeemCode(args, { fetchOptions } = {}) {
30
+ const response = await this.postRequest({
31
+ schema: RedeemReferralResponseSchema,
32
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/referrals/redeem`,
33
+ body: { referral_code: args.referralCode, account: args.account },
34
+ options: fetchOptions,
35
+ });
36
+ return response.data;
37
+ }
38
+ /**
39
+ * Get aggregate referral statistics for a referrer.
40
+ */
41
+ async getReferrerStats(account, { fetchOptions } = {}) {
42
+ const response = await this.getRequest({
43
+ schema: ReferrerStatsSchema,
44
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/referrals/stats/${account}`,
45
+ options: fetchOptions,
46
+ });
47
+ return response.data;
48
+ }
49
+ /**
50
+ * Get paginated list of users referred by a referrer.
51
+ */
52
+ async getUserReferrals({ referrerAccount, limit, offset, fetchOptions, }) {
53
+ const queryParams = new URLSearchParams({ referrer_account: referrerAccount });
54
+ if (limit !== undefined) {
55
+ queryParams.set("limit", limit.toString());
56
+ }
57
+ if (offset !== undefined) {
58
+ queryParams.set("offset", offset.toString());
59
+ }
60
+ const response = await this.getRequest({
61
+ schema: UserReferralsResponseSchema,
62
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/referrals/users`,
63
+ queryParams,
64
+ options: fetchOptions,
65
+ });
66
+ return response.data;
67
+ }
68
+ /**
69
+ * Get all referral codes owned by an account with per-code usage stats.
70
+ */
71
+ async getAffiliateCodes(account, { fetchOptions } = {}) {
72
+ const response = await this.getRequest({
73
+ schema: AffiliateCodesResponseSchema,
74
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/affiliates/codes/${account}`,
75
+ options: fetchOptions,
76
+ });
77
+ return response.data;
78
+ }
79
+ /**
80
+ * Get affiliate earnings breakdown and referred users for an account.
81
+ */
82
+ async getAffiliateEarnings(account, { fetchOptions } = {}) {
83
+ const queryParams = new URLSearchParams({ limit: "1000" });
84
+ const response = await this.getRequest({
85
+ schema: AffiliateEarningsResponseSchema,
86
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/affiliates/earnings/${account}`,
87
+ queryParams,
88
+ options: fetchOptions,
89
+ });
90
+ return response.data;
91
+ }
92
+ }
@@ -0,0 +1,136 @@
1
+ import { z } from "zod/v4";
2
+ import { BaseRequestArgs } from "../base-reader";
3
+ import { PageParams } from "../pagination.types";
4
+ export interface UserReferralsRequestArgs extends BaseRequestArgs, PageParams {
5
+ referrerAccount: string;
6
+ }
7
+ export declare const ReferralCodeValidationSchema: z.ZodObject<{
8
+ referral_code: z.ZodString;
9
+ is_valid: z.ZodBoolean;
10
+ is_active: z.ZodBoolean;
11
+ }, z.core.$strip>;
12
+ export declare const RedeemReferralResponseSchema: z.ZodObject<{
13
+ referral_code: z.ZodString;
14
+ account: z.ZodString;
15
+ }, z.core.$strip>;
16
+ export declare const AccountReferralSchema: z.ZodObject<{
17
+ account: z.ZodString;
18
+ referrer_account: z.ZodString;
19
+ referral_code: z.ZodString;
20
+ is_affiliate_referral: z.ZodBoolean;
21
+ referred_at_ms: z.ZodNumber;
22
+ is_active: z.ZodBoolean;
23
+ }, z.core.$strip>;
24
+ export declare const ReferrerStatsSchema: z.ZodObject<{
25
+ referrer_account: z.ZodString;
26
+ total_referrals: z.ZodNumber;
27
+ total_codes_created: z.ZodNumber;
28
+ is_affiliate: z.ZodBoolean;
29
+ codes: z.ZodArray<z.ZodString>;
30
+ volume_threshold_met: z.ZodBoolean;
31
+ }, z.core.$strip>;
32
+ export declare const UserReferralSchema: z.ZodObject<{
33
+ account: z.ZodString;
34
+ referrer_account: z.ZodString;
35
+ referral_code: z.ZodString;
36
+ is_affiliate_referral: z.ZodBoolean;
37
+ referred_at_ms: z.ZodNumber;
38
+ }, z.core.$strip>;
39
+ export declare const UserReferralsResponseSchema: z.ZodArray<z.ZodObject<{
40
+ account: z.ZodString;
41
+ referrer_account: z.ZodString;
42
+ referral_code: z.ZodString;
43
+ is_affiliate_referral: z.ZodBoolean;
44
+ referred_at_ms: z.ZodNumber;
45
+ }, z.core.$strip>>;
46
+ export declare const AffiliateCodeSchema: z.ZodObject<{
47
+ referral_code: z.ZodString;
48
+ owner_account: z.ZodString;
49
+ max_usage: z.ZodNumber;
50
+ usage_count: z.ZodNumber;
51
+ is_active: z.ZodBoolean;
52
+ is_affiliate: z.ZodBoolean;
53
+ source: z.ZodEnum<{
54
+ unknown: "unknown";
55
+ admin: "admin";
56
+ auto: "auto";
57
+ predeposit: "predeposit";
58
+ }>;
59
+ created_at_ms: z.ZodNumber;
60
+ }, z.core.$strip>;
61
+ export declare const AffiliateCodesResponseSchema: z.ZodObject<{
62
+ owner_account: z.ZodString;
63
+ codes: z.ZodArray<z.ZodObject<{
64
+ referral_code: z.ZodString;
65
+ owner_account: z.ZodString;
66
+ max_usage: z.ZodNumber;
67
+ usage_count: z.ZodNumber;
68
+ is_active: z.ZodBoolean;
69
+ is_affiliate: z.ZodBoolean;
70
+ source: z.ZodEnum<{
71
+ unknown: "unknown";
72
+ admin: "admin";
73
+ auto: "auto";
74
+ predeposit: "predeposit";
75
+ }>;
76
+ created_at_ms: z.ZodNumber;
77
+ }, z.core.$strip>>;
78
+ volume_threshold_met: z.ZodBoolean;
79
+ }, z.core.$strip>;
80
+ export declare const AffiliateReferredUserSchema: z.ZodObject<{
81
+ account: z.ZodString;
82
+ level: z.ZodEnum<{
83
+ L1: "L1";
84
+ L2: "L2";
85
+ }>;
86
+ referred_by: z.ZodNullable<z.ZodString>;
87
+ total_amps: z.ZodNumber;
88
+ affiliate_amps_earned: z.ZodNumber;
89
+ total_volume: z.ZodNumber;
90
+ active: z.ZodBoolean;
91
+ }, z.core.$strip>;
92
+ export declare const AffiliateEarningsBreakdownSchema: z.ZodObject<{
93
+ l1_amps: z.ZodNumber;
94
+ l2_amps: z.ZodNumber;
95
+ total_amps: z.ZodNumber;
96
+ l1_count: z.ZodNumber;
97
+ l2_count: z.ZodNumber;
98
+ }, z.core.$strip>;
99
+ export declare const AffiliateEarningsResponseSchema: z.ZodObject<{
100
+ affiliate_account: z.ZodString;
101
+ is_affiliate: z.ZodBoolean;
102
+ earnings: z.ZodObject<{
103
+ l1_amps: z.ZodNumber;
104
+ l2_amps: z.ZodNumber;
105
+ total_amps: z.ZodNumber;
106
+ l1_count: z.ZodNumber;
107
+ l2_count: z.ZodNumber;
108
+ }, z.core.$strip>;
109
+ users: z.ZodObject<{
110
+ items: z.ZodArray<z.ZodObject<{
111
+ account: z.ZodString;
112
+ level: z.ZodEnum<{
113
+ L1: "L1";
114
+ L2: "L2";
115
+ }>;
116
+ referred_by: z.ZodNullable<z.ZodString>;
117
+ total_amps: z.ZodNumber;
118
+ affiliate_amps_earned: z.ZodNumber;
119
+ total_volume: z.ZodNumber;
120
+ active: z.ZodBoolean;
121
+ }, z.core.$strip>>;
122
+ total_count: z.ZodNumber;
123
+ }, z.core.$strip>;
124
+ }, z.core.$strip>;
125
+ export type ReferralCodeValidation = z.infer<typeof ReferralCodeValidationSchema>;
126
+ export type RedeemReferralResponse = z.infer<typeof RedeemReferralResponseSchema>;
127
+ export type AccountReferral = z.infer<typeof AccountReferralSchema>;
128
+ export type ReferrerStats = z.infer<typeof ReferrerStatsSchema>;
129
+ export type UserReferral = z.infer<typeof UserReferralSchema>;
130
+ export type UserReferralsResponse = z.infer<typeof UserReferralsResponseSchema>;
131
+ export type AffiliateCode = z.infer<typeof AffiliateCodeSchema>;
132
+ export type AffiliateCodesResponse = z.infer<typeof AffiliateCodesResponseSchema>;
133
+ export type AffiliateReferredUser = z.infer<typeof AffiliateReferredUserSchema>;
134
+ export type AffiliateEarningsBreakdown = z.infer<typeof AffiliateEarningsBreakdownSchema>;
135
+ export type AffiliateEarningsResponse = z.infer<typeof AffiliateEarningsResponseSchema>;
136
+ //# sourceMappingURL=referrals.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referrals.types.d.ts","sourceRoot":"","sources":["../../../src/read/referrals/referrals.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,wBAAyB,SAAQ,eAAe,EAAE,UAAU;IAC3E,eAAe,EAAE,MAAM,CAAC;CACzB;AAGD,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;kBAA8B,CAAC;AAGvE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAS9B,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;iBAIvC,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;;;;;;iBAQtC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;iBAM3C,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ1C,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { z } from "zod/v4";
2
+ // GET /api/v1/referrals/code/{code}
3
+ export const ReferralCodeValidationSchema = z.object({
4
+ referral_code: z.string(),
5
+ is_valid: z.boolean(),
6
+ is_active: z.boolean(),
7
+ });
8
+ // POST /api/v1/referrals/redeem
9
+ export const RedeemReferralResponseSchema = z.object({
10
+ referral_code: z.string(),
11
+ account: z.string(),
12
+ });
13
+ // GET /api/v1/referrals/account/{account}
14
+ export const AccountReferralSchema = z.object({
15
+ account: z.string(),
16
+ referrer_account: z.string(),
17
+ referral_code: z.string(),
18
+ is_affiliate_referral: z.boolean(),
19
+ referred_at_ms: z.number(),
20
+ is_active: z.boolean(),
21
+ });
22
+ // GET /api/v1/referrals/stats/{account}
23
+ export const ReferrerStatsSchema = z.object({
24
+ referrer_account: z.string(),
25
+ total_referrals: z.number(),
26
+ total_codes_created: z.number(),
27
+ is_affiliate: z.boolean(),
28
+ codes: z.array(z.string()),
29
+ volume_threshold_met: z.boolean(),
30
+ });
31
+ // GET /api/v1/affiliates/codes/{account}
32
+ const ReferralCodeSourceSchema = z.enum(["admin", "auto", "predeposit", "unknown"]);
33
+ // GET /api/v1/referrals/users
34
+ export const UserReferralSchema = z.object({
35
+ account: z.string(),
36
+ referrer_account: z.string(),
37
+ referral_code: z.string(),
38
+ is_affiliate_referral: z.boolean(),
39
+ referred_at_ms: z.number(),
40
+ });
41
+ // GET /api/v1/referrals/users
42
+ export const UserReferralsResponseSchema = z.array(UserReferralSchema);
43
+ // GET /api/v1/affiliates/codes/{account}
44
+ export const AffiliateCodeSchema = z.object({
45
+ referral_code: z.string(),
46
+ owner_account: z.string(),
47
+ max_usage: z.number(),
48
+ usage_count: z.number(),
49
+ is_active: z.boolean(),
50
+ is_affiliate: z.boolean(),
51
+ source: ReferralCodeSourceSchema,
52
+ created_at_ms: z.number(),
53
+ });
54
+ // GET /api/v1/affiliates/codes/{account}
55
+ export const AffiliateCodesResponseSchema = z.object({
56
+ owner_account: z.string(),
57
+ codes: z.array(AffiliateCodeSchema),
58
+ volume_threshold_met: z.boolean(),
59
+ });
60
+ // GET /api/v1/affiliates/earnings/{account}
61
+ export const AffiliateReferredUserSchema = z.object({
62
+ account: z.string(),
63
+ level: z.enum(["L1", "L2"]),
64
+ referred_by: z.string().nullable(),
65
+ total_amps: z.number(),
66
+ affiliate_amps_earned: z.number(),
67
+ total_volume: z.number(),
68
+ active: z.boolean(),
69
+ });
70
+ export const AffiliateEarningsBreakdownSchema = z.object({
71
+ l1_amps: z.number(),
72
+ l2_amps: z.number(),
73
+ total_amps: z.number(),
74
+ l1_count: z.number(),
75
+ l2_count: z.number(),
76
+ });
77
+ export const AffiliateEarningsResponseSchema = z.object({
78
+ affiliate_account: z.string(),
79
+ is_affiliate: z.boolean(),
80
+ earnings: AffiliateEarningsBreakdownSchema,
81
+ users: z.object({
82
+ items: z.array(AffiliateReferredUserSchema),
83
+ total_count: z.number(),
84
+ }),
85
+ });
@@ -0,0 +1,19 @@
1
+ import { BaseReader } from "../base-reader";
2
+ import { AccountStreaksRequestArgs } from "./streaks.types";
3
+ export declare class StreaksReader extends BaseReader {
4
+ /**
5
+ * Get streak data for an owner including qualifying dates and grace days
6
+ * @param ownerAddr The owner address to get streak data for
7
+ * @returns The streak data with qualifying dates
8
+ */
9
+ getByOwner({ ownerAddr, fetchOptions }: AccountStreaksRequestArgs): Promise<{
10
+ owner: string;
11
+ currentStreak: number;
12
+ streakIpoints: number;
13
+ streakAmpsEstimate: number;
14
+ graceDaysAvailable: number;
15
+ graceDaysUsed: number;
16
+ qualifyingDates: string[];
17
+ }>;
18
+ }
19
+ //# sourceMappingURL=streaks.reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaks.reader.d.ts","sourceRoot":"","sources":["../../../src/read/streaks/streaks.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAwB,MAAM,iBAAiB,CAAC;AAElF,qBAAa,aAAc,SAAQ,UAAU;IAC3C;;;;OAIG;IACG,UAAU,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,yBAAyB;;;;;;;;;CAYxE"}