@satrush/api 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1152,6 +1152,21 @@ var getEpochWinnersResponseTransformer = async (data) => {
1152
1152
  data.data = data.data.map((item) => epochWinnerHistoryDtoSchemaResponseTransformer(item));
1153
1153
  return data;
1154
1154
  };
1155
+ var leaderboardPageEntryDtoSchemaResponseTransformer = (data) => {
1156
+ data.totalHashrateEarned = u64DtoSchemaResponseTransformer(data.totalHashrateEarned);
1157
+ data.totalSatsEarned = u64DtoSchemaResponseTransformer(data.totalSatsEarned);
1158
+ data.totalUsdDeployed = u64DtoSchemaResponseTransformer(data.totalUsdDeployed);
1159
+ return data;
1160
+ };
1161
+ var leaderboardPageDtoSchemaResponseTransformer = (data) => {
1162
+ data.entries = data.entries.map((item) => leaderboardPageEntryDtoSchemaResponseTransformer(item));
1163
+ data.updatedAt = new Date(data.updatedAt);
1164
+ return data;
1165
+ };
1166
+ var getLeaderboardResponseTransformer = async (data) => {
1167
+ data.data = leaderboardPageDtoSchemaResponseTransformer(data.data);
1168
+ return data;
1169
+ };
1155
1170
  var leaderboardEntryDtoSchemaResponseTransformer = (data) => {
1156
1171
  data.totalHashrateEarned = u64DtoSchemaResponseTransformer(data.totalHashrateEarned);
1157
1172
  data.totalSatsEarned = u64DtoSchemaResponseTransformer(data.totalSatsEarned);
@@ -1170,6 +1185,17 @@ var getSatsEarnedLeaderboardResponseTransformer = async (data) => {
1170
1185
  data.data = data.data.map((item) => leaderboardEntryDtoSchemaResponseTransformer(item));
1171
1186
  return data;
1172
1187
  };
1188
+ var walletLeaderboardDtoSchemaResponseTransformer = (data) => {
1189
+ data.totalHashrateEarned = u64DtoSchemaResponseTransformer(data.totalHashrateEarned);
1190
+ data.totalSatsEarned = u64DtoSchemaResponseTransformer(data.totalSatsEarned);
1191
+ data.totalUsdDeployed = u64DtoSchemaResponseTransformer(data.totalUsdDeployed);
1192
+ data.updatedAt = new Date(data.updatedAt);
1193
+ return data;
1194
+ };
1195
+ var getWalletLeaderboardResponseTransformer = async (data) => {
1196
+ data.data = walletLeaderboardDtoSchemaResponseTransformer(data.data);
1197
+ return data;
1198
+ };
1173
1199
  var oneBtcIterationHistoryDtoSchemaResponseTransformer = (data) => {
1174
1200
  if (data.endedAt) {
1175
1201
  data.endedAt = new Date(data.endedAt);
@@ -1610,6 +1636,22 @@ var zI64Dto = z.coerce.bigint().min(BigInt("-9223372036854775808"), { error: "In
1610
1636
  var zInternalErrorCodeErrorBody = z.object({
1611
1637
  code: z.enum(["internal_error"])
1612
1638
  });
1639
+ var zLeaderboardRanksDto = z.object({
1640
+ deployed: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1641
+ hashrate: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1642
+ rounds: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1643
+ satsEarned: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1644
+ score: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1645
+ streak: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })
1646
+ });
1647
+ var zLeaderboardSortDto = z.enum([
1648
+ "score",
1649
+ "deployed",
1650
+ "rounds",
1651
+ "sats_earned",
1652
+ "hashrate",
1653
+ "streak"
1654
+ ]);
1613
1655
  var zNotificationEntity = z.enum(["state_snapshot"]);
1614
1656
  var zOneBtcHistoryApiError400InvalidRange = z.object({
1615
1657
  code: z.enum(["invalid_range"])
@@ -1907,6 +1949,22 @@ var zLeaderboardEntryDto = z.object({
1907
1949
  totalSatsEarned: zU64Dto,
1908
1950
  totalUsdDeployed: zU64Dto
1909
1951
  });
1952
+ var zLeaderboardPageEntryDto = z.object({
1953
+ authority: zPubkeyDto,
1954
+ daysActive: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1955
+ maxStreak: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1956
+ rank: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1957
+ score: z.number(),
1958
+ totalHashrateEarned: zU64Dto,
1959
+ totalRoundsPlayed: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1960
+ totalSatsEarned: zU64Dto,
1961
+ totalUsdDeployed: zU64Dto
1962
+ });
1963
+ var zLeaderboardPageDto = z.object({
1964
+ entries: z.array(zLeaderboardPageEntryDto),
1965
+ total: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
1966
+ updatedAt: z.preprocess((value) => value instanceof Date ? value.toISOString() : value, z.iso.datetime())
1967
+ });
1910
1968
  var zMinerClaimDto = z.object({
1911
1969
  authority: zPubkeyDto,
1912
1970
  btcReceived: z.optional(z.union([
@@ -2662,6 +2720,36 @@ var zValidationErrorCodeValidationDetailsErrorBody = z.object({
2662
2720
  errors: z.array(zFieldError)
2663
2721
  }))
2664
2722
  });
2723
+ var zWalletLeaderboardApiError400InvalidAddress = z.object({
2724
+ code: z.enum(["invalid_address"])
2725
+ });
2726
+ var zWalletLeaderboardApiError400Error = z.union([
2727
+ z.object({
2728
+ code: z.literal("invalid_address")
2729
+ }).and(zWalletLeaderboardApiError400InvalidAddress),
2730
+ z.object({
2731
+ code: z.union([
2732
+ z.literal("invalid_body"),
2733
+ z.literal("invalid_path"),
2734
+ z.literal("invalid_query")
2735
+ ])
2736
+ }).and(zBadRequestErrorCodeErrorBody)
2737
+ ]);
2738
+ var zWalletLeaderboardApiError404Error = z.object({
2739
+ code: z.enum(["not_found"])
2740
+ });
2741
+ var zWalletLeaderboardDto = z.object({
2742
+ authority: zPubkeyDto,
2743
+ daysActive: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2744
+ maxStreak: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2745
+ ranks: zLeaderboardRanksDto,
2746
+ score: z.number(),
2747
+ totalHashrateEarned: zU64Dto,
2748
+ totalRoundsPlayed: z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }),
2749
+ totalSatsEarned: zU64Dto,
2750
+ totalUsdDeployed: zU64Dto,
2751
+ updatedAt: z.preprocess((value) => value instanceof Date ? value.toISOString() : value, z.iso.datetime())
2752
+ });
2665
2753
  var zGetBoardData = z.object({
2666
2754
  body: z.optional(z.never()),
2667
2755
  path: z.optional(z.never()),
@@ -2726,6 +2814,18 @@ var zGetEpochWinnersData = z.object({
2726
2814
  var zGetEpochWinnersResponse = z.object({
2727
2815
  data: z.array(zEpochWinnerHistoryDto)
2728
2816
  });
2817
+ var zGetLeaderboardData = z.object({
2818
+ body: z.optional(z.never()),
2819
+ path: z.optional(z.never()),
2820
+ query: z.optional(z.object({
2821
+ sort: z.optional(zLeaderboardSortDto),
2822
+ offset: z.optional(z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" })),
2823
+ limit: z.optional(z.int().gte(0).max(2147483647, { error: "Invalid value: Expected int32 to be <= 2147483647" }))
2824
+ }))
2825
+ });
2826
+ var zGetLeaderboardResponse = z.object({
2827
+ data: zLeaderboardPageDto
2828
+ });
2729
2829
  var zGetHashrateEarnedLeaderboardData = z.object({
2730
2830
  body: z.optional(z.never()),
2731
2831
  path: z.optional(z.never()),
@@ -2750,6 +2850,16 @@ var zGetSatsEarnedLeaderboardData = z.object({
2750
2850
  var zGetSatsEarnedLeaderboardResponse = z.object({
2751
2851
  data: z.array(zLeaderboardEntryDto)
2752
2852
  });
2853
+ var zGetWalletLeaderboardData = z.object({
2854
+ body: z.optional(z.never()),
2855
+ path: z.object({
2856
+ address: z.string()
2857
+ }),
2858
+ query: z.optional(z.never())
2859
+ });
2860
+ var zGetWalletLeaderboardResponse = z.object({
2861
+ data: zWalletLeaderboardDto
2862
+ });
2753
2863
  var zGetOneBtcHistoryData = z.object({
2754
2864
  body: z.optional(z.never()),
2755
2865
  path: z.optional(z.never()),
@@ -3020,6 +3130,24 @@ var SatrushBackendSdk = class _SatrushBackendSdk extends HeyApiClient {
3020
3130
  ...params
3021
3131
  });
3022
3132
  }
3133
+ /**
3134
+ * Request a page of the general leaderboard
3135
+ */
3136
+ getLeaderboard(parameters, options) {
3137
+ const params = buildClientParams([parameters], [{ args: [
3138
+ { in: "query", key: "sort" },
3139
+ { in: "query", key: "offset" },
3140
+ { in: "query", key: "limit" }
3141
+ ] }]);
3142
+ return (options?.client ?? this.client).get({
3143
+ requestValidator: async (data) => await zGetLeaderboardData.parseAsync(data),
3144
+ responseTransformer: getLeaderboardResponseTransformer,
3145
+ responseValidator: async (data) => await zGetLeaderboardResponse.parseAsync(data),
3146
+ url: "/v1/leaderboard",
3147
+ ...options,
3148
+ ...params
3149
+ });
3150
+ }
3023
3151
  /**
3024
3152
  * Request the top miners by lifetime hashrate earned
3025
3153
  */
@@ -3056,6 +3184,20 @@ var SatrushBackendSdk = class _SatrushBackendSdk extends HeyApiClient {
3056
3184
  ...options
3057
3185
  });
3058
3186
  }
3187
+ /**
3188
+ * Request a wallet's general-leaderboard stats and ranks
3189
+ */
3190
+ getWalletLeaderboard(parameters, options) {
3191
+ const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "address" }] }]);
3192
+ return (options?.client ?? this.client).get({
3193
+ requestValidator: async (data) => await zGetWalletLeaderboardData.parseAsync(data),
3194
+ responseTransformer: getWalletLeaderboardResponseTransformer,
3195
+ responseValidator: async (data) => await zGetWalletLeaderboardResponse.parseAsync(data),
3196
+ url: "/v1/leaderboard/{address}",
3197
+ ...options,
3198
+ ...params
3199
+ });
3200
+ }
3059
3201
  /**
3060
3202
  * Request 1 BTC Vault history
3061
3203
  */
@@ -3281,6 +3423,14 @@ var EpochStateDto = {
3281
3423
  COMPLETE: "complete"
3282
3424
  };
3283
3425
  var HashrateActionTypeDto = { BUY_EPOCH_TICKETS: "buy_epoch_tickets", BUY_ONE_BTC_TICKETS: "buy_one_btc_tickets" };
3426
+ var LeaderboardSortDto = {
3427
+ SCORE: "score",
3428
+ DEPLOYED: "deployed",
3429
+ ROUNDS: "rounds",
3430
+ SATS_EARNED: "sats_earned",
3431
+ HASHRATE: "hashrate",
3432
+ STREAK: "streak"
3433
+ };
3284
3434
  var NotificationEntity = { STATE_SNAPSHOT: "state_snapshot" };
3285
3435
  var OneBtcStateDto = {
3286
3436
  OPEN: "open",
@@ -3350,6 +3500,7 @@ export {
3350
3500
  ClaimTypeDto,
3351
3501
  EpochStateDto,
3352
3502
  HashrateActionTypeDto,
3503
+ LeaderboardSortDto,
3353
3504
  NotificationEntity,
3354
3505
  OneBtcStateDto,
3355
3506
  RoundHistoryStateDto,
@@ -3403,6 +3554,8 @@ export {
3403
3554
  zGetEpochWinnersResponse,
3404
3555
  zGetHashrateEarnedLeaderboardData,
3405
3556
  zGetHashrateEarnedLeaderboardResponse,
3557
+ zGetLeaderboardData,
3558
+ zGetLeaderboardResponse,
3406
3559
  zGetOneBtcHistoryData,
3407
3560
  zGetOneBtcHistoryResponse,
3408
3561
  zGetOneBtcIterationData,
@@ -3429,11 +3582,17 @@ export {
3429
3582
  zGetUserOneBtcEntriesResponse,
3430
3583
  zGetUserProfileData,
3431
3584
  zGetUserProfileResponse,
3585
+ zGetWalletLeaderboardData,
3586
+ zGetWalletLeaderboardResponse,
3432
3587
  zHashrateActionTypeDto,
3433
3588
  zI128Dto,
3434
3589
  zI64Dto,
3435
3590
  zInternalErrorCodeErrorBody,
3436
3591
  zLeaderboardEntryDto,
3592
+ zLeaderboardPageDto,
3593
+ zLeaderboardPageEntryDto,
3594
+ zLeaderboardRanksDto,
3595
+ zLeaderboardSortDto,
3437
3596
  zMinerClaimDto,
3438
3597
  zMinerDeploymentDto,
3439
3598
  zMinerDto,
@@ -3512,5 +3671,9 @@ export {
3512
3671
  zUserVaultEntriesApiError400InvalidWinsOnly,
3513
3672
  zUserVaultEntriesApiError500Error,
3514
3673
  zValidationErrorCodeErrorBody,
3515
- zValidationErrorCodeValidationDetailsErrorBody
3674
+ zValidationErrorCodeValidationDetailsErrorBody,
3675
+ zWalletLeaderboardApiError400Error,
3676
+ zWalletLeaderboardApiError400InvalidAddress,
3677
+ zWalletLeaderboardApiError404Error,
3678
+ zWalletLeaderboardDto
3516
3679
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@satrush/api",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "private": false,
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",