@uniswap/client-data-api 0.0.152 → 0.0.154

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.
@@ -1,5 +1,5 @@
1
1
  import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
- import { Message, proto3 } from "@bufbuild/protobuf";
2
+ import { Message, proto3, Timestamp } from "@bufbuild/protobuf";
3
3
  import { ProtectionInfo } from "./types_pb.js";
4
4
  /**
5
5
  * How a graduated LP position is locked (which timelock recipient contract holds it,
@@ -564,6 +564,20 @@ export declare class Auction extends Message<Auction> {
564
564
  * @generated from field: bool is_quick_launch = 46;
565
565
  */
566
566
  isQuickLaunch: boolean;
567
+ /**
568
+ * Wall-clock time of end_block, computed server-side (LP-1300): the exact
569
+ * block timestamp once the end block is mined; before that, an estimate
570
+ * from a per-chain block-time model fitted on recent blocks (so it tracks
571
+ * demand-driven Orbit chains where a fixed seconds-per-block guess drifts).
572
+ * Unset when neither the lookup nor the estimate is available. In listing
573
+ * responses (ListTopAuctions) it is only populated for non-graduated
574
+ * auctions — a graduated auction's end time carries no signal there and
575
+ * resolving it would concentrate per-auction header fetches; GetAuction
576
+ * populates it regardless of lifecycle.
577
+ *
578
+ * @generated from field: optional google.protobuf.Timestamp estimated_end_time = 47;
579
+ */
580
+ estimatedEndTime?: Timestamp;
567
581
  constructor(data?: PartialMessage<Auction>);
568
582
  static readonly runtime: typeof proto3;
569
583
  static readonly typeName = "data.v1.Auction";
@@ -2,7 +2,7 @@
2
2
  // @generated from file data/v1/auction.proto (package data.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
- import { Message, proto3, protoInt64 } from "@bufbuild/protobuf";
5
+ import { Message, proto3, protoInt64, Timestamp } from "@bufbuild/protobuf";
6
6
  import { ProtectionInfo } from "./types_pb.js";
7
7
  /**
8
8
  * How a graduated LP position is locked (which timelock recipient contract holds it,
@@ -640,6 +640,7 @@ Auction.fields = proto3.util.newFieldList(() => [
640
640
  { no: 44, name: "liquidity_lock", kind: "message", T: LiquidityLockInfo, opt: true },
641
641
  { no: 45, name: "pool_owner", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
642
642
  { no: 46, name: "is_quick_launch", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
643
+ { no: 47, name: "estimated_end_time", kind: "message", T: Timestamp, opt: true },
643
644
  ]);
644
645
  /**
645
646
  * Response containing auctions.
@@ -1,5 +1,5 @@
1
1
  import { MethodKind } from "@bufbuild/protobuf";
2
- import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
2
+ import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchActivityStatsRequest, GetLaunchActivityStatsResponse, GetLaunchClaimsRequest, GetLaunchClaimsResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
3
3
  /**
4
4
  * @generated from rpc data.v2.DataApiService.GetToken
5
5
  */
@@ -286,3 +286,29 @@ export declare const getLaunchHolders: {
286
286
  readonly typeName: "data.v2.DataApiService";
287
287
  };
288
288
  };
289
+ /**
290
+ * @generated from rpc data.v2.DataApiService.GetLaunchActivityStats
291
+ */
292
+ export declare const getLaunchActivityStats: {
293
+ readonly localName: "getLaunchActivityStats";
294
+ readonly name: "GetLaunchActivityStats";
295
+ readonly kind: MethodKind.Unary;
296
+ readonly I: typeof GetLaunchActivityStatsRequest;
297
+ readonly O: typeof GetLaunchActivityStatsResponse;
298
+ readonly service: {
299
+ readonly typeName: "data.v2.DataApiService";
300
+ };
301
+ };
302
+ /**
303
+ * @generated from rpc data.v2.DataApiService.GetLaunchClaims
304
+ */
305
+ export declare const getLaunchClaims: {
306
+ readonly localName: "getLaunchClaims";
307
+ readonly name: "GetLaunchClaims";
308
+ readonly kind: MethodKind.Unary;
309
+ readonly I: typeof GetLaunchClaimsRequest;
310
+ readonly O: typeof GetLaunchClaimsResponse;
311
+ readonly service: {
312
+ readonly typeName: "data.v2.DataApiService";
313
+ };
314
+ };
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
  import { MethodKind } from "@bufbuild/protobuf";
6
- import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
6
+ import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchActivityStatsRequest, GetLaunchActivityStatsResponse, GetLaunchClaimsRequest, GetLaunchClaimsResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
7
7
  /**
8
8
  * @generated from rpc data.v2.DataApiService.GetToken
9
9
  */
@@ -290,3 +290,29 @@ export const getLaunchHolders = {
290
290
  typeName: "data.v2.DataApiService"
291
291
  }
292
292
  };
293
+ /**
294
+ * @generated from rpc data.v2.DataApiService.GetLaunchActivityStats
295
+ */
296
+ export const getLaunchActivityStats = {
297
+ localName: "getLaunchActivityStats",
298
+ name: "GetLaunchActivityStats",
299
+ kind: MethodKind.Unary,
300
+ I: GetLaunchActivityStatsRequest,
301
+ O: GetLaunchActivityStatsResponse,
302
+ service: {
303
+ typeName: "data.v2.DataApiService"
304
+ }
305
+ };
306
+ /**
307
+ * @generated from rpc data.v2.DataApiService.GetLaunchClaims
308
+ */
309
+ export const getLaunchClaims = {
310
+ localName: "getLaunchClaims",
311
+ name: "GetLaunchClaims",
312
+ kind: MethodKind.Unary,
313
+ I: GetLaunchClaimsRequest,
314
+ O: GetLaunchClaimsResponse,
315
+ service: {
316
+ typeName: "data.v2.DataApiService"
317
+ }
318
+ };
@@ -1,4 +1,4 @@
1
- import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
1
+ import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchActivityStatsRequest, GetLaunchActivityStatsResponse, GetLaunchClaimsRequest, GetLaunchClaimsResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
2
2
  import { MethodKind } from "@bufbuild/protobuf";
3
3
  /**
4
4
  * @generated from service data.v2.DataApiService
@@ -204,5 +204,23 @@ export declare const DataApiService: {
204
204
  readonly O: typeof GetLaunchHoldersResponse;
205
205
  readonly kind: MethodKind.Unary;
206
206
  };
207
+ /**
208
+ * @generated from rpc data.v2.DataApiService.GetLaunchActivityStats
209
+ */
210
+ readonly getLaunchActivityStats: {
211
+ readonly name: "GetLaunchActivityStats";
212
+ readonly I: typeof GetLaunchActivityStatsRequest;
213
+ readonly O: typeof GetLaunchActivityStatsResponse;
214
+ readonly kind: MethodKind.Unary;
215
+ };
216
+ /**
217
+ * @generated from rpc data.v2.DataApiService.GetLaunchClaims
218
+ */
219
+ readonly getLaunchClaims: {
220
+ readonly name: "GetLaunchClaims";
221
+ readonly I: typeof GetLaunchClaimsRequest;
222
+ readonly O: typeof GetLaunchClaimsResponse;
223
+ readonly kind: MethodKind.Unary;
224
+ };
207
225
  };
208
226
  };
@@ -2,7 +2,7 @@
2
2
  // @generated from file data/v2/api.proto (package data.v2, syntax proto3)
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
- import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
5
+ import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, GetLaunchActivityStatsRequest, GetLaunchActivityStatsResponse, GetLaunchClaimsRequest, GetLaunchClaimsResponse, GetLaunchHoldersRequest, GetLaunchHoldersResponse, GetTokenHistoryOHLCRequest, GetTokenHistoryOHLCResponse, GetTokenHistoryPriceRequest, GetTokenHistoryPriceResponse, GetTokenHistoryTVLRequest, GetTokenHistoryTVLResponse, GetTokenHistoryVolumeRequest, GetTokenHistoryVolumeResponse, GetTokenMarketsMultiChainRequest, GetTokenMarketsMultiChainResponse, GetTokenMarketsRequest, GetTokenMarketsResponse, GetTokenMultiChainRequest, GetTokenMultiChainResponse, GetTokenRequest, GetTokenResponse, GetTokensMultiChainRequest, GetTokensMultiChainResponse, GetTokensRequest, GetTokensResponse, GetTokenTradesRequest, GetTokenTradesResponse, GetWalletNftsRequest, GetWalletNftsResponse, ListEarnPositionsRequest, ListEarnPositionsResponse, ListEarnVaultsRequest, ListEarnVaultsResponse, ListLaunchesRequest, ListLaunchesResponse, ListLaunchpadsRequest, ListLaunchpadsResponse, ListPoolsRequest, ListPoolsResponse, ListTokensRequest, ListTokensResponse, ListTransactionsRequest, ListTransactionsResponse } from "./api_pb.js";
6
6
  import { MethodKind } from "@bufbuild/protobuf";
7
7
  /**
8
8
  * @generated from service data.v2.DataApiService
@@ -208,5 +208,23 @@ export const DataApiService = {
208
208
  O: GetLaunchHoldersResponse,
209
209
  kind: MethodKind.Unary,
210
210
  },
211
+ /**
212
+ * @generated from rpc data.v2.DataApiService.GetLaunchActivityStats
213
+ */
214
+ getLaunchActivityStats: {
215
+ name: "GetLaunchActivityStats",
216
+ I: GetLaunchActivityStatsRequest,
217
+ O: GetLaunchActivityStatsResponse,
218
+ kind: MethodKind.Unary,
219
+ },
220
+ /**
221
+ * @generated from rpc data.v2.DataApiService.GetLaunchClaims
222
+ */
223
+ getLaunchClaims: {
224
+ name: "GetLaunchClaims",
225
+ I: GetLaunchClaimsRequest,
226
+ O: GetLaunchClaimsResponse,
227
+ kind: MethodKind.Unary,
228
+ },
211
229
  }
212
230
  };
@@ -5,6 +5,38 @@ 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
7
  import { ProtocolVersion } from "../v1/poolTypes_pb.js";
8
+ /**
9
+ * @generated from enum data.v2.ActivityStatsWindow
10
+ */
11
+ export declare enum ActivityStatsWindow {
12
+ /**
13
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_UNSPECIFIED = 0;
14
+ */
15
+ UNSPECIFIED = 0,
16
+ /**
17
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_5M = 1;
18
+ */
19
+ LAST_5M = 1,
20
+ /**
21
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_1H = 2;
22
+ */
23
+ LAST_1H = 2,
24
+ /**
25
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_6H = 3;
26
+ */
27
+ LAST_6H = 3,
28
+ /**
29
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_24H = 4;
30
+ */
31
+ LAST_24H = 4,
32
+ /**
33
+ * Anchored at launch creation; for graduated CCA launches, at graduation
34
+ * (the auction's migration into its pool).
35
+ *
36
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_SINCE_LAUNCH = 5;
37
+ */
38
+ SINCE_LAUNCH = 5
39
+ }
8
40
  /**
9
41
  * @generated from message data.v2.GetTokenMarketsRequest
10
42
  */
@@ -1138,6 +1170,35 @@ export declare class GetLaunchHoldersRequest extends Message<GetLaunchHoldersReq
1138
1170
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchHoldersRequest;
1139
1171
  static equals(a: GetLaunchHoldersRequest | PlainMessage<GetLaunchHoldersRequest> | undefined, b: GetLaunchHoldersRequest | PlainMessage<GetLaunchHoldersRequest> | undefined): boolean;
1140
1172
  }
1173
+ /**
1174
+ * Server-computed per-window trade activity for a launch token (LP-1294):
1175
+ * every window in one response, so the TDP Volume module's 5s poll is a
1176
+ * single call instead of a client-side walk of GetTokenTrades. EVM-only.
1177
+ * Served for tokens launched via the Uniswap token factory (CCA and
1178
+ * bonding-curve launches); other tokens are a not_found error.
1179
+ * CCA launches pre-graduation serve all-zero windows: bids are not trades,
1180
+ * and the token does not swap until the auction migrates into its pool.
1181
+ *
1182
+ * @generated from message data.v2.GetLaunchActivityStatsRequest
1183
+ */
1184
+ export declare class GetLaunchActivityStatsRequest extends Message<GetLaunchActivityStatsRequest> {
1185
+ /**
1186
+ * @generated from field: uint32 chain_id = 1;
1187
+ */
1188
+ chainId: number;
1189
+ /**
1190
+ * @generated from field: string token_address = 2;
1191
+ */
1192
+ tokenAddress: string;
1193
+ constructor(data?: PartialMessage<GetLaunchActivityStatsRequest>);
1194
+ static readonly runtime: typeof proto3;
1195
+ static readonly typeName = "data.v2.GetLaunchActivityStatsRequest";
1196
+ static readonly fields: FieldList;
1197
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchActivityStatsRequest;
1198
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsRequest;
1199
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsRequest;
1200
+ static equals(a: GetLaunchActivityStatsRequest | PlainMessage<GetLaunchActivityStatsRequest> | undefined, b: GetLaunchActivityStatsRequest | PlainMessage<GetLaunchActivityStatsRequest> | undefined): boolean;
1201
+ }
1141
1202
  /**
1142
1203
  * Absence contract mirrors the Launch holder fields: when the token has no
1143
1204
  * ingested transfers (non-factory token, ingestion lag, or every row
@@ -1219,6 +1280,200 @@ export declare class GetLaunchHoldersResponse extends Message<GetLaunchHoldersRe
1219
1280
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchHoldersResponse;
1220
1281
  static equals(a: GetLaunchHoldersResponse | PlainMessage<GetLaunchHoldersResponse> | undefined, b: GetLaunchHoldersResponse | PlainMessage<GetLaunchHoldersResponse> | undefined): boolean;
1221
1282
  }
1283
+ /**
1284
+ * @generated from message data.v2.GetLaunchActivityStatsResponse
1285
+ */
1286
+ export declare class GetLaunchActivityStatsResponse extends Message<GetLaunchActivityStatsResponse> {
1287
+ /**
1288
+ * One entry per window, always all five, in enum order.
1289
+ *
1290
+ * @generated from field: repeated data.v2.LaunchActivityStatsWindow windows = 1;
1291
+ */
1292
+ windows: LaunchActivityStatsWindow[];
1293
+ constructor(data?: PartialMessage<GetLaunchActivityStatsResponse>);
1294
+ static readonly runtime: typeof proto3;
1295
+ static readonly typeName = "data.v2.GetLaunchActivityStatsResponse";
1296
+ static readonly fields: FieldList;
1297
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchActivityStatsResponse;
1298
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsResponse;
1299
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsResponse;
1300
+ static equals(a: GetLaunchActivityStatsResponse | PlainMessage<GetLaunchActivityStatsResponse> | undefined, b: GetLaunchActivityStatsResponse | PlainMessage<GetLaunchActivityStatsResponse> | undefined): boolean;
1301
+ }
1302
+ /**
1303
+ * Trade activity over one trailing window, split by direction from the
1304
+ * trader's perspective. Unique counts are per trading wallet (the tx
1305
+ * from-address, not the router) and are HLL-approximate (<1% error). USD
1306
+ * volume values each swap at its ASOF token price; swaps with no known
1307
+ * price contribute to counts but not to USD volume.
1308
+ *
1309
+ * @generated from message data.v2.LaunchActivityStatsWindow
1310
+ */
1311
+ export declare class LaunchActivityStatsWindow extends Message<LaunchActivityStatsWindow> {
1312
+ /**
1313
+ * @generated from field: data.v2.ActivityStatsWindow window = 1;
1314
+ */
1315
+ window: ActivityStatsWindow;
1316
+ /**
1317
+ * @generated from field: int32 buy_count = 2;
1318
+ */
1319
+ buyCount: number;
1320
+ /**
1321
+ * @generated from field: int32 sell_count = 3;
1322
+ */
1323
+ sellCount: number;
1324
+ /**
1325
+ * @generated from field: double buy_volume_usd = 4;
1326
+ */
1327
+ buyVolumeUsd: number;
1328
+ /**
1329
+ * @generated from field: double sell_volume_usd = 5;
1330
+ */
1331
+ sellVolumeUsd: number;
1332
+ /**
1333
+ * @generated from field: int32 unique_buyers = 6;
1334
+ */
1335
+ uniqueBuyers: number;
1336
+ /**
1337
+ * @generated from field: int32 unique_sellers = 7;
1338
+ */
1339
+ uniqueSellers: number;
1340
+ constructor(data?: PartialMessage<LaunchActivityStatsWindow>);
1341
+ static readonly runtime: typeof proto3;
1342
+ static readonly typeName = "data.v2.LaunchActivityStatsWindow";
1343
+ static readonly fields: FieldList;
1344
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchActivityStatsWindow;
1345
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchActivityStatsWindow;
1346
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchActivityStatsWindow;
1347
+ static equals(a: LaunchActivityStatsWindow | PlainMessage<LaunchActivityStatsWindow> | undefined, b: LaunchActivityStatsWindow | PlainMessage<LaunchActivityStatsWindow> | undefined): boolean;
1348
+ }
1349
+ /**
1350
+ * Per-wallet CCA auction claim aggregates for a launch token (LP-1296):
1351
+ * the cost-basis seed for Top Traders PnL. Serves CCA launches ONLY —
1352
+ * tokens launched via a Uniswap CCA auction; bonding-curve launches and
1353
+ * non-factory tokens are a not_found error (curve tokens have no claims:
1354
+ * their cost basis is the swap history alone). EVM-only.
1355
+ *
1356
+ * @generated from message data.v2.GetLaunchClaimsRequest
1357
+ */
1358
+ export declare class GetLaunchClaimsRequest extends Message<GetLaunchClaimsRequest> {
1359
+ /**
1360
+ * @generated from field: uint32 chain_id = 1;
1361
+ */
1362
+ chainId: number;
1363
+ /**
1364
+ * @generated from field: string token_address = 2;
1365
+ */
1366
+ tokenAddress: string;
1367
+ constructor(data?: PartialMessage<GetLaunchClaimsRequest>);
1368
+ static readonly runtime: typeof proto3;
1369
+ static readonly typeName = "data.v2.GetLaunchClaimsRequest";
1370
+ static readonly fields: FieldList;
1371
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchClaimsRequest;
1372
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchClaimsRequest;
1373
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchClaimsRequest;
1374
+ static equals(a: GetLaunchClaimsRequest | PlainMessage<GetLaunchClaimsRequest> | undefined, b: GetLaunchClaimsRequest | PlainMessage<GetLaunchClaimsRequest> | undefined): boolean;
1375
+ }
1376
+ /**
1377
+ * One wallet's aggregate acquisition through the auction, folded across all
1378
+ * of the wallet's bids (multiple bids per wallet are summed). Sourced from
1379
+ * indexed bid terminal events, so bids exited post-auction with a partial
1380
+ * fill are included — economically those tokens are auction acquisitions
1381
+ * even when no explicit claim transaction exists.
1382
+ *
1383
+ * The client derives the wallet's TRUE unit cost as
1384
+ * currency_spent / tokens_received. In a time-weighted CCA, bidders do NOT
1385
+ * all pay the final clearing price (early accumulation is cheaper), so
1386
+ * never seed cost basis from the auction-level clearing price when these
1387
+ * rows are available.
1388
+ *
1389
+ * @generated from message data.v2.LaunchClaim
1390
+ */
1391
+ export declare class LaunchClaim extends Message<LaunchClaim> {
1392
+ /**
1393
+ * EIP-55 checksummed wallet address.
1394
+ *
1395
+ * @generated from field: string wallet = 1;
1396
+ */
1397
+ wallet: string;
1398
+ /**
1399
+ * Total launch tokens the wallet received from the auction, raw uint256
1400
+ * decimal string in token base units.
1401
+ *
1402
+ * @generated from field: string tokens_received = 2;
1403
+ */
1404
+ tokensReceived: string;
1405
+ /**
1406
+ * What the wallet actually spent, NET of refunds, as a raw uint256
1407
+ * decimal string in the auction's raise-currency base units (see
1408
+ * GetAuction for the currency): sum over the wallet's terminal bids of
1409
+ * (bid amount - exit refund).
1410
+ *
1411
+ * @generated from field: string currency_spent = 3;
1412
+ */
1413
+ currencySpent: string;
1414
+ /**
1415
+ * Number of the wallet's bids folded into this row (bids claimed or
1416
+ * exited with a nonzero fill).
1417
+ *
1418
+ * @generated from field: int32 claim_count = 4;
1419
+ */
1420
+ claimCount: number;
1421
+ /**
1422
+ * True when every bid the wallet placed on this auction has reached a
1423
+ * terminal state (claimed or exited); false while any bid is still
1424
+ * pending, i.e. tokens_received may still grow.
1425
+ *
1426
+ * @generated from field: bool fully_claimed = 5;
1427
+ */
1428
+ fullyClaimed: boolean;
1429
+ constructor(data?: PartialMessage<LaunchClaim>);
1430
+ static readonly runtime: typeof proto3;
1431
+ static readonly typeName = "data.v2.LaunchClaim";
1432
+ static readonly fields: FieldList;
1433
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchClaim;
1434
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchClaim;
1435
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchClaim;
1436
+ static equals(a: LaunchClaim | PlainMessage<LaunchClaim> | undefined, b: LaunchClaim | PlainMessage<LaunchClaim> | undefined): boolean;
1437
+ }
1438
+ /**
1439
+ * @generated from message data.v2.GetLaunchClaimsResponse
1440
+ */
1441
+ export declare class GetLaunchClaimsResponse extends Message<GetLaunchClaimsResponse> {
1442
+ /**
1443
+ * One row per claiming wallet, ordered tokens_received DESC (wallet ASC
1444
+ * tiebreak); empty when the auction has no terminal bids yet. Servers
1445
+ * cap the list to the top wallets under that ordering (currently 1000),
1446
+ * so the rows are the complete claimer set for any auction below the
1447
+ * cap; total_claimed and unique_claimers ALWAYS cover every claimer,
1448
+ * not just the returned rows.
1449
+ *
1450
+ * @generated from field: repeated data.v2.LaunchClaim claims = 1;
1451
+ */
1452
+ claims: LaunchClaim[];
1453
+ /**
1454
+ * Total launch tokens received across ALL claiming wallets (the full
1455
+ * population, even when claims is capped), raw uint256 decimal string
1456
+ * in token base units.
1457
+ *
1458
+ * @generated from field: string total_claimed = 2;
1459
+ */
1460
+ totalClaimed: string;
1461
+ /**
1462
+ * Number of distinct claiming wallets in the full population (may
1463
+ * exceed the number of rows in claims when the cap applies).
1464
+ *
1465
+ * @generated from field: int32 unique_claimers = 3;
1466
+ */
1467
+ uniqueClaimers: number;
1468
+ constructor(data?: PartialMessage<GetLaunchClaimsResponse>);
1469
+ static readonly runtime: typeof proto3;
1470
+ static readonly typeName = "data.v2.GetLaunchClaimsResponse";
1471
+ static readonly fields: FieldList;
1472
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchClaimsResponse;
1473
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchClaimsResponse;
1474
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchClaimsResponse;
1475
+ static equals(a: GetLaunchClaimsResponse | PlainMessage<GetLaunchClaimsResponse> | undefined, b: GetLaunchClaimsResponse | PlainMessage<GetLaunchClaimsResponse> | undefined): boolean;
1476
+ }
1222
1477
  /**
1223
1478
  * @generated from message data.v2.ListTokensRequest
1224
1479
  */
@@ -8,6 +8,48 @@ 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
10
  import { ProtocolVersion } from "../v1/poolTypes_pb.js";
11
+ /**
12
+ * @generated from enum data.v2.ActivityStatsWindow
13
+ */
14
+ export var ActivityStatsWindow;
15
+ (function (ActivityStatsWindow) {
16
+ /**
17
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_UNSPECIFIED = 0;
18
+ */
19
+ ActivityStatsWindow[ActivityStatsWindow["UNSPECIFIED"] = 0] = "UNSPECIFIED";
20
+ /**
21
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_5M = 1;
22
+ */
23
+ ActivityStatsWindow[ActivityStatsWindow["LAST_5M"] = 1] = "LAST_5M";
24
+ /**
25
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_1H = 2;
26
+ */
27
+ ActivityStatsWindow[ActivityStatsWindow["LAST_1H"] = 2] = "LAST_1H";
28
+ /**
29
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_6H = 3;
30
+ */
31
+ ActivityStatsWindow[ActivityStatsWindow["LAST_6H"] = 3] = "LAST_6H";
32
+ /**
33
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_24H = 4;
34
+ */
35
+ ActivityStatsWindow[ActivityStatsWindow["LAST_24H"] = 4] = "LAST_24H";
36
+ /**
37
+ * Anchored at launch creation; for graduated CCA launches, at graduation
38
+ * (the auction's migration into its pool).
39
+ *
40
+ * @generated from enum value: ACTIVITY_STATS_WINDOW_SINCE_LAUNCH = 5;
41
+ */
42
+ ActivityStatsWindow[ActivityStatsWindow["SINCE_LAUNCH"] = 5] = "SINCE_LAUNCH";
43
+ })(ActivityStatsWindow || (ActivityStatsWindow = {}));
44
+ // Retrieve enum metadata with: proto3.getEnumType(ActivityStatsWindow)
45
+ proto3.util.setEnumType(ActivityStatsWindow, "data.v2.ActivityStatsWindow", [
46
+ { no: 0, name: "ACTIVITY_STATS_WINDOW_UNSPECIFIED" },
47
+ { no: 1, name: "ACTIVITY_STATS_WINDOW_LAST_5M" },
48
+ { no: 2, name: "ACTIVITY_STATS_WINDOW_LAST_1H" },
49
+ { no: 3, name: "ACTIVITY_STATS_WINDOW_LAST_6H" },
50
+ { no: 4, name: "ACTIVITY_STATS_WINDOW_LAST_24H" },
51
+ { no: 5, name: "ACTIVITY_STATS_WINDOW_SINCE_LAUNCH" },
52
+ ]);
11
53
  /**
12
54
  * @generated from message data.v2.GetTokenMarketsRequest
13
55
  */
@@ -1496,6 +1538,49 @@ GetLaunchHoldersRequest.fields = proto3.util.newFieldList(() => [
1496
1538
  { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
1497
1539
  { no: 2, name: "token_address", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1498
1540
  ]);
1541
+ /**
1542
+ * Server-computed per-window trade activity for a launch token (LP-1294):
1543
+ * every window in one response, so the TDP Volume module's 5s poll is a
1544
+ * single call instead of a client-side walk of GetTokenTrades. EVM-only.
1545
+ * Served for tokens launched via the Uniswap token factory (CCA and
1546
+ * bonding-curve launches); other tokens are a not_found error.
1547
+ * CCA launches pre-graduation serve all-zero windows: bids are not trades,
1548
+ * and the token does not swap until the auction migrates into its pool.
1549
+ *
1550
+ * @generated from message data.v2.GetLaunchActivityStatsRequest
1551
+ */
1552
+ export class GetLaunchActivityStatsRequest extends Message {
1553
+ constructor(data) {
1554
+ super();
1555
+ /**
1556
+ * @generated from field: uint32 chain_id = 1;
1557
+ */
1558
+ this.chainId = 0;
1559
+ /**
1560
+ * @generated from field: string token_address = 2;
1561
+ */
1562
+ this.tokenAddress = "";
1563
+ proto3.util.initPartial(data, this);
1564
+ }
1565
+ static fromBinary(bytes, options) {
1566
+ return new GetLaunchActivityStatsRequest().fromBinary(bytes, options);
1567
+ }
1568
+ static fromJson(jsonValue, options) {
1569
+ return new GetLaunchActivityStatsRequest().fromJson(jsonValue, options);
1570
+ }
1571
+ static fromJsonString(jsonString, options) {
1572
+ return new GetLaunchActivityStatsRequest().fromJsonString(jsonString, options);
1573
+ }
1574
+ static equals(a, b) {
1575
+ return proto3.util.equals(GetLaunchActivityStatsRequest, a, b);
1576
+ }
1577
+ }
1578
+ GetLaunchActivityStatsRequest.runtime = proto3;
1579
+ GetLaunchActivityStatsRequest.typeName = "data.v2.GetLaunchActivityStatsRequest";
1580
+ GetLaunchActivityStatsRequest.fields = proto3.util.newFieldList(() => [
1581
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
1582
+ { no: 2, name: "token_address", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1583
+ ]);
1499
1584
  /**
1500
1585
  * Absence contract mirrors the Launch holder fields: when the token has no
1501
1586
  * ingested transfers (non-factory token, ingestion lag, or every row
@@ -1553,6 +1638,278 @@ GetLaunchHoldersResponse.fields = proto3.util.newFieldList(() => [
1553
1638
  { no: 7, name: "burned_to_zero", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1554
1639
  { no: 8, name: "burned_to_dead", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1555
1640
  ]);
1641
+ /**
1642
+ * @generated from message data.v2.GetLaunchActivityStatsResponse
1643
+ */
1644
+ export class GetLaunchActivityStatsResponse extends Message {
1645
+ constructor(data) {
1646
+ super();
1647
+ /**
1648
+ * One entry per window, always all five, in enum order.
1649
+ *
1650
+ * @generated from field: repeated data.v2.LaunchActivityStatsWindow windows = 1;
1651
+ */
1652
+ this.windows = [];
1653
+ proto3.util.initPartial(data, this);
1654
+ }
1655
+ static fromBinary(bytes, options) {
1656
+ return new GetLaunchActivityStatsResponse().fromBinary(bytes, options);
1657
+ }
1658
+ static fromJson(jsonValue, options) {
1659
+ return new GetLaunchActivityStatsResponse().fromJson(jsonValue, options);
1660
+ }
1661
+ static fromJsonString(jsonString, options) {
1662
+ return new GetLaunchActivityStatsResponse().fromJsonString(jsonString, options);
1663
+ }
1664
+ static equals(a, b) {
1665
+ return proto3.util.equals(GetLaunchActivityStatsResponse, a, b);
1666
+ }
1667
+ }
1668
+ GetLaunchActivityStatsResponse.runtime = proto3;
1669
+ GetLaunchActivityStatsResponse.typeName = "data.v2.GetLaunchActivityStatsResponse";
1670
+ GetLaunchActivityStatsResponse.fields = proto3.util.newFieldList(() => [
1671
+ { no: 1, name: "windows", kind: "message", T: LaunchActivityStatsWindow, repeated: true },
1672
+ ]);
1673
+ /**
1674
+ * Trade activity over one trailing window, split by direction from the
1675
+ * trader's perspective. Unique counts are per trading wallet (the tx
1676
+ * from-address, not the router) and are HLL-approximate (<1% error). USD
1677
+ * volume values each swap at its ASOF token price; swaps with no known
1678
+ * price contribute to counts but not to USD volume.
1679
+ *
1680
+ * @generated from message data.v2.LaunchActivityStatsWindow
1681
+ */
1682
+ export class LaunchActivityStatsWindow extends Message {
1683
+ constructor(data) {
1684
+ super();
1685
+ /**
1686
+ * @generated from field: data.v2.ActivityStatsWindow window = 1;
1687
+ */
1688
+ this.window = ActivityStatsWindow.UNSPECIFIED;
1689
+ /**
1690
+ * @generated from field: int32 buy_count = 2;
1691
+ */
1692
+ this.buyCount = 0;
1693
+ /**
1694
+ * @generated from field: int32 sell_count = 3;
1695
+ */
1696
+ this.sellCount = 0;
1697
+ /**
1698
+ * @generated from field: double buy_volume_usd = 4;
1699
+ */
1700
+ this.buyVolumeUsd = 0;
1701
+ /**
1702
+ * @generated from field: double sell_volume_usd = 5;
1703
+ */
1704
+ this.sellVolumeUsd = 0;
1705
+ /**
1706
+ * @generated from field: int32 unique_buyers = 6;
1707
+ */
1708
+ this.uniqueBuyers = 0;
1709
+ /**
1710
+ * @generated from field: int32 unique_sellers = 7;
1711
+ */
1712
+ this.uniqueSellers = 0;
1713
+ proto3.util.initPartial(data, this);
1714
+ }
1715
+ static fromBinary(bytes, options) {
1716
+ return new LaunchActivityStatsWindow().fromBinary(bytes, options);
1717
+ }
1718
+ static fromJson(jsonValue, options) {
1719
+ return new LaunchActivityStatsWindow().fromJson(jsonValue, options);
1720
+ }
1721
+ static fromJsonString(jsonString, options) {
1722
+ return new LaunchActivityStatsWindow().fromJsonString(jsonString, options);
1723
+ }
1724
+ static equals(a, b) {
1725
+ return proto3.util.equals(LaunchActivityStatsWindow, a, b);
1726
+ }
1727
+ }
1728
+ LaunchActivityStatsWindow.runtime = proto3;
1729
+ LaunchActivityStatsWindow.typeName = "data.v2.LaunchActivityStatsWindow";
1730
+ LaunchActivityStatsWindow.fields = proto3.util.newFieldList(() => [
1731
+ { no: 1, name: "window", kind: "enum", T: proto3.getEnumType(ActivityStatsWindow) },
1732
+ { no: 2, name: "buy_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1733
+ { no: 3, name: "sell_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1734
+ { no: 4, name: "buy_volume_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1735
+ { no: 5, name: "sell_volume_usd", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1736
+ { no: 6, name: "unique_buyers", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1737
+ { no: 7, name: "unique_sellers", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1738
+ ]);
1739
+ /**
1740
+ * Per-wallet CCA auction claim aggregates for a launch token (LP-1296):
1741
+ * the cost-basis seed for Top Traders PnL. Serves CCA launches ONLY —
1742
+ * tokens launched via a Uniswap CCA auction; bonding-curve launches and
1743
+ * non-factory tokens are a not_found error (curve tokens have no claims:
1744
+ * their cost basis is the swap history alone). EVM-only.
1745
+ *
1746
+ * @generated from message data.v2.GetLaunchClaimsRequest
1747
+ */
1748
+ export class GetLaunchClaimsRequest extends Message {
1749
+ constructor(data) {
1750
+ super();
1751
+ /**
1752
+ * @generated from field: uint32 chain_id = 1;
1753
+ */
1754
+ this.chainId = 0;
1755
+ /**
1756
+ * @generated from field: string token_address = 2;
1757
+ */
1758
+ this.tokenAddress = "";
1759
+ proto3.util.initPartial(data, this);
1760
+ }
1761
+ static fromBinary(bytes, options) {
1762
+ return new GetLaunchClaimsRequest().fromBinary(bytes, options);
1763
+ }
1764
+ static fromJson(jsonValue, options) {
1765
+ return new GetLaunchClaimsRequest().fromJson(jsonValue, options);
1766
+ }
1767
+ static fromJsonString(jsonString, options) {
1768
+ return new GetLaunchClaimsRequest().fromJsonString(jsonString, options);
1769
+ }
1770
+ static equals(a, b) {
1771
+ return proto3.util.equals(GetLaunchClaimsRequest, a, b);
1772
+ }
1773
+ }
1774
+ GetLaunchClaimsRequest.runtime = proto3;
1775
+ GetLaunchClaimsRequest.typeName = "data.v2.GetLaunchClaimsRequest";
1776
+ GetLaunchClaimsRequest.fields = proto3.util.newFieldList(() => [
1777
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
1778
+ { no: 2, name: "token_address", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1779
+ ]);
1780
+ /**
1781
+ * One wallet's aggregate acquisition through the auction, folded across all
1782
+ * of the wallet's bids (multiple bids per wallet are summed). Sourced from
1783
+ * indexed bid terminal events, so bids exited post-auction with a partial
1784
+ * fill are included — economically those tokens are auction acquisitions
1785
+ * even when no explicit claim transaction exists.
1786
+ *
1787
+ * The client derives the wallet's TRUE unit cost as
1788
+ * currency_spent / tokens_received. In a time-weighted CCA, bidders do NOT
1789
+ * all pay the final clearing price (early accumulation is cheaper), so
1790
+ * never seed cost basis from the auction-level clearing price when these
1791
+ * rows are available.
1792
+ *
1793
+ * @generated from message data.v2.LaunchClaim
1794
+ */
1795
+ export class LaunchClaim extends Message {
1796
+ constructor(data) {
1797
+ super();
1798
+ /**
1799
+ * EIP-55 checksummed wallet address.
1800
+ *
1801
+ * @generated from field: string wallet = 1;
1802
+ */
1803
+ this.wallet = "";
1804
+ /**
1805
+ * Total launch tokens the wallet received from the auction, raw uint256
1806
+ * decimal string in token base units.
1807
+ *
1808
+ * @generated from field: string tokens_received = 2;
1809
+ */
1810
+ this.tokensReceived = "";
1811
+ /**
1812
+ * What the wallet actually spent, NET of refunds, as a raw uint256
1813
+ * decimal string in the auction's raise-currency base units (see
1814
+ * GetAuction for the currency): sum over the wallet's terminal bids of
1815
+ * (bid amount - exit refund).
1816
+ *
1817
+ * @generated from field: string currency_spent = 3;
1818
+ */
1819
+ this.currencySpent = "";
1820
+ /**
1821
+ * Number of the wallet's bids folded into this row (bids claimed or
1822
+ * exited with a nonzero fill).
1823
+ *
1824
+ * @generated from field: int32 claim_count = 4;
1825
+ */
1826
+ this.claimCount = 0;
1827
+ /**
1828
+ * True when every bid the wallet placed on this auction has reached a
1829
+ * terminal state (claimed or exited); false while any bid is still
1830
+ * pending, i.e. tokens_received may still grow.
1831
+ *
1832
+ * @generated from field: bool fully_claimed = 5;
1833
+ */
1834
+ this.fullyClaimed = false;
1835
+ proto3.util.initPartial(data, this);
1836
+ }
1837
+ static fromBinary(bytes, options) {
1838
+ return new LaunchClaim().fromBinary(bytes, options);
1839
+ }
1840
+ static fromJson(jsonValue, options) {
1841
+ return new LaunchClaim().fromJson(jsonValue, options);
1842
+ }
1843
+ static fromJsonString(jsonString, options) {
1844
+ return new LaunchClaim().fromJsonString(jsonString, options);
1845
+ }
1846
+ static equals(a, b) {
1847
+ return proto3.util.equals(LaunchClaim, a, b);
1848
+ }
1849
+ }
1850
+ LaunchClaim.runtime = proto3;
1851
+ LaunchClaim.typeName = "data.v2.LaunchClaim";
1852
+ LaunchClaim.fields = proto3.util.newFieldList(() => [
1853
+ { no: 1, name: "wallet", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1854
+ { no: 2, name: "tokens_received", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1855
+ { no: 3, name: "currency_spent", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1856
+ { no: 4, name: "claim_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1857
+ { no: 5, name: "fully_claimed", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
1858
+ ]);
1859
+ /**
1860
+ * @generated from message data.v2.GetLaunchClaimsResponse
1861
+ */
1862
+ export class GetLaunchClaimsResponse extends Message {
1863
+ constructor(data) {
1864
+ super();
1865
+ /**
1866
+ * One row per claiming wallet, ordered tokens_received DESC (wallet ASC
1867
+ * tiebreak); empty when the auction has no terminal bids yet. Servers
1868
+ * cap the list to the top wallets under that ordering (currently 1000),
1869
+ * so the rows are the complete claimer set for any auction below the
1870
+ * cap; total_claimed and unique_claimers ALWAYS cover every claimer,
1871
+ * not just the returned rows.
1872
+ *
1873
+ * @generated from field: repeated data.v2.LaunchClaim claims = 1;
1874
+ */
1875
+ this.claims = [];
1876
+ /**
1877
+ * Total launch tokens received across ALL claiming wallets (the full
1878
+ * population, even when claims is capped), raw uint256 decimal string
1879
+ * in token base units.
1880
+ *
1881
+ * @generated from field: string total_claimed = 2;
1882
+ */
1883
+ this.totalClaimed = "";
1884
+ /**
1885
+ * Number of distinct claiming wallets in the full population (may
1886
+ * exceed the number of rows in claims when the cap applies).
1887
+ *
1888
+ * @generated from field: int32 unique_claimers = 3;
1889
+ */
1890
+ this.uniqueClaimers = 0;
1891
+ proto3.util.initPartial(data, this);
1892
+ }
1893
+ static fromBinary(bytes, options) {
1894
+ return new GetLaunchClaimsResponse().fromBinary(bytes, options);
1895
+ }
1896
+ static fromJson(jsonValue, options) {
1897
+ return new GetLaunchClaimsResponse().fromJson(jsonValue, options);
1898
+ }
1899
+ static fromJsonString(jsonString, options) {
1900
+ return new GetLaunchClaimsResponse().fromJsonString(jsonString, options);
1901
+ }
1902
+ static equals(a, b) {
1903
+ return proto3.util.equals(GetLaunchClaimsResponse, a, b);
1904
+ }
1905
+ }
1906
+ GetLaunchClaimsResponse.runtime = proto3;
1907
+ GetLaunchClaimsResponse.typeName = "data.v2.GetLaunchClaimsResponse";
1908
+ GetLaunchClaimsResponse.fields = proto3.util.newFieldList(() => [
1909
+ { no: 1, name: "claims", kind: "message", T: LaunchClaim, repeated: true },
1910
+ { no: 2, name: "total_claimed", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1911
+ { no: 3, name: "unique_claimers", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
1912
+ ]);
1556
1913
  /**
1557
1914
  * @generated from message data.v2.ListTokensRequest
1558
1915
  */
@@ -1422,6 +1422,14 @@ export declare class LaunchStats extends Message<LaunchStats> {
1422
1422
  * @generated from field: repeated data.v1.TimestampedValue sparkline = 7;
1423
1423
  */
1424
1424
  sparkline: TimestampedValue[];
1425
+ /**
1426
+ * price_usd in ETH terms, derived at serve time as price_usd divided by
1427
+ * the chain's native-ETH USD rate. Only set on chains whose native
1428
+ * currency is ETH; unset when either price is unavailable.
1429
+ *
1430
+ * @generated from field: optional double price_eth = 8;
1431
+ */
1432
+ priceEth?: number;
1425
1433
  constructor(data?: PartialMessage<LaunchStats>);
1426
1434
  static readonly runtime: typeof proto3;
1427
1435
  static readonly typeName = "data.v2.LaunchStats";
@@ -1586,6 +1594,17 @@ export declare class Launch extends Message<Launch> {
1586
1594
  * @generated from field: optional string burned_to_dead = 20;
1587
1595
  */
1588
1596
  burnedToDead?: string;
1597
+ /**
1598
+ * CCA launches only, pre-graduation (same lifecycle as auction_end_block):
1599
+ * wall-clock time of the auction's end block in unix seconds, computed
1600
+ * server-side (LP-1300) — the exact block timestamp once the end block is
1601
+ * mined, otherwise an estimate from a per-chain block-time model. Unset
1602
+ * once graduated, when the source data is unavailable, and for
1603
+ * hook-attributed launches.
1604
+ *
1605
+ * @generated from field: optional int64 auction_end_time = 21;
1606
+ */
1607
+ auctionEndTime?: bigint;
1589
1608
  constructor(data?: PartialMessage<Launch>);
1590
1609
  static readonly runtime: typeof proto3;
1591
1610
  static readonly typeName = "data.v2.Launch";
@@ -1656,6 +1656,7 @@ LaunchStats.fields = proto3.util.newFieldList(() => [
1656
1656
  { no: 5, name: "price_change_percent_1h", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
1657
1657
  { no: 6, name: "price_change_percent_24h", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
1658
1658
  { no: 7, name: "sparkline", kind: "message", T: TimestampedValue, repeated: true },
1659
+ { no: 8, name: "price_eth", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
1659
1660
  ]);
1660
1661
  /**
1661
1662
  * One token launch: the earliest pool a (token, launchpad) pair created.
@@ -1720,6 +1721,7 @@ Launch.fields = proto3.util.newFieldList(() => [
1720
1721
  { no: 18, name: "holder_count", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
1721
1722
  { no: 19, name: "burned_to_zero", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1722
1723
  { no: 20, name: "burned_to_dead", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1724
+ { no: 21, name: "auction_end_time", kind: "scalar", T: 3 /* ScalarType.INT64 */, opt: true },
1723
1725
  ]);
1724
1726
  /**
1725
1727
  * One row of a launch token's holder list (GetLaunchHolders).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-data-api",
3
- "version": "0.0.152",
3
+ "version": "0.0.154",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },