@uniswap/client-data-api 0.0.148 → 0.0.150

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 { MethodKind } from "@bufbuild/protobuf";
2
- import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, 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, 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
  */
@@ -273,3 +273,16 @@ export declare const listLaunches: {
273
273
  readonly typeName: "data.v2.DataApiService";
274
274
  };
275
275
  };
276
+ /**
277
+ * @generated from rpc data.v2.DataApiService.GetLaunchHolders
278
+ */
279
+ export declare const getLaunchHolders: {
280
+ readonly localName: "getLaunchHolders";
281
+ readonly name: "GetLaunchHolders";
282
+ readonly kind: MethodKind.Unary;
283
+ readonly I: typeof GetLaunchHoldersRequest;
284
+ readonly O: typeof GetLaunchHoldersResponse;
285
+ readonly service: {
286
+ readonly typeName: "data.v2.DataApiService";
287
+ };
288
+ };
@@ -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, 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, 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
  */
@@ -277,3 +277,16 @@ export const listLaunches = {
277
277
  typeName: "data.v2.DataApiService"
278
278
  }
279
279
  };
280
+ /**
281
+ * @generated from rpc data.v2.DataApiService.GetLaunchHolders
282
+ */
283
+ export const getLaunchHolders = {
284
+ localName: "getLaunchHolders",
285
+ name: "GetLaunchHolders",
286
+ kind: MethodKind.Unary,
287
+ I: GetLaunchHoldersRequest,
288
+ O: GetLaunchHoldersResponse,
289
+ service: {
290
+ typeName: "data.v2.DataApiService"
291
+ }
292
+ };
@@ -1,4 +1,4 @@
1
- import { ConvertFiatRequest, ConvertFiatResponse, GetEarnPositionRequest, GetEarnPositionResponse, 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, 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
@@ -195,5 +195,14 @@ export declare const DataApiService: {
195
195
  readonly O: typeof ListLaunchesResponse;
196
196
  readonly kind: MethodKind.Unary;
197
197
  };
198
+ /**
199
+ * @generated from rpc data.v2.DataApiService.GetLaunchHolders
200
+ */
201
+ readonly getLaunchHolders: {
202
+ readonly name: "GetLaunchHolders";
203
+ readonly I: typeof GetLaunchHoldersRequest;
204
+ readonly O: typeof GetLaunchHoldersResponse;
205
+ readonly kind: MethodKind.Unary;
206
+ };
198
207
  };
199
208
  };
@@ -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, 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, 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
@@ -199,5 +199,14 @@ export const DataApiService = {
199
199
  O: ListLaunchesResponse,
200
200
  kind: MethodKind.Unary,
201
201
  },
202
+ /**
203
+ * @generated from rpc data.v2.DataApiService.GetLaunchHolders
204
+ */
205
+ getLaunchHolders: {
206
+ name: "GetLaunchHolders",
207
+ I: GetLaunchHoldersRequest,
208
+ O: GetLaunchHoldersResponse,
209
+ kind: MethodKind.Unary,
210
+ },
202
211
  }
203
212
  };
@@ -1,8 +1,9 @@
1
1
  import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
2
  import { Message, proto3, Timestamp } from "@bufbuild/protobuf";
3
- import { FiatAmount, FiatCurrency, HistoryDuration, Launch, LaunchesOrderBy, LaunchListFilter, Launchpad, MultichainToken, MultichainTokenMarket, Nft, PoolListFilter, PoolsSort, RankedMultichainToken, RankedPool, Token, TokenListFilter, TokenMarket, TokensSort, TokenTrade, TransactionEventType, UniswapTransaction } from "./types_pb.js";
3
+ import { FiatAmount, FiatCurrency, HistoryDuration, Launch, LaunchesOrderBy, LaunchHolder, LaunchListFilter, Launchpad, MultichainToken, MultichainTokenMarket, Nft, PoolListFilter, PoolsSort, RankedMultichainToken, RankedPool, Token, TokenListFilter, TokenMarket, TokensSort, TokenTrade, TransactionEventType, UniswapTransaction } from "./types_pb.js";
4
4
  import { PageRequest, PageResponse } from "./common_pb.js";
5
5
  import { EarnPosition, EarnVault } from "./earn_pb.js";
6
+ import { TimestampedValue } from "../v1/types_pb.js";
6
7
  import { ProtocolVersion } from "../v1/poolTypes_pb.js";
7
8
  /**
8
9
  * @generated from message data.v2.GetTokenMarketsRequest
@@ -1111,6 +1112,113 @@ export declare class ListLaunchesResponse extends Message<ListLaunchesResponse>
1111
1112
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListLaunchesResponse;
1112
1113
  static equals(a: ListLaunchesResponse | PlainMessage<ListLaunchesResponse> | undefined, b: ListLaunchesResponse | PlainMessage<ListLaunchesResponse> | undefined): boolean;
1113
1114
  }
1115
+ /**
1116
+ * Holder data for ONE launch token (the TDP Holders module), computed at
1117
+ * query time over the raw launch-transfers feed (ClickHouse,
1118
+ * reorg-excluded) behind a short SWR cache. Only tokens created via the
1119
+ * Uniswap token factory (CCA + bonding-curve launches) have transfer rows.
1120
+ *
1121
+ * @generated from message data.v2.GetLaunchHoldersRequest
1122
+ */
1123
+ export declare class GetLaunchHoldersRequest extends Message<GetLaunchHoldersRequest> {
1124
+ /**
1125
+ * @generated from field: uint32 chain_id = 1;
1126
+ */
1127
+ chainId: number;
1128
+ /**
1129
+ * @generated from field: string token_address = 2;
1130
+ */
1131
+ tokenAddress: string;
1132
+ constructor(data?: PartialMessage<GetLaunchHoldersRequest>);
1133
+ static readonly runtime: typeof proto3;
1134
+ static readonly typeName = "data.v2.GetLaunchHoldersRequest";
1135
+ static readonly fields: FieldList;
1136
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchHoldersRequest;
1137
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchHoldersRequest;
1138
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchHoldersRequest;
1139
+ static equals(a: GetLaunchHoldersRequest | PlainMessage<GetLaunchHoldersRequest> | undefined, b: GetLaunchHoldersRequest | PlainMessage<GetLaunchHoldersRequest> | undefined): boolean;
1140
+ }
1141
+ /**
1142
+ * Absence contract mirrors the Launch holder fields: when the token has no
1143
+ * ingested transfers (non-factory token, ingestion lag, or every row
1144
+ * reorged out) holders is empty and every optional field is unset, never a
1145
+ * fake 0, so clients can tell no-data from a real zero. Upstream failures
1146
+ * fail the RPC instead of serving empty.
1147
+ *
1148
+ * @generated from message data.v2.GetLaunchHoldersResponse
1149
+ */
1150
+ export declare class GetLaunchHoldersResponse extends Message<GetLaunchHoldersResponse> {
1151
+ /**
1152
+ * Top-100 holders by balance, descending. Raw Etherscan-style rows over
1153
+ * net transfer balances, INCLUDING burned tokens: the 0x…dEaD burn sink
1154
+ * appears while it holds a balance, and cumulative burns to the zero
1155
+ * address appear as a synthetic zero-address row — so held + burned rows
1156
+ * sum to minted_supply. Burn rows are flagged (is_burn_address); clients
1157
+ * that want them out filter the flag.
1158
+ *
1159
+ * @generated from field: repeated data.v2.LaunchHolder holders = 1;
1160
+ */
1161
+ holders: LaunchHolder[];
1162
+ /**
1163
+ * Exact holder count, same semantics as Launch.holder_count (addresses
1164
+ * with a positive net balance; burn sinks like 0x…dEaD included while
1165
+ * they hold a balance, the zero address never). The synthetic zero-address
1166
+ * burn row is never counted.
1167
+ *
1168
+ * @generated from field: optional int32 holder_count = 2;
1169
+ */
1170
+ holderCount?: number;
1171
+ /**
1172
+ * holder_count minus the count as of 24h ago (signed).
1173
+ *
1174
+ * @generated from field: optional int32 holder_count_change_24h = 3;
1175
+ */
1176
+ holderCountChange24h?: number;
1177
+ /**
1178
+ * Trailing 7-day holder-count trend for the stat sparkline: one point per
1179
+ * UTC-now-anchored 24h mark, oldest first, last point = holder_count now.
1180
+ *
1181
+ * @generated from field: repeated data.v1.TimestampedValue holder_count_trend = 4;
1182
+ */
1183
+ holderCountTrend: TimestampedValue[];
1184
+ /**
1185
+ * Share of minted_supply held by the top 10 NON-burn holder rows, percent
1186
+ * in [0, 100]. Burned tokens can never concentrate, so they are excluded
1187
+ * here (unlike the rows above); the locked LP position is NOT excluded —
1188
+ * clients that label it can recompute from the raw rows.
1189
+ *
1190
+ * @generated from field: optional double top10_supply_pct = 5;
1191
+ */
1192
+ top10SupplyPct?: number;
1193
+ /**
1194
+ * Cumulative value ever minted, raw base units as a decimal string — the
1195
+ * denominator of every supply_pct in this response. Burn-inclusive by
1196
+ * construction: holder balances + burned rows sum to it. On-chain
1197
+ * totalSupply-style circulating figures are client-derivable as
1198
+ * minted_supply - burned_to_zero.
1199
+ *
1200
+ * @generated from field: optional string minted_supply = 6;
1201
+ */
1202
+ mintedSupply?: string;
1203
+ /**
1204
+ * Same definitions as Launch.burned_to_zero / burned_to_dead.
1205
+ *
1206
+ * @generated from field: optional string burned_to_zero = 7;
1207
+ */
1208
+ burnedToZero?: string;
1209
+ /**
1210
+ * @generated from field: optional string burned_to_dead = 8;
1211
+ */
1212
+ burnedToDead?: string;
1213
+ constructor(data?: PartialMessage<GetLaunchHoldersResponse>);
1214
+ static readonly runtime: typeof proto3;
1215
+ static readonly typeName = "data.v2.GetLaunchHoldersResponse";
1216
+ static readonly fields: FieldList;
1217
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchHoldersResponse;
1218
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchHoldersResponse;
1219
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchHoldersResponse;
1220
+ static equals(a: GetLaunchHoldersResponse | PlainMessage<GetLaunchHoldersResponse> | undefined, b: GetLaunchHoldersResponse | PlainMessage<GetLaunchHoldersResponse> | undefined): boolean;
1221
+ }
1114
1222
  /**
1115
1223
  * @generated from message data.v2.ListTokensRequest
1116
1224
  */
@@ -3,9 +3,10 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
  import { Message, proto3, protoInt64, Timestamp } from "@bufbuild/protobuf";
6
- import { FiatAmount, FiatCurrency, HistoryDuration, Launch, LaunchesOrderBy, LaunchListFilter, Launchpad, MultichainToken, MultichainTokenMarket, Nft, PoolListFilter, PoolsSort, RankedMultichainToken, RankedPool, Token, TokenListFilter, TokenMarket, TokensSort, TokenTrade, TransactionEventType, UniswapTransaction } from "./types_pb.js";
6
+ import { FiatAmount, FiatCurrency, HistoryDuration, Launch, LaunchesOrderBy, LaunchHolder, LaunchListFilter, Launchpad, MultichainToken, MultichainTokenMarket, Nft, PoolListFilter, PoolsSort, RankedMultichainToken, RankedPool, Token, TokenListFilter, TokenMarket, TokensSort, TokenTrade, TransactionEventType, UniswapTransaction } from "./types_pb.js";
7
7
  import { PageRequest, PageResponse } from "./common_pb.js";
8
8
  import { EarnPosition, EarnVault } from "./earn_pb.js";
9
+ import { TimestampedValue } from "../v1/types_pb.js";
9
10
  import { ProtocolVersion } from "../v1/poolTypes_pb.js";
10
11
  /**
11
12
  * @generated from message data.v2.GetTokenMarketsRequest
@@ -1455,6 +1456,103 @@ ListLaunchesResponse.fields = proto3.util.newFieldList(() => [
1455
1456
  { no: 1, name: "launches", kind: "message", T: Launch, repeated: true },
1456
1457
  { no: 2, name: "page", kind: "message", T: PageResponse },
1457
1458
  ]);
1459
+ /**
1460
+ * Holder data for ONE launch token (the TDP Holders module), computed at
1461
+ * query time over the raw launch-transfers feed (ClickHouse,
1462
+ * reorg-excluded) behind a short SWR cache. Only tokens created via the
1463
+ * Uniswap token factory (CCA + bonding-curve launches) have transfer rows.
1464
+ *
1465
+ * @generated from message data.v2.GetLaunchHoldersRequest
1466
+ */
1467
+ export class GetLaunchHoldersRequest extends Message {
1468
+ constructor(data) {
1469
+ super();
1470
+ /**
1471
+ * @generated from field: uint32 chain_id = 1;
1472
+ */
1473
+ this.chainId = 0;
1474
+ /**
1475
+ * @generated from field: string token_address = 2;
1476
+ */
1477
+ this.tokenAddress = "";
1478
+ proto3.util.initPartial(data, this);
1479
+ }
1480
+ static fromBinary(bytes, options) {
1481
+ return new GetLaunchHoldersRequest().fromBinary(bytes, options);
1482
+ }
1483
+ static fromJson(jsonValue, options) {
1484
+ return new GetLaunchHoldersRequest().fromJson(jsonValue, options);
1485
+ }
1486
+ static fromJsonString(jsonString, options) {
1487
+ return new GetLaunchHoldersRequest().fromJsonString(jsonString, options);
1488
+ }
1489
+ static equals(a, b) {
1490
+ return proto3.util.equals(GetLaunchHoldersRequest, a, b);
1491
+ }
1492
+ }
1493
+ GetLaunchHoldersRequest.runtime = proto3;
1494
+ GetLaunchHoldersRequest.typeName = "data.v2.GetLaunchHoldersRequest";
1495
+ GetLaunchHoldersRequest.fields = proto3.util.newFieldList(() => [
1496
+ { no: 1, name: "chain_id", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
1497
+ { no: 2, name: "token_address", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1498
+ ]);
1499
+ /**
1500
+ * Absence contract mirrors the Launch holder fields: when the token has no
1501
+ * ingested transfers (non-factory token, ingestion lag, or every row
1502
+ * reorged out) holders is empty and every optional field is unset, never a
1503
+ * fake 0, so clients can tell no-data from a real zero. Upstream failures
1504
+ * fail the RPC instead of serving empty.
1505
+ *
1506
+ * @generated from message data.v2.GetLaunchHoldersResponse
1507
+ */
1508
+ export class GetLaunchHoldersResponse extends Message {
1509
+ constructor(data) {
1510
+ super();
1511
+ /**
1512
+ * Top-100 holders by balance, descending. Raw Etherscan-style rows over
1513
+ * net transfer balances, INCLUDING burned tokens: the 0x…dEaD burn sink
1514
+ * appears while it holds a balance, and cumulative burns to the zero
1515
+ * address appear as a synthetic zero-address row — so held + burned rows
1516
+ * sum to minted_supply. Burn rows are flagged (is_burn_address); clients
1517
+ * that want them out filter the flag.
1518
+ *
1519
+ * @generated from field: repeated data.v2.LaunchHolder holders = 1;
1520
+ */
1521
+ this.holders = [];
1522
+ /**
1523
+ * Trailing 7-day holder-count trend for the stat sparkline: one point per
1524
+ * UTC-now-anchored 24h mark, oldest first, last point = holder_count now.
1525
+ *
1526
+ * @generated from field: repeated data.v1.TimestampedValue holder_count_trend = 4;
1527
+ */
1528
+ this.holderCountTrend = [];
1529
+ proto3.util.initPartial(data, this);
1530
+ }
1531
+ static fromBinary(bytes, options) {
1532
+ return new GetLaunchHoldersResponse().fromBinary(bytes, options);
1533
+ }
1534
+ static fromJson(jsonValue, options) {
1535
+ return new GetLaunchHoldersResponse().fromJson(jsonValue, options);
1536
+ }
1537
+ static fromJsonString(jsonString, options) {
1538
+ return new GetLaunchHoldersResponse().fromJsonString(jsonString, options);
1539
+ }
1540
+ static equals(a, b) {
1541
+ return proto3.util.equals(GetLaunchHoldersResponse, a, b);
1542
+ }
1543
+ }
1544
+ GetLaunchHoldersResponse.runtime = proto3;
1545
+ GetLaunchHoldersResponse.typeName = "data.v2.GetLaunchHoldersResponse";
1546
+ GetLaunchHoldersResponse.fields = proto3.util.newFieldList(() => [
1547
+ { no: 1, name: "holders", kind: "message", T: LaunchHolder, repeated: true },
1548
+ { no: 2, name: "holder_count", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
1549
+ { no: 3, name: "holder_count_change_24h", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
1550
+ { no: 4, name: "holder_count_trend", kind: "message", T: TimestampedValue, repeated: true },
1551
+ { no: 5, name: "top10_supply_pct", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
1552
+ { no: 6, name: "minted_supply", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1553
+ { no: 7, name: "burned_to_zero", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1554
+ { no: 8, name: "burned_to_dead", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1555
+ ]);
1458
1556
  /**
1459
1557
  * @generated from message data.v2.ListTokensRequest
1460
1558
  */
@@ -323,8 +323,8 @@ export declare enum LaunchesOrderBy {
323
323
  }
324
324
  /**
325
325
  * Launch-recency window for ListLaunches. UNSPECIFIED applies no window (all
326
- * launches); LAST_24H keeps only launches whose launched_at is within the
327
- * trailing 24 hours.
326
+ * launches); LAST_24H / LAST_1H keep only launches whose launched_at is within
327
+ * the trailing 24 hours / 1 hour respectively.
328
328
  *
329
329
  * @generated from enum data.v2.LaunchWindow
330
330
  */
@@ -336,7 +336,11 @@ export declare enum LaunchWindow {
336
336
  /**
337
337
  * @generated from enum value: LAUNCH_WINDOW_LAST_24H = 1;
338
338
  */
339
- LAST_24H = 1
339
+ LAST_24H = 1,
340
+ /**
341
+ * @generated from enum value: LAUNCH_WINDOW_LAST_1H = 2;
342
+ */
343
+ LAST_1H = 2
340
344
  }
341
345
  /**
342
346
  * The trade's direction from the trader's perspective: BUY = the trader
@@ -406,6 +410,13 @@ export declare class TokenRankStats extends Message<TokenRankStats> {
406
410
  * @generated from field: optional double price_change_1d = 10;
407
411
  */
408
412
  priceChange1d?: number;
413
+ /**
414
+ * USD spot price of the highest-TVL chain member (current_token_prices).
415
+ * Populated only on PRICE-ordered requests; it is exactly the ranked value.
416
+ *
417
+ * @generated from field: optional double price = 11;
418
+ */
419
+ price?: number;
409
420
  constructor(data?: PartialMessage<TokenRankStats>);
410
421
  static readonly runtime: typeof proto3;
411
422
  static readonly typeName = "data.v2.TokenRankStats";
@@ -1313,7 +1324,7 @@ export declare class Launchpad extends Message<Launchpad> {
1313
1324
  static equals(a: Launchpad | PlainMessage<Launchpad> | undefined, b: Launchpad | PlainMessage<Launchpad> | undefined): boolean;
1314
1325
  }
1315
1326
  /**
1316
- * Optional filters for ListLaunches. When window is LAST_24H and sort_by is
1327
+ * Optional filters for ListLaunches. When a window is set and sort_by is
1317
1328
  * UNSPECIFIED the server sorts by 24h volume (VOLUME_1D).
1318
1329
  *
1319
1330
  * @generated from message data.v2.LaunchListFilter
@@ -1578,6 +1589,50 @@ export declare class Launch extends Message<Launch> {
1578
1589
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Launch;
1579
1590
  static equals(a: Launch | PlainMessage<Launch> | undefined, b: Launch | PlainMessage<Launch> | undefined): boolean;
1580
1591
  }
1592
+ /**
1593
+ * One row of a launch token's holder list (GetLaunchHolders).
1594
+ *
1595
+ * @generated from message data.v2.LaunchHolder
1596
+ */
1597
+ export declare class LaunchHolder extends Message<LaunchHolder> {
1598
+ /**
1599
+ * EIP-55 checksummed, so clients can equality-match against
1600
+ * Launch.creator_address and well-known addresses (LP, burn sinks).
1601
+ *
1602
+ * @generated from field: string address = 1;
1603
+ */
1604
+ address: string;
1605
+ /**
1606
+ * Net balance, raw base units as a decimal string. For the synthetic
1607
+ * zero-address burn row this is the cumulative amount burned to 0x0.
1608
+ *
1609
+ * @generated from field: string balance = 2;
1610
+ */
1611
+ balance: string;
1612
+ /**
1613
+ * balance as a percent of minted_supply, in [0, 100].
1614
+ *
1615
+ * @generated from field: double supply_pct = 3;
1616
+ */
1617
+ supplyPct: number;
1618
+ /**
1619
+ * True for burn-sink rows (the zero address and 0x…dEaD). Burn rows are
1620
+ * served in the list (burned tokens stay visible) but excluded from
1621
+ * top10_supply_pct; the synthetic zero-address row is also excluded from
1622
+ * holder_count (0x…dEaD counts, matching Launch.holder_count).
1623
+ *
1624
+ * @generated from field: bool is_burn_address = 4;
1625
+ */
1626
+ isBurnAddress: boolean;
1627
+ constructor(data?: PartialMessage<LaunchHolder>);
1628
+ static readonly runtime: typeof proto3;
1629
+ static readonly typeName = "data.v2.LaunchHolder";
1630
+ static readonly fields: FieldList;
1631
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchHolder;
1632
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchHolder;
1633
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchHolder;
1634
+ static equals(a: LaunchHolder | PlainMessage<LaunchHolder> | undefined, b: LaunchHolder | PlainMessage<LaunchHolder> | undefined): boolean;
1635
+ }
1581
1636
  /**
1582
1637
  * Bonding-curve lifecycle overlay for launches attributed to the Uniswap
1583
1638
  * bonding-curve hook. Amounts are raw base-unit decimal strings. Curve
@@ -419,8 +419,8 @@ proto3.util.setEnumType(LaunchesOrderBy, "data.v2.LaunchesOrderBy", [
419
419
  ]);
420
420
  /**
421
421
  * Launch-recency window for ListLaunches. UNSPECIFIED applies no window (all
422
- * launches); LAST_24H keeps only launches whose launched_at is within the
423
- * trailing 24 hours.
422
+ * launches); LAST_24H / LAST_1H keep only launches whose launched_at is within
423
+ * the trailing 24 hours / 1 hour respectively.
424
424
  *
425
425
  * @generated from enum data.v2.LaunchWindow
426
426
  */
@@ -434,11 +434,16 @@ export var LaunchWindow;
434
434
  * @generated from enum value: LAUNCH_WINDOW_LAST_24H = 1;
435
435
  */
436
436
  LaunchWindow[LaunchWindow["LAST_24H"] = 1] = "LAST_24H";
437
+ /**
438
+ * @generated from enum value: LAUNCH_WINDOW_LAST_1H = 2;
439
+ */
440
+ LaunchWindow[LaunchWindow["LAST_1H"] = 2] = "LAST_1H";
437
441
  })(LaunchWindow || (LaunchWindow = {}));
438
442
  // Retrieve enum metadata with: proto3.getEnumType(LaunchWindow)
439
443
  proto3.util.setEnumType(LaunchWindow, "data.v2.LaunchWindow", [
440
444
  { no: 0, name: "LAUNCH_WINDOW_UNSPECIFIED" },
441
445
  { no: 1, name: "LAUNCH_WINDOW_LAST_24H" },
446
+ { no: 2, name: "LAUNCH_WINDOW_LAST_1H" },
442
447
  ]);
443
448
  /**
444
449
  * The trade's direction from the trader's perspective: BUY = the trader
@@ -505,6 +510,7 @@ TokenRankStats.fields = proto3.util.newFieldList(() => [
505
510
  { no: 8, name: "fdv", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
506
511
  { no: 9, name: "price_change_1h", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
507
512
  { no: 10, name: "price_change_1d", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
513
+ { no: 11, name: "price", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
508
514
  ]);
509
515
  /**
510
516
  * Sort field and direction for ListTokens.
@@ -1525,7 +1531,7 @@ Launchpad.fields = proto3.util.newFieldList(() => [
1525
1531
  { no: 4, name: "protocol", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1526
1532
  ]);
1527
1533
  /**
1528
- * Optional filters for ListLaunches. When window is LAST_24H and sort_by is
1534
+ * Optional filters for ListLaunches. When a window is set and sort_by is
1529
1535
  * UNSPECIFIED the server sorts by 24h volume (VOLUME_1D).
1530
1536
  *
1531
1537
  * @generated from message data.v2.LaunchListFilter
@@ -1712,6 +1718,66 @@ Launch.fields = proto3.util.newFieldList(() => [
1712
1718
  { no: 19, name: "burned_to_zero", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1713
1719
  { no: 20, name: "burned_to_dead", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
1714
1720
  ]);
1721
+ /**
1722
+ * One row of a launch token's holder list (GetLaunchHolders).
1723
+ *
1724
+ * @generated from message data.v2.LaunchHolder
1725
+ */
1726
+ export class LaunchHolder extends Message {
1727
+ constructor(data) {
1728
+ super();
1729
+ /**
1730
+ * EIP-55 checksummed, so clients can equality-match against
1731
+ * Launch.creator_address and well-known addresses (LP, burn sinks).
1732
+ *
1733
+ * @generated from field: string address = 1;
1734
+ */
1735
+ this.address = "";
1736
+ /**
1737
+ * Net balance, raw base units as a decimal string. For the synthetic
1738
+ * zero-address burn row this is the cumulative amount burned to 0x0.
1739
+ *
1740
+ * @generated from field: string balance = 2;
1741
+ */
1742
+ this.balance = "";
1743
+ /**
1744
+ * balance as a percent of minted_supply, in [0, 100].
1745
+ *
1746
+ * @generated from field: double supply_pct = 3;
1747
+ */
1748
+ this.supplyPct = 0;
1749
+ /**
1750
+ * True for burn-sink rows (the zero address and 0x…dEaD). Burn rows are
1751
+ * served in the list (burned tokens stay visible) but excluded from
1752
+ * top10_supply_pct; the synthetic zero-address row is also excluded from
1753
+ * holder_count (0x…dEaD counts, matching Launch.holder_count).
1754
+ *
1755
+ * @generated from field: bool is_burn_address = 4;
1756
+ */
1757
+ this.isBurnAddress = false;
1758
+ proto3.util.initPartial(data, this);
1759
+ }
1760
+ static fromBinary(bytes, options) {
1761
+ return new LaunchHolder().fromBinary(bytes, options);
1762
+ }
1763
+ static fromJson(jsonValue, options) {
1764
+ return new LaunchHolder().fromJson(jsonValue, options);
1765
+ }
1766
+ static fromJsonString(jsonString, options) {
1767
+ return new LaunchHolder().fromJsonString(jsonString, options);
1768
+ }
1769
+ static equals(a, b) {
1770
+ return proto3.util.equals(LaunchHolder, a, b);
1771
+ }
1772
+ }
1773
+ LaunchHolder.runtime = proto3;
1774
+ LaunchHolder.typeName = "data.v2.LaunchHolder";
1775
+ LaunchHolder.fields = proto3.util.newFieldList(() => [
1776
+ { no: 1, name: "address", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1777
+ { no: 2, name: "balance", kind: "scalar", T: 9 /* ScalarType.STRING */ },
1778
+ { no: 3, name: "supply_pct", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
1779
+ { no: 4, name: "is_burn_address", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
1780
+ ]);
1715
1781
  /**
1716
1782
  * Bonding-curve lifecycle overlay for launches attributed to the Uniswap
1717
1783
  * bonding-curve hook. Amounts are raw base-unit decimal strings. Curve
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniswap/client-data-api",
3
- "version": "0.0.148",
3
+ "version": "0.0.150",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },