@uniswap/client-data-api 0.0.278 → 0.0.279

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.
@@ -4,7 +4,7 @@ import { FiatAmount, FiatCurrency, HistoryDuration, Launch, LaunchesOrderBy, Lau
4
4
  import { PageRequest, PageResponse } from "./common_pb.js";
5
5
  import { EarnPosition, EarnVault } from "./earn_pb.js";
6
6
  import { TimestampedValue } from "../v1/types_pb.js";
7
- import { RankedCategory, TimeSeriesPoint } from "./categories_pb.js";
7
+ import { CategoryKind, RankedCategory, RankedPoolCategory, TimeSeriesPoint } from "./categories_pb.js";
8
8
  import { RankedTokenGroup, TokenGroup, TokenGroupListFilter } from "./tokenGroups_pb.js";
9
9
  import { ProtocolVersion } from "../v1/poolTypes_pb.js";
10
10
  /**
@@ -2454,11 +2454,18 @@ export declare class ListTokensResponse extends Message<ListTokensResponse> {
2454
2454
  */
2455
2455
  export declare class ListCategoriesRequest extends Message<ListCategoriesRequest> {
2456
2456
  /**
2457
- * Chains to scope the aggregate stats and top_tokens to. Must be non-empty.
2457
+ * Chains to scope the aggregate stats and top_tokens / top_pools to. Must
2458
+ * be non-empty.
2458
2459
  *
2459
2460
  * @generated from field: repeated uint32 chain_ids = 1;
2460
2461
  */
2461
2462
  chainIds: number[];
2463
+ /**
2464
+ * Which taxonomy to list. UNSPECIFIED reads as TOKEN.
2465
+ *
2466
+ * @generated from field: data.v2.CategoryKind kind = 2;
2467
+ */
2468
+ kind: CategoryKind;
2462
2469
  constructor(data?: PartialMessage<ListCategoriesRequest>);
2463
2470
  static readonly runtime: typeof proto3;
2464
2471
  static readonly typeName = "data.v2.ListCategoriesRequest";
@@ -2473,9 +2480,17 @@ export declare class ListCategoriesRequest extends Message<ListCategoriesRequest
2473
2480
  */
2474
2481
  export declare class ListCategoriesResponse extends Message<ListCategoriesResponse> {
2475
2482
  /**
2483
+ * Set for kind TOKEN; empty for kind POOL.
2484
+ *
2476
2485
  * @generated from field: repeated data.v2.RankedCategory categories = 1;
2477
2486
  */
2478
2487
  categories: RankedCategory[];
2488
+ /**
2489
+ * Set for kind POOL; empty for kind TOKEN. One list per kind, never both.
2490
+ *
2491
+ * @generated from field: repeated data.v2.RankedPoolCategory pool_categories = 2;
2492
+ */
2493
+ poolCategories: RankedPoolCategory[];
2479
2494
  constructor(data?: PartialMessage<ListCategoriesResponse>);
2480
2495
  static readonly runtime: typeof proto3;
2481
2496
  static readonly typeName = "data.v2.ListCategoriesResponse";
@@ -2519,21 +2534,46 @@ export declare class GetCategoryRequest extends Message<GetCategoryRequest> {
2519
2534
  */
2520
2535
  export declare class GetCategoryResponse extends Message<GetCategoryResponse> {
2521
2536
  /**
2537
+ * Set for a token category id; unset for a pool category id.
2538
+ *
2522
2539
  * @generated from field: data.v2.RankedCategory category = 1;
2523
2540
  */
2524
2541
  category?: RankedCategory;
2525
2542
  /**
2526
- * Aggregate member swap volume over time. Empty unless include_charts.
2543
+ * Aggregate member swap volume over time: the members' trading volume for
2544
+ * a token category, the member pools' swap volume for a pool category.
2545
+ * Empty unless include_charts.
2527
2546
  *
2528
2547
  * @generated from field: repeated data.v2.TimeSeriesPoint volume_series = 2;
2529
2548
  */
2530
2549
  volumeSeries: TimeSeriesPoint[];
2531
2550
  /**
2532
- * Aggregate member FDV over time. Empty unless include_charts.
2551
+ * Aggregate member FDV over time. Empty unless include_charts; empty for a
2552
+ * pool category.
2533
2553
  *
2534
2554
  * @generated from field: repeated data.v2.TimeSeriesPoint fdv_series = 3;
2535
2555
  */
2536
2556
  fdvSeries: TimeSeriesPoint[];
2557
+ /**
2558
+ * Aggregate member pool TVL over time. Empty unless include_charts; empty
2559
+ * for a token category.
2560
+ *
2561
+ * @generated from field: repeated data.v2.TimeSeriesPoint tvl_series = 4;
2562
+ */
2563
+ tvlSeries: TimeSeriesPoint[];
2564
+ /**
2565
+ * Aggregate member pool LP fees over time. Empty unless include_charts;
2566
+ * empty for a token category.
2567
+ *
2568
+ * @generated from field: repeated data.v2.TimeSeriesPoint fees_series = 5;
2569
+ */
2570
+ feesSeries: TimeSeriesPoint[];
2571
+ /**
2572
+ * Set for a pool category id; unset for a token category id.
2573
+ *
2574
+ * @generated from field: data.v2.RankedPoolCategory pool_category = 6;
2575
+ */
2576
+ poolCategory?: RankedPoolCategory;
2537
2577
  constructor(data?: PartialMessage<GetCategoryResponse>);
2538
2578
  static readonly runtime: typeof proto3;
2539
2579
  static readonly typeName = "data.v2.GetCategoryResponse";
@@ -7,7 +7,7 @@ import { FiatAmount, FiatCurrency, HistoryDuration, Launch, LaunchesOrderBy, Lau
7
7
  import { PageRequest, PageResponse } from "./common_pb.js";
8
8
  import { EarnPosition, EarnVault } from "./earn_pb.js";
9
9
  import { TimestampedValue } from "../v1/types_pb.js";
10
- import { RankedCategory, TimeSeriesPoint } from "./categories_pb.js";
10
+ import { CategoryKind, RankedCategory, RankedPoolCategory, TimeSeriesPoint } from "./categories_pb.js";
11
11
  import { RankedTokenGroup, TokenGroup, TokenGroupListFilter } from "./tokenGroups_pb.js";
12
12
  import { ProtocolVersion } from "../v1/poolTypes_pb.js";
13
13
  /**
@@ -2805,11 +2805,18 @@ export class ListCategoriesRequest extends Message {
2805
2805
  constructor(data) {
2806
2806
  super();
2807
2807
  /**
2808
- * Chains to scope the aggregate stats and top_tokens to. Must be non-empty.
2808
+ * Chains to scope the aggregate stats and top_tokens / top_pools to. Must
2809
+ * be non-empty.
2809
2810
  *
2810
2811
  * @generated from field: repeated uint32 chain_ids = 1;
2811
2812
  */
2812
2813
  this.chainIds = [];
2814
+ /**
2815
+ * Which taxonomy to list. UNSPECIFIED reads as TOKEN.
2816
+ *
2817
+ * @generated from field: data.v2.CategoryKind kind = 2;
2818
+ */
2819
+ this.kind = CategoryKind.UNSPECIFIED;
2813
2820
  proto3.util.initPartial(data, this);
2814
2821
  }
2815
2822
  static fromBinary(bytes, options) {
@@ -2829,6 +2836,7 @@ ListCategoriesRequest.runtime = proto3;
2829
2836
  ListCategoriesRequest.typeName = "data.v2.ListCategoriesRequest";
2830
2837
  ListCategoriesRequest.fields = proto3.util.newFieldList(() => [
2831
2838
  { no: 1, name: "chain_ids", kind: "scalar", T: 13 /* ScalarType.UINT32 */, repeated: true },
2839
+ { no: 2, name: "kind", kind: "enum", T: proto3.getEnumType(CategoryKind) },
2832
2840
  ]);
2833
2841
  /**
2834
2842
  * @generated from message data.v2.ListCategoriesResponse
@@ -2837,9 +2845,17 @@ export class ListCategoriesResponse extends Message {
2837
2845
  constructor(data) {
2838
2846
  super();
2839
2847
  /**
2848
+ * Set for kind TOKEN; empty for kind POOL.
2849
+ *
2840
2850
  * @generated from field: repeated data.v2.RankedCategory categories = 1;
2841
2851
  */
2842
2852
  this.categories = [];
2853
+ /**
2854
+ * Set for kind POOL; empty for kind TOKEN. One list per kind, never both.
2855
+ *
2856
+ * @generated from field: repeated data.v2.RankedPoolCategory pool_categories = 2;
2857
+ */
2858
+ this.poolCategories = [];
2843
2859
  proto3.util.initPartial(data, this);
2844
2860
  }
2845
2861
  static fromBinary(bytes, options) {
@@ -2859,6 +2875,7 @@ ListCategoriesResponse.runtime = proto3;
2859
2875
  ListCategoriesResponse.typeName = "data.v2.ListCategoriesResponse";
2860
2876
  ListCategoriesResponse.fields = proto3.util.newFieldList(() => [
2861
2877
  { no: 1, name: "categories", kind: "message", T: RankedCategory, repeated: true },
2878
+ { no: 2, name: "pool_categories", kind: "message", T: RankedPoolCategory, repeated: true },
2862
2879
  ]);
2863
2880
  /**
2864
2881
  * @generated from message data.v2.GetCategoryRequest
@@ -2911,17 +2928,34 @@ export class GetCategoryResponse extends Message {
2911
2928
  constructor(data) {
2912
2929
  super();
2913
2930
  /**
2914
- * Aggregate member swap volume over time. Empty unless include_charts.
2931
+ * Aggregate member swap volume over time: the members' trading volume for
2932
+ * a token category, the member pools' swap volume for a pool category.
2933
+ * Empty unless include_charts.
2915
2934
  *
2916
2935
  * @generated from field: repeated data.v2.TimeSeriesPoint volume_series = 2;
2917
2936
  */
2918
2937
  this.volumeSeries = [];
2919
2938
  /**
2920
- * Aggregate member FDV over time. Empty unless include_charts.
2939
+ * Aggregate member FDV over time. Empty unless include_charts; empty for a
2940
+ * pool category.
2921
2941
  *
2922
2942
  * @generated from field: repeated data.v2.TimeSeriesPoint fdv_series = 3;
2923
2943
  */
2924
2944
  this.fdvSeries = [];
2945
+ /**
2946
+ * Aggregate member pool TVL over time. Empty unless include_charts; empty
2947
+ * for a token category.
2948
+ *
2949
+ * @generated from field: repeated data.v2.TimeSeriesPoint tvl_series = 4;
2950
+ */
2951
+ this.tvlSeries = [];
2952
+ /**
2953
+ * Aggregate member pool LP fees over time. Empty unless include_charts;
2954
+ * empty for a token category.
2955
+ *
2956
+ * @generated from field: repeated data.v2.TimeSeriesPoint fees_series = 5;
2957
+ */
2958
+ this.feesSeries = [];
2925
2959
  proto3.util.initPartial(data, this);
2926
2960
  }
2927
2961
  static fromBinary(bytes, options) {
@@ -2943,6 +2977,9 @@ GetCategoryResponse.fields = proto3.util.newFieldList(() => [
2943
2977
  { no: 1, name: "category", kind: "message", T: RankedCategory },
2944
2978
  { no: 2, name: "volume_series", kind: "message", T: TimeSeriesPoint, repeated: true },
2945
2979
  { no: 3, name: "fdv_series", kind: "message", T: TimeSeriesPoint, repeated: true },
2980
+ { no: 4, name: "tvl_series", kind: "message", T: TimeSeriesPoint, repeated: true },
2981
+ { no: 5, name: "fees_series", kind: "message", T: TimeSeriesPoint, repeated: true },
2982
+ { no: 6, name: "pool_category", kind: "message", T: RankedPoolCategory },
2946
2983
  ]);
2947
2984
  /**
2948
2985
  * @generated from message data.v2.ListTokenGroupsRequest
@@ -1,5 +1,6 @@
1
1
  import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
2
  import { Message, proto3 } from "@bufbuild/protobuf";
3
+ import { ProtocolVersion } from "../v1/poolTypes_pb.js";
3
4
  import { TokensSort } from "./types_pb.js";
4
5
  import { TokenGroup } from "./tokenGroups_pb.js";
5
6
  /**
@@ -29,6 +30,27 @@ export declare enum CategoryClass {
29
30
  */
30
31
  SECTOR = 3
31
32
  }
33
+ /**
34
+ * Which taxonomy a category belongs to. Ids are unique across kinds.
35
+ *
36
+ * @generated from enum data.v2.CategoryKind
37
+ */
38
+ export declare enum CategoryKind {
39
+ /**
40
+ * Read as TOKEN: a category that carries no kind is a token category.
41
+ *
42
+ * @generated from enum value: CATEGORY_KIND_UNSPECIFIED = 0;
43
+ */
44
+ UNSPECIFIED = 0,
45
+ /**
46
+ * @generated from enum value: CATEGORY_KIND_TOKEN = 1;
47
+ */
48
+ TOKEN = 1,
49
+ /**
50
+ * @generated from enum value: CATEGORY_KIND_POOL = 2;
51
+ */
52
+ POOL = 2
53
+ }
32
54
  /**
33
55
  * One member token of a category.
34
56
  *
@@ -60,6 +82,55 @@ export declare class CategoryTopToken extends Message<CategoryTopToken> {
60
82
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CategoryTopToken;
61
83
  static equals(a: CategoryTopToken | PlainMessage<CategoryTopToken> | undefined, b: CategoryTopToken | PlainMessage<CategoryTopToken> | undefined): boolean;
62
84
  }
85
+ /**
86
+ * One member pool of a pool category: the pool twin of CategoryTopToken.
87
+ *
88
+ * @generated from message data.v2.CategoryTopPool
89
+ */
90
+ export declare class CategoryTopPool extends Message<CategoryTopPool> {
91
+ /**
92
+ * @generated from field: uint32 chain_id = 1;
93
+ */
94
+ chainId: number;
95
+ /**
96
+ * Same value as Pool.pool_id: checksummed pool address (V4: pool id hash).
97
+ *
98
+ * @generated from field: string pool_id = 2;
99
+ */
100
+ poolId: string;
101
+ /**
102
+ * @generated from field: string token0_symbol = 3;
103
+ */
104
+ token0Symbol: string;
105
+ /**
106
+ * @generated from field: string token0_logo_url = 4;
107
+ */
108
+ token0LogoUrl: string;
109
+ /**
110
+ * @generated from field: string token1_symbol = 5;
111
+ */
112
+ token1Symbol: string;
113
+ /**
114
+ * @generated from field: string token1_logo_url = 6;
115
+ */
116
+ token1LogoUrl: string;
117
+ /**
118
+ * @generated from field: pools.v1.ProtocolVersion protocol_version = 7;
119
+ */
120
+ protocolVersion: ProtocolVersion;
121
+ /**
122
+ * @generated from field: optional uint32 fee_tier = 8;
123
+ */
124
+ feeTier?: number;
125
+ constructor(data?: PartialMessage<CategoryTopPool>);
126
+ static readonly runtime: typeof proto3;
127
+ static readonly typeName = "data.v2.CategoryTopPool";
128
+ static readonly fields: FieldList;
129
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CategoryTopPool;
130
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CategoryTopPool;
131
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CategoryTopPool;
132
+ static equals(a: CategoryTopPool | PlainMessage<CategoryTopPool> | undefined, b: CategoryTopPool | PlainMessage<CategoryTopPool> | undefined): boolean;
133
+ }
63
134
  /**
64
135
  * Chain-scoped, multichain-deduped aggregates over the category's members.
65
136
  *
@@ -116,6 +187,57 @@ export declare class CategoryAggregateStats extends Message<CategoryAggregateSta
116
187
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CategoryAggregateStats;
117
188
  static equals(a: CategoryAggregateStats | PlainMessage<CategoryAggregateStats> | undefined, b: CategoryAggregateStats | PlainMessage<CategoryAggregateStats> | undefined): boolean;
118
189
  }
190
+ /**
191
+ * Chain-scoped aggregates over a pool category's members. USD values.
192
+ *
193
+ * @generated from message data.v2.CategoryPoolAggregateStats
194
+ */
195
+ export declare class CategoryPoolAggregateStats extends Message<CategoryPoolAggregateStats> {
196
+ /**
197
+ * @generated from field: uint32 pool_count = 1;
198
+ */
199
+ poolCount: number;
200
+ /**
201
+ * @generated from field: double tvl = 2;
202
+ */
203
+ tvl: number;
204
+ /**
205
+ * @generated from field: double volume_1d = 3;
206
+ */
207
+ volume1d: number;
208
+ /**
209
+ * @generated from field: double volume_1w = 4;
210
+ */
211
+ volume1w: number;
212
+ /**
213
+ * @generated from field: double volume_1m = 5;
214
+ */
215
+ volume1m: number;
216
+ /**
217
+ * @generated from field: double fees_1d = 6;
218
+ */
219
+ fees1d: number;
220
+ /**
221
+ * @generated from field: optional double tvl_change_24h_pct = 7;
222
+ */
223
+ tvlChange24hPct?: number;
224
+ /**
225
+ * @generated from field: optional double volume_change_24h_pct = 8;
226
+ */
227
+ volumeChange24hPct?: number;
228
+ /**
229
+ * @generated from field: optional double avg_apr = 9;
230
+ */
231
+ avgApr?: number;
232
+ constructor(data?: PartialMessage<CategoryPoolAggregateStats>);
233
+ static readonly runtime: typeof proto3;
234
+ static readonly typeName = "data.v2.CategoryPoolAggregateStats";
235
+ static readonly fields: FieldList;
236
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CategoryPoolAggregateStats;
237
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CategoryPoolAggregateStats;
238
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CategoryPoolAggregateStats;
239
+ static equals(a: CategoryPoolAggregateStats | PlainMessage<CategoryPoolAggregateStats> | undefined, b: CategoryPoolAggregateStats | PlainMessage<CategoryPoolAggregateStats> | undefined): boolean;
240
+ }
119
241
  /**
120
242
  * Category identity: stable, request-independent metadata.
121
243
  *
@@ -163,11 +285,19 @@ export declare class Category extends Message<Category> {
163
285
  };
164
286
  /**
165
287
  * Sort the category page opens with, before the user picks a column.
166
- * Always set. Feed it to ListTokens / ListTokenGroups as the sort.
288
+ * Always set for a token category; feed it to ListTokens / ListTokenGroups
289
+ * as the sort. Unset for a pool category, whose page opens on 1D volume,
290
+ * highest first.
167
291
  *
168
292
  * @generated from field: data.v2.TokensSort default_sort = 9;
169
293
  */
170
294
  defaultSort?: TokensSort;
295
+ /**
296
+ * UNSPECIFIED reads as TOKEN.
297
+ *
298
+ * @generated from field: data.v2.CategoryKind kind = 10;
299
+ */
300
+ kind: CategoryKind;
171
301
  constructor(data?: PartialMessage<Category>);
172
302
  static readonly runtime: typeof proto3;
173
303
  static readonly typeName = "data.v2.Category";
@@ -212,6 +342,37 @@ export declare class RankedCategory extends Message<RankedCategory> {
212
342
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RankedCategory;
213
343
  static equals(a: RankedCategory | PlainMessage<RankedCategory> | undefined, b: RankedCategory | PlainMessage<RankedCategory> | undefined): boolean;
214
344
  }
345
+ /**
346
+ * A pool category plus its chain-scoped market view: the pool twin of
347
+ * RankedCategory. Served by ListCategories(kind: POOL) and by GetCategory for
348
+ * a pool category id.
349
+ *
350
+ * @generated from message data.v2.RankedPoolCategory
351
+ */
352
+ export declare class RankedPoolCategory extends Message<RankedPoolCategory> {
353
+ /**
354
+ * @generated from field: data.v2.Category category = 1;
355
+ */
356
+ category?: Category;
357
+ /**
358
+ * @generated from field: data.v2.CategoryPoolAggregateStats stats = 2;
359
+ */
360
+ stats?: CategoryPoolAggregateStats;
361
+ /**
362
+ * The members a logo pile renders, highest TVL first.
363
+ *
364
+ * @generated from field: repeated data.v2.CategoryTopPool top_pools = 3;
365
+ */
366
+ topPools: CategoryTopPool[];
367
+ constructor(data?: PartialMessage<RankedPoolCategory>);
368
+ static readonly runtime: typeof proto3;
369
+ static readonly typeName = "data.v2.RankedPoolCategory";
370
+ static readonly fields: FieldList;
371
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RankedPoolCategory;
372
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RankedPoolCategory;
373
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RankedPoolCategory;
374
+ static equals(a: RankedPoolCategory | PlainMessage<RankedPoolCategory> | undefined, b: RankedPoolCategory | PlainMessage<RankedPoolCategory> | undefined): boolean;
375
+ }
215
376
  /**
216
377
  * @generated from message data.v2.TimeSeriesPoint
217
378
  */
@@ -3,6 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
  import { Message, proto3, protoInt64 } from "@bufbuild/protobuf";
6
+ import { ProtocolVersion } from "../v1/poolTypes_pb.js";
6
7
  import { TokensSort } from "./types_pb.js";
7
8
  import { TokenGroup } from "./tokenGroups_pb.js";
8
9
  /**
@@ -40,6 +41,34 @@ proto3.util.setEnumType(CategoryClass, "data.v2.CategoryClass", [
40
41
  { no: 2, name: "CATEGORY_CLASS_ASSET" },
41
42
  { no: 3, name: "CATEGORY_CLASS_SECTOR" },
42
43
  ]);
44
+ /**
45
+ * Which taxonomy a category belongs to. Ids are unique across kinds.
46
+ *
47
+ * @generated from enum data.v2.CategoryKind
48
+ */
49
+ export var CategoryKind;
50
+ (function (CategoryKind) {
51
+ /**
52
+ * Read as TOKEN: a category that carries no kind is a token category.
53
+ *
54
+ * @generated from enum value: CATEGORY_KIND_UNSPECIFIED = 0;
55
+ */
56
+ CategoryKind[CategoryKind["UNSPECIFIED"] = 0] = "UNSPECIFIED";
57
+ /**
58
+ * @generated from enum value: CATEGORY_KIND_TOKEN = 1;
59
+ */
60
+ CategoryKind[CategoryKind["TOKEN"] = 1] = "TOKEN";
61
+ /**
62
+ * @generated from enum value: CATEGORY_KIND_POOL = 2;
63
+ */
64
+ CategoryKind[CategoryKind["POOL"] = 2] = "POOL";
65
+ })(CategoryKind || (CategoryKind = {}));
66
+ // Retrieve enum metadata with: proto3.getEnumType(CategoryKind)
67
+ proto3.util.setEnumType(CategoryKind, "data.v2.CategoryKind", [
68
+ { no: 0, name: "CATEGORY_KIND_UNSPECIFIED" },
69
+ { no: 1, name: "CATEGORY_KIND_TOKEN" },
70
+ { no: 2, name: "CATEGORY_KIND_POOL" },
71
+ ]);
43
72
  /**
44
73
  * One member token of a category.
45
74
  *
@@ -87,6 +116,71 @@ CategoryTopToken.fields = proto3.util.newFieldList(() => [
87
116
  { no: 3, name: "symbol", kind: "scalar", T: 9 /* ScalarType.STRING */ },
88
117
  { no: 4, name: "logo_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
89
118
  ]);
119
+ /**
120
+ * One member pool of a pool category: the pool twin of CategoryTopToken.
121
+ *
122
+ * @generated from message data.v2.CategoryTopPool
123
+ */
124
+ export class CategoryTopPool extends Message {
125
+ constructor(data) {
126
+ super();
127
+ /**
128
+ * @generated from field: uint32 chain_id = 1;
129
+ */
130
+ this.chainId = 0;
131
+ /**
132
+ * Same value as Pool.pool_id: checksummed pool address (V4: pool id hash).
133
+ *
134
+ * @generated from field: string pool_id = 2;
135
+ */
136
+ this.poolId = "";
137
+ /**
138
+ * @generated from field: string token0_symbol = 3;
139
+ */
140
+ this.token0Symbol = "";
141
+ /**
142
+ * @generated from field: string token0_logo_url = 4;
143
+ */
144
+ this.token0LogoUrl = "";
145
+ /**
146
+ * @generated from field: string token1_symbol = 5;
147
+ */
148
+ this.token1Symbol = "";
149
+ /**
150
+ * @generated from field: string token1_logo_url = 6;
151
+ */
152
+ this.token1LogoUrl = "";
153
+ /**
154
+ * @generated from field: pools.v1.ProtocolVersion protocol_version = 7;
155
+ */
156
+ this.protocolVersion = ProtocolVersion.UNSPECIFIED;
157
+ proto3.util.initPartial(data, this);
158
+ }
159
+ static fromBinary(bytes, options) {
160
+ return new CategoryTopPool().fromBinary(bytes, options);
161
+ }
162
+ static fromJson(jsonValue, options) {
163
+ return new CategoryTopPool().fromJson(jsonValue, options);
164
+ }
165
+ static fromJsonString(jsonString, options) {
166
+ return new CategoryTopPool().fromJsonString(jsonString, options);
167
+ }
168
+ static equals(a, b) {
169
+ return proto3.util.equals(CategoryTopPool, a, b);
170
+ }
171
+ }
172
+ CategoryTopPool.runtime = proto3;
173
+ CategoryTopPool.typeName = "data.v2.CategoryTopPool";
174
+ CategoryTopPool.fields = proto3.util.newFieldList(() => [
175
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
176
+ { no: 2, name: "pool_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
177
+ { no: 3, name: "token0_symbol", kind: "scalar", T: 9 /* ScalarType.STRING */ },
178
+ { no: 4, name: "token0_logo_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
179
+ { no: 5, name: "token1_symbol", kind: "scalar", T: 9 /* ScalarType.STRING */ },
180
+ { no: 6, name: "token1_logo_url", kind: "scalar", T: 9 /* ScalarType.STRING */ },
181
+ { no: 7, name: "protocol_version", kind: "enum", T: proto3.getEnumType(ProtocolVersion) },
182
+ { no: 8, name: "fee_tier", kind: "scalar", T: 13 /* ScalarType.UINT32 */, opt: true },
183
+ ]);
90
184
  /**
91
185
  * Chain-scoped, multichain-deduped aggregates over the category's members.
92
186
  *
@@ -156,6 +250,66 @@ CategoryAggregateStats.fields = proto3.util.newFieldList(() => [
156
250
  { no: 8, name: "fdv", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
157
251
  { no: 9, name: "market_cap", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
158
252
  ]);
253
+ /**
254
+ * Chain-scoped aggregates over a pool category's members. USD values.
255
+ *
256
+ * @generated from message data.v2.CategoryPoolAggregateStats
257
+ */
258
+ export class CategoryPoolAggregateStats extends Message {
259
+ constructor(data) {
260
+ super();
261
+ /**
262
+ * @generated from field: uint32 pool_count = 1;
263
+ */
264
+ this.poolCount = 0;
265
+ /**
266
+ * @generated from field: double tvl = 2;
267
+ */
268
+ this.tvl = 0;
269
+ /**
270
+ * @generated from field: double volume_1d = 3;
271
+ */
272
+ this.volume1d = 0;
273
+ /**
274
+ * @generated from field: double volume_1w = 4;
275
+ */
276
+ this.volume1w = 0;
277
+ /**
278
+ * @generated from field: double volume_1m = 5;
279
+ */
280
+ this.volume1m = 0;
281
+ /**
282
+ * @generated from field: double fees_1d = 6;
283
+ */
284
+ this.fees1d = 0;
285
+ proto3.util.initPartial(data, this);
286
+ }
287
+ static fromBinary(bytes, options) {
288
+ return new CategoryPoolAggregateStats().fromBinary(bytes, options);
289
+ }
290
+ static fromJson(jsonValue, options) {
291
+ return new CategoryPoolAggregateStats().fromJson(jsonValue, options);
292
+ }
293
+ static fromJsonString(jsonString, options) {
294
+ return new CategoryPoolAggregateStats().fromJsonString(jsonString, options);
295
+ }
296
+ static equals(a, b) {
297
+ return proto3.util.equals(CategoryPoolAggregateStats, a, b);
298
+ }
299
+ }
300
+ CategoryPoolAggregateStats.runtime = proto3;
301
+ CategoryPoolAggregateStats.typeName = "data.v2.CategoryPoolAggregateStats";
302
+ CategoryPoolAggregateStats.fields = proto3.util.newFieldList(() => [
303
+ { no: 1, name: "pool_count", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
304
+ { no: 2, name: "tvl", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
305
+ { no: 3, name: "volume_1d", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
306
+ { no: 4, name: "volume_1w", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
307
+ { no: 5, name: "volume_1m", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
308
+ { no: 6, name: "fees_1d", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
309
+ { no: 7, name: "tvl_change_24h_pct", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
310
+ { no: 8, name: "volume_change_24h_pct", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
311
+ { no: 9, name: "avg_apr", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
312
+ ]);
159
313
  /**
160
314
  * Category identity: stable, request-independent metadata.
161
315
  *
@@ -199,6 +353,12 @@ export class Category extends Message {
199
353
  * @generated from field: map<string, string> description_translations = 8;
200
354
  */
201
355
  this.descriptionTranslations = {};
356
+ /**
357
+ * UNSPECIFIED reads as TOKEN.
358
+ *
359
+ * @generated from field: data.v2.CategoryKind kind = 10;
360
+ */
361
+ this.kind = CategoryKind.UNSPECIFIED;
202
362
  proto3.util.initPartial(data, this);
203
363
  }
204
364
  static fromBinary(bytes, options) {
@@ -225,6 +385,7 @@ Category.fields = proto3.util.newFieldList(() => [
225
385
  { no: 7, name: "name_translations", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
226
386
  { no: 8, name: "description_translations", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "scalar", T: 9 /* ScalarType.STRING */ } },
227
387
  { no: 9, name: "default_sort", kind: "message", T: TokensSort },
388
+ { no: 10, name: "kind", kind: "enum", T: proto3.getEnumType(CategoryKind) },
228
389
  ]);
229
390
  /**
230
391
  * A category plus its chain-scoped market view (mirrors RankedPool /
@@ -269,6 +430,44 @@ RankedCategory.fields = proto3.util.newFieldList(() => [
269
430
  { no: 3, name: "top_tokens", kind: "message", T: CategoryTopToken, repeated: true },
270
431
  { no: 4, name: "top_groups", kind: "message", T: TokenGroup, repeated: true },
271
432
  ]);
433
+ /**
434
+ * A pool category plus its chain-scoped market view: the pool twin of
435
+ * RankedCategory. Served by ListCategories(kind: POOL) and by GetCategory for
436
+ * a pool category id.
437
+ *
438
+ * @generated from message data.v2.RankedPoolCategory
439
+ */
440
+ export class RankedPoolCategory extends Message {
441
+ constructor(data) {
442
+ super();
443
+ /**
444
+ * The members a logo pile renders, highest TVL first.
445
+ *
446
+ * @generated from field: repeated data.v2.CategoryTopPool top_pools = 3;
447
+ */
448
+ this.topPools = [];
449
+ proto3.util.initPartial(data, this);
450
+ }
451
+ static fromBinary(bytes, options) {
452
+ return new RankedPoolCategory().fromBinary(bytes, options);
453
+ }
454
+ static fromJson(jsonValue, options) {
455
+ return new RankedPoolCategory().fromJson(jsonValue, options);
456
+ }
457
+ static fromJsonString(jsonString, options) {
458
+ return new RankedPoolCategory().fromJsonString(jsonString, options);
459
+ }
460
+ static equals(a, b) {
461
+ return proto3.util.equals(RankedPoolCategory, a, b);
462
+ }
463
+ }
464
+ RankedPoolCategory.runtime = proto3;
465
+ RankedPoolCategory.typeName = "data.v2.RankedPoolCategory";
466
+ RankedPoolCategory.fields = proto3.util.newFieldList(() => [
467
+ { no: 1, name: "category", kind: "message", T: Category },
468
+ { no: 2, name: "stats", kind: "message", T: CategoryPoolAggregateStats },
469
+ { no: 3, name: "top_pools", kind: "message", T: CategoryTopPool, repeated: true },
470
+ ]);
272
471
  /**
273
472
  * @generated from message data.v2.TimeSeriesPoint
274
473
  */
@@ -33,7 +33,14 @@ export declare enum SearchType {
33
33
  *
34
34
  * @generated from enum value: SEARCH_TYPE_TOKEN_GROUP = 5;
35
35
  */
36
- TOKEN_GROUP = 5
36
+ TOKEN_GROUP = 5,
37
+ /**
38
+ * Pool categories whose name has a word that starts with the query.
39
+ * CATEGORY stays token-only.
40
+ *
41
+ * @generated from enum value: SEARCH_TYPE_POOL_CATEGORY = 6;
42
+ */
43
+ POOL_CATEGORY = 6
37
44
  }
38
45
  /**
39
46
  * Where an auction is in its life, decided server-side from the chain head against start_block/end_block and, once ended, from the raise outcome.
@@ -156,6 +163,13 @@ export declare class SearchResponse extends Message<SearchResponse> {
156
163
  * @generated from field: repeated data.v2.RankedTokenGroup token_groups = 6;
157
164
  */
158
165
  tokenGroups: RankedTokenGroup[];
166
+ /**
167
+ * Matching pool-category ids; hydrate display data from
168
+ * ListCategories(kind: POOL). Only with SEARCH_TYPE_POOL_CATEGORY.
169
+ *
170
+ * @generated from field: repeated string pool_category_ids = 7;
171
+ */
172
+ poolCategoryIds: string[];
159
173
  constructor(data?: PartialMessage<SearchResponse>);
160
174
  static readonly runtime: typeof proto3;
161
175
  static readonly typeName = "data.v2.SearchResponse";
@@ -38,6 +38,13 @@ export var SearchType;
38
38
  * @generated from enum value: SEARCH_TYPE_TOKEN_GROUP = 5;
39
39
  */
40
40
  SearchType[SearchType["TOKEN_GROUP"] = 5] = "TOKEN_GROUP";
41
+ /**
42
+ * Pool categories whose name has a word that starts with the query.
43
+ * CATEGORY stays token-only.
44
+ *
45
+ * @generated from enum value: SEARCH_TYPE_POOL_CATEGORY = 6;
46
+ */
47
+ SearchType[SearchType["POOL_CATEGORY"] = 6] = "POOL_CATEGORY";
41
48
  })(SearchType || (SearchType = {}));
42
49
  // Retrieve enum metadata with: proto3.getEnumType(SearchType)
43
50
  proto3.util.setEnumType(SearchType, "data.v2.SearchType", [
@@ -47,6 +54,7 @@ proto3.util.setEnumType(SearchType, "data.v2.SearchType", [
47
54
  { no: 3, name: "SEARCH_TYPE_AUCTION" },
48
55
  { no: 4, name: "SEARCH_TYPE_CATEGORY" },
49
56
  { no: 5, name: "SEARCH_TYPE_TOKEN_GROUP" },
57
+ { no: 6, name: "SEARCH_TYPE_POOL_CATEGORY" },
50
58
  ]);
51
59
  /**
52
60
  * Where an auction is in its life, decided server-side from the chain head against start_block/end_block and, once ended, from the raise outcome.
@@ -190,6 +198,13 @@ export class SearchResponse extends Message {
190
198
  * @generated from field: repeated data.v2.RankedTokenGroup token_groups = 6;
191
199
  */
192
200
  this.tokenGroups = [];
201
+ /**
202
+ * Matching pool-category ids; hydrate display data from
203
+ * ListCategories(kind: POOL). Only with SEARCH_TYPE_POOL_CATEGORY.
204
+ *
205
+ * @generated from field: repeated string pool_category_ids = 7;
206
+ */
207
+ this.poolCategoryIds = [];
193
208
  proto3.util.initPartial(data, this);
194
209
  }
195
210
  static fromBinary(bytes, options) {
@@ -214,6 +229,7 @@ SearchResponse.fields = proto3.util.newFieldList(() => [
214
229
  { no: 4, name: "auctions", kind: "message", T: SearchAuction, repeated: true },
215
230
  { no: 5, name: "category_ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
216
231
  { no: 6, name: "token_groups", kind: "message", T: RankedTokenGroup, repeated: true },
232
+ { no: 7, name: "pool_category_ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
217
233
  ]);
218
234
  /**
219
235
  * @generated from message data.v2.SearchAuction
@@ -1417,6 +1417,13 @@ export declare class Pool extends Message<Pool> {
1417
1417
  * @generated from field: optional uint32 current_lp_fee = 15;
1418
1418
  */
1419
1419
  currentLpFee?: number;
1420
+ /**
1421
+ * Pool-category ids this pool belongs to, ordered by display precedence:
1422
+ * the first id is the preferred tag. Mirrors Token.category_ids.
1423
+ *
1424
+ * @generated from field: repeated string category_ids = 16;
1425
+ */
1426
+ categoryIds: string[];
1420
1427
  constructor(data?: PartialMessage<Pool>);
1421
1428
  static readonly runtime: typeof proto3;
1422
1429
  static readonly typeName = "data.v2.Pool";
@@ -1591,6 +1598,14 @@ export declare class PoolListFilter extends Message<PoolListFilter> {
1591
1598
  * @generated from field: optional string search_query = 10;
1592
1599
  */
1593
1600
  searchQuery?: string;
1601
+ /**
1602
+ * Serve only members of these pool categories: OR within this list, AND
1603
+ * with the other filter fields. An unknown id, a token-category id
1604
+ * included, is rejected.
1605
+ *
1606
+ * @generated from field: repeated string category_ids = 12;
1607
+ */
1608
+ categoryIds: string[];
1594
1609
  constructor(data?: PartialMessage<PoolListFilter>);
1595
1610
  static readonly runtime: typeof proto3;
1596
1611
  static readonly typeName = "data.v2.PoolListFilter";
@@ -1492,6 +1492,13 @@ export class Pool extends Message {
1492
1492
  * @generated from field: bool is_dynamic_fee = 8;
1493
1493
  */
1494
1494
  this.isDynamicFee = false;
1495
+ /**
1496
+ * Pool-category ids this pool belongs to, ordered by display precedence:
1497
+ * the first id is the preferred tag. Mirrors Token.category_ids.
1498
+ *
1499
+ * @generated from field: repeated string category_ids = 16;
1500
+ */
1501
+ this.categoryIds = [];
1495
1502
  proto3.util.initPartial(data, this);
1496
1503
  }
1497
1504
  static fromBinary(bytes, options) {
@@ -1525,6 +1532,7 @@ Pool.fields = proto3.util.newFieldList(() => [
1525
1532
  { no: 13, name: "protocol_fee", kind: "scalar", T: 13 /* ScalarType.UINT32 */, opt: true },
1526
1533
  { no: 14, name: "effective_fee", kind: "scalar", T: 13 /* ScalarType.UINT32 */, opt: true },
1527
1534
  { no: 15, name: "current_lp_fee", kind: "scalar", T: 13 /* ScalarType.UINT32 */, opt: true },
1535
+ { no: 16, name: "category_ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
1528
1536
  ]);
1529
1537
  /**
1530
1538
  * @generated from message data.v2.PoolTokenFilter
@@ -1639,6 +1647,14 @@ export class PoolListFilter extends Message {
1639
1647
  * @generated from field: repeated uint32 fee_tiers = 5;
1640
1648
  */
1641
1649
  this.feeTiers = [];
1650
+ /**
1651
+ * Serve only members of these pool categories: OR within this list, AND
1652
+ * with the other filter fields. An unknown id, a token-category id
1653
+ * included, is rejected.
1654
+ *
1655
+ * @generated from field: repeated string category_ids = 12;
1656
+ */
1657
+ this.categoryIds = [];
1642
1658
  proto3.util.initPartial(data, this);
1643
1659
  }
1644
1660
  static fromBinary(bytes, options) {
@@ -1667,6 +1683,7 @@ PoolListFilter.fields = proto3.util.newFieldList(() => [
1667
1683
  { no: 8, name: "apply_top_level_filters", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
1668
1684
  { no: 9, name: "rewards_only", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
1669
1685
  { no: 10, name: "search_query", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1686
+ { no: 12, name: "category_ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
1670
1687
  ]);
1671
1688
  /**
1672
1689
  * Returned by ListPools — wraps a Pool with its ranking stats.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-data-api",
3
- "version": "0.0.278",
3
+ "version": "0.0.279",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },