@uniswap/client-data-api 0.0.224 → 0.0.226

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.
@@ -0,0 +1,694 @@
1
+ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
+ import { Message, proto3, Timestamp } from "@bufbuild/protobuf";
3
+ /**
4
+ * Sort field for ListLaunches; UNSPECIFIED defaults to LAUNCHED_AT (newest first).
5
+ *
6
+ * @generated from enum launches.v1.LaunchesOrderBy
7
+ */
8
+ export declare enum LaunchesOrderBy {
9
+ /**
10
+ * @generated from enum value: LAUNCHES_ORDER_BY_UNSPECIFIED = 0;
11
+ */
12
+ UNSPECIFIED = 0,
13
+ /**
14
+ * @generated from enum value: LAUNCHES_ORDER_BY_LAUNCHED_AT = 1;
15
+ */
16
+ LAUNCHED_AT = 1,
17
+ /**
18
+ * @generated from enum value: LAUNCHES_ORDER_BY_VOLUME_1D = 2;
19
+ */
20
+ VOLUME_1D = 2,
21
+ /**
22
+ * @generated from enum value: LAUNCHES_ORDER_BY_TVL = 3;
23
+ */
24
+ TVL = 3,
25
+ /**
26
+ * @generated from enum value: LAUNCHES_ORDER_BY_PRICE_CHANGE_1H = 4;
27
+ */
28
+ PRICE_CHANGE_1H = 4,
29
+ /**
30
+ * @generated from enum value: LAUNCHES_ORDER_BY_PRICE_CHANGE_1D = 5;
31
+ */
32
+ PRICE_CHANGE_1D = 5,
33
+ /**
34
+ * Trending: launches with recent buy-side momentum. Candidates are tokens
35
+ * with buy activity in the trailing hour REGARDLESS of launch age; gated
36
+ * (non-negative 1h price change, minimum FDV, minimum distinct 1h buyers)
37
+ * and scored by volume/buyer acceleration vs the preceding hours, with the
38
+ * remainder of the page backfilled by 24h volume so the module never
39
+ * renders empty. Needs no LaunchListFilter.window — any window filter is
40
+ * ignored under this sort.
41
+ *
42
+ * @generated from enum value: LAUNCHES_ORDER_BY_TRENDING = 6;
43
+ */
44
+ TRENDING = 6
45
+ }
46
+ /**
47
+ * Launch-recency window for ListLaunches. UNSPECIFIED applies no window (all
48
+ * launches); LAST_24H / LAST_1H keep only launches whose launched_at is within
49
+ * the trailing 24 hours / 1 hour respectively.
50
+ *
51
+ * @generated from enum launches.v1.LaunchWindow
52
+ */
53
+ export declare enum LaunchWindow {
54
+ /**
55
+ * @generated from enum value: LAUNCH_WINDOW_UNSPECIFIED = 0;
56
+ */
57
+ UNSPECIFIED = 0,
58
+ /**
59
+ * @generated from enum value: LAUNCH_WINDOW_LAST_24H = 1;
60
+ */
61
+ LAST_24H = 1,
62
+ /**
63
+ * @generated from enum value: LAUNCH_WINDOW_LAST_1H = 2;
64
+ */
65
+ LAST_1H = 2
66
+ }
67
+ /**
68
+ * The trade's direction from the trader's perspective: BUY = the trader
69
+ * received the requested token, SELL = the trader gave it up. UNSPECIFIED
70
+ * when the direction can't be derived (zero/unknown amount).
71
+ *
72
+ * @generated from enum launches.v1.TradeSide
73
+ */
74
+ export declare enum TradeSide {
75
+ /**
76
+ * @generated from enum value: TRADE_SIDE_UNSPECIFIED = 0;
77
+ */
78
+ UNSPECIFIED = 0,
79
+ /**
80
+ * @generated from enum value: TRADE_SIDE_BUY = 1;
81
+ */
82
+ BUY = 1,
83
+ /**
84
+ * @generated from enum value: TRADE_SIDE_SELL = 2;
85
+ */
86
+ SELL = 2
87
+ }
88
+ /**
89
+ * @generated from message launches.v1.TimestampedValue
90
+ */
91
+ export declare class TimestampedValue extends Message<TimestampedValue> {
92
+ /**
93
+ * @generated from field: uint64 timestamp = 1;
94
+ */
95
+ timestamp: bigint;
96
+ /**
97
+ * @generated from field: double value = 2;
98
+ */
99
+ value: number;
100
+ constructor(data?: PartialMessage<TimestampedValue>);
101
+ static readonly runtime: typeof proto3;
102
+ static readonly typeName = "launches.v1.TimestampedValue";
103
+ static readonly fields: FieldList;
104
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TimestampedValue;
105
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TimestampedValue;
106
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TimestampedValue;
107
+ static equals(a: TimestampedValue | PlainMessage<TimestampedValue> | undefined, b: TimestampedValue | PlainMessage<TimestampedValue> | undefined): boolean;
108
+ }
109
+ /**
110
+ * @generated from message launches.v1.TokenSafety
111
+ */
112
+ export declare class TokenSafety extends Message<TokenSafety> {
113
+ /**
114
+ * @generated from field: bool is_spam = 1;
115
+ */
116
+ isSpam: boolean;
117
+ /**
118
+ * @generated from field: bool is_verified = 2;
119
+ */
120
+ isVerified: boolean;
121
+ /**
122
+ * @generated from field: bool is_blocked = 3;
123
+ */
124
+ isBlocked: boolean;
125
+ /**
126
+ * @generated from field: optional string verdict = 4;
127
+ */
128
+ verdict?: string;
129
+ /**
130
+ * @generated from field: repeated string features = 5;
131
+ */
132
+ features: string[];
133
+ constructor(data?: PartialMessage<TokenSafety>);
134
+ static readonly runtime: typeof proto3;
135
+ static readonly typeName = "launches.v1.TokenSafety";
136
+ static readonly fields: FieldList;
137
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TokenSafety;
138
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TokenSafety;
139
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TokenSafety;
140
+ static equals(a: TokenSafety | PlainMessage<TokenSafety> | undefined, b: TokenSafety | PlainMessage<TokenSafety> | undefined): boolean;
141
+ }
142
+ /**
143
+ * A token launchpad known to the Launches surface (see the data-api
144
+ * launchpad registry). A launchpad is the launching FRONTEND users see; id is
145
+ * the stable slug used in launchpad_id filters.
146
+ *
147
+ * @generated from message launches.v1.Launchpad
148
+ */
149
+ export declare class Launchpad extends Message<Launchpad> {
150
+ /**
151
+ * @generated from field: string id = 1;
152
+ */
153
+ id: string;
154
+ /**
155
+ * @generated from field: string name = 2;
156
+ */
157
+ name: string;
158
+ /**
159
+ * @generated from field: optional string logo_url = 3;
160
+ */
161
+ logoUrl?: string;
162
+ /**
163
+ * Underlying shared launch protocol (e.g. "doppler") when the frontend
164
+ * launches through contracts it doesn't own. Unset for self-contained
165
+ * launchpads; several frontends can share one protocol value.
166
+ *
167
+ * @generated from field: optional string protocol = 4;
168
+ */
169
+ protocol?: string;
170
+ constructor(data?: PartialMessage<Launchpad>);
171
+ static readonly runtime: typeof proto3;
172
+ static readonly typeName = "launches.v1.Launchpad";
173
+ static readonly fields: FieldList;
174
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Launchpad;
175
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Launchpad;
176
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Launchpad;
177
+ static equals(a: Launchpad | PlainMessage<Launchpad> | undefined, b: Launchpad | PlainMessage<Launchpad> | undefined): boolean;
178
+ }
179
+ /**
180
+ * Optional filters for ListLaunches. When a window is set and sort_by is
181
+ * UNSPECIFIED the server sorts by 24h volume (VOLUME_1D).
182
+ *
183
+ * @generated from message launches.v1.LaunchListFilter
184
+ */
185
+ export declare class LaunchListFilter extends Message<LaunchListFilter> {
186
+ /**
187
+ * @generated from field: launches.v1.LaunchWindow window = 1;
188
+ */
189
+ window: LaunchWindow;
190
+ constructor(data?: PartialMessage<LaunchListFilter>);
191
+ static readonly runtime: typeof proto3;
192
+ static readonly typeName = "launches.v1.LaunchListFilter";
193
+ static readonly fields: FieldList;
194
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchListFilter;
195
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchListFilter;
196
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchListFilter;
197
+ static equals(a: LaunchListFilter | PlainMessage<LaunchListFilter> | undefined, b: LaunchListFilter | PlainMessage<LaunchListFilter> | undefined): boolean;
198
+ }
199
+ /**
200
+ * The launched token's identity and display metadata.
201
+ *
202
+ * @generated from message launches.v1.LaunchToken
203
+ */
204
+ export declare class LaunchToken extends Message<LaunchToken> {
205
+ /**
206
+ * @generated from field: uint32 chain_id = 1;
207
+ */
208
+ chainId: number;
209
+ /**
210
+ * @generated from field: string address = 2;
211
+ */
212
+ address: string;
213
+ /**
214
+ * @generated from field: string symbol = 3;
215
+ */
216
+ symbol: string;
217
+ /**
218
+ * @generated from field: string name = 4;
219
+ */
220
+ name: string;
221
+ /**
222
+ * @generated from field: optional string logo_url = 5;
223
+ */
224
+ logoUrl?: string;
225
+ /**
226
+ * Safety classification from Aurora canonical_tokens — the same source and
227
+ * shape GetToken serves (safety.is_blocked carries the compliance
228
+ * blocklist). Unset when the token has no canonical row yet (fresh
229
+ * launches lag ingestion) or the read failed: treat as not blocked.
230
+ *
231
+ * @generated from field: launches.v1.TokenSafety safety = 6;
232
+ */
233
+ safety?: TokenSafety;
234
+ constructor(data?: PartialMessage<LaunchToken>);
235
+ static readonly runtime: typeof proto3;
236
+ static readonly typeName = "launches.v1.LaunchToken";
237
+ static readonly fields: FieldList;
238
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchToken;
239
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchToken;
240
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchToken;
241
+ static equals(a: LaunchToken | PlainMessage<LaunchToken> | undefined, b: LaunchToken | PlainMessage<LaunchToken> | undefined): boolean;
242
+ }
243
+ /**
244
+ * Live USD stats for a launch's pool/token. Each field is unset when its
245
+ * source has no data yet (fresh launches lag the stats pipelines).
246
+ *
247
+ * @generated from message launches.v1.LaunchStats
248
+ */
249
+ export declare class LaunchStats extends Message<LaunchStats> {
250
+ /**
251
+ * @generated from field: optional double volume_24h_usd = 1;
252
+ */
253
+ volume24hUsd?: number;
254
+ /**
255
+ * @generated from field: optional double tvl_usd = 2;
256
+ */
257
+ tvlUsd?: number;
258
+ /**
259
+ * @generated from field: optional double price_usd = 3;
260
+ */
261
+ priceUsd?: number;
262
+ /**
263
+ * price x total supply; unset where no supply source
264
+ *
265
+ * @generated from field: optional double fdv_usd = 4;
266
+ */
267
+ fdvUsd?: number;
268
+ /**
269
+ * @generated from field: optional double price_change_percent_1h = 5;
270
+ */
271
+ priceChangePercent1h?: number;
272
+ /**
273
+ * @generated from field: optional double price_change_percent_24h = 6;
274
+ */
275
+ priceChangePercent24h?: number;
276
+ /**
277
+ * USD price sparkline over the trailing 24h, oldest first. Same shape as
278
+ * RankedMultichainToken.sparkline (Aurora-side timestamps are synthesized;
279
+ * CCA points are observed). Empty when no series is available.
280
+ *
281
+ * @generated from field: repeated launches.v1.TimestampedValue sparkline = 7;
282
+ */
283
+ sparkline: TimestampedValue[];
284
+ /**
285
+ * price_usd in ETH terms, derived at serve time as price_usd divided by
286
+ * the chain's native-ETH USD rate. Only set on chains whose native
287
+ * currency is ETH; unset when either price is unavailable.
288
+ *
289
+ * @generated from field: optional double price_eth = 8;
290
+ */
291
+ priceEth?: number;
292
+ /**
293
+ * USD price ~24h ago — the anchor price_change_percent_24h is measured
294
+ * against. When set, price_change_percent_24h is computed at serve time
295
+ * from the live current price against this anchor; unset when the stats
296
+ * pipeline has not resolved an anchor yet.
297
+ *
298
+ * @generated from field: optional double price_24h_ago_usd = 9;
299
+ */
300
+ price24hAgoUsd?: number;
301
+ constructor(data?: PartialMessage<LaunchStats>);
302
+ static readonly runtime: typeof proto3;
303
+ static readonly typeName = "launches.v1.LaunchStats";
304
+ static readonly fields: FieldList;
305
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchStats;
306
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchStats;
307
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchStats;
308
+ static equals(a: LaunchStats | PlainMessage<LaunchStats> | undefined, b: LaunchStats | PlainMessage<LaunchStats> | undefined): boolean;
309
+ }
310
+ /**
311
+ * One token launch: the earliest pool a (token, launchpad) pair created.
312
+ *
313
+ * @generated from message launches.v1.Launch
314
+ */
315
+ export declare class Launch extends Message<Launch> {
316
+ /**
317
+ * @generated from field: string launchpad_id = 1;
318
+ */
319
+ launchpadId: string;
320
+ /**
321
+ * @generated from field: launches.v1.LaunchToken token = 2;
322
+ */
323
+ token?: LaunchToken;
324
+ /**
325
+ * v4 pool id for hook-attributed and direct launches; CCA pool key hash
326
+ * once the auction has migrated to a pool, empty before then.
327
+ *
328
+ * @generated from field: string pool_id = 3;
329
+ */
330
+ poolId: string;
331
+ /**
332
+ * @generated from field: optional string hooks_address = 4;
333
+ */
334
+ hooksAddress?: string;
335
+ /**
336
+ * unix seconds
337
+ *
338
+ * @generated from field: int64 launched_at = 5;
339
+ */
340
+ launchedAt: bigint;
341
+ /**
342
+ * @generated from field: launches.v1.LaunchStats stats = 6;
343
+ */
344
+ stats?: LaunchStats;
345
+ /**
346
+ * CCA + direct-launch launches: true once the launch graduated. CCA:
347
+ * auction migrated into its pool (on-chain fact). Direct launches
348
+ * (launchpad "uniswap-bonding-curve") have NO on-chain graduation — the
349
+ * pool is a vanilla v4 pool from block one — so this is currently always
350
+ * false for them; a serving-side FDV-threshold graduation rule may set it
351
+ * later. Unset for other hook-attributed launches, which are pools
352
+ * already.
353
+ *
354
+ * @generated from field: optional bool graduated = 7;
355
+ */
356
+ graduated?: boolean;
357
+ /**
358
+ * CCA launches only, pre-graduation: bid volume as a percent of the
359
+ * required raise, clamped to [0, 100]. Unset once graduated, when the
360
+ * auction has no required raise, and for hook-attributed launches.
361
+ *
362
+ * @generated from field: optional double auction_fill_pct = 8;
363
+ */
364
+ auctionFillPct?: number;
365
+ /**
366
+ * CCA launches only, pre-graduation: the auction's end block number
367
+ * (bigint as string). Clients estimate calendar time from blocks, like the
368
+ * v1 auction start_block/end_block. Unset once graduated.
369
+ *
370
+ * @generated from field: optional string auction_end_block = 9;
371
+ */
372
+ auctionEndBlock?: string;
373
+ /**
374
+ * CCA launches only: distinct wallets that have placed bids in the auction
375
+ * (all bids, including withdrawn/exited — historical participation, so it
376
+ * stays set after graduation). Unset for hook-attributed launches, which
377
+ * have no auction. int32 matches the v1 auction total_bid_count.
378
+ *
379
+ * @generated from field: optional int32 bidder_count = 10;
380
+ */
381
+ bidderCount?: number;
382
+ /**
383
+ * Direct-launch overlay (see BondingCurveInfo), set only for launches of
384
+ * the Uniswap direct-launch launchpad ("uniswap-bonding-curve").
385
+ *
386
+ * @generated from field: optional launches.v1.BondingCurveInfo bonding_curve = 11;
387
+ */
388
+ bondingCurve?: BondingCurveInfo;
389
+ /**
390
+ * Launchpad token metadata (12-15), joined from launched_tokens — present
391
+ * only for launches whose token was created via the Uniswap token factory
392
+ * (CCA and bonding-curve launches); other launchpads' tokens have no row
393
+ * and serve unset. Verification gating mirrors v1 GetAuction
394
+ * (AuctionsBL.enrichWithLaunchpadMetadata): the description is on-chain
395
+ * creator text at the same trust level as name/symbol, served ungated.
396
+ *
397
+ * @generated from field: optional string token_description = 12;
398
+ */
399
+ tokenDescription?: string;
400
+ /**
401
+ * The launch tx's from address (launched_tokens.creator_wallet),
402
+ * EIP-55 checksummed. Public on-chain data, served ungated.
403
+ *
404
+ * @generated from field: optional string creator_address = 13;
405
+ */
406
+ creatorAddress?: string;
407
+ /**
408
+ * Creator-declared project website. Served only once website verification
409
+ * passes; verification is deferred today (status stays 'pending', same
410
+ * rule that keeps the token mirror's homepageUrl null), so this stays
411
+ * unset until that ships.
412
+ *
413
+ * @generated from field: optional string website_url = 14;
414
+ */
415
+ websiteUrl?: string;
416
+ /**
417
+ * X handle, only when its inline-at-ingest Ed25519 verification passed.
418
+ *
419
+ * @generated from field: optional string x_handle = 15;
420
+ */
421
+ xHandle?: string;
422
+ /**
423
+ * Bonding-curve launches only (16-17): distinct wallets (swap tx senders)
424
+ * that bought the launch token on its curve pool — all-time and trailing
425
+ * hour. Served from ClickHouse v4 swaps; absent (never 0) when the stats
426
+ * source fails or for non-curve launches, so clients can tell degraded
427
+ * from a real zero.
428
+ *
429
+ * @generated from field: optional int32 unique_buyer_count = 16;
430
+ */
431
+ uniqueBuyerCount?: number;
432
+ /**
433
+ * @generated from field: optional int32 buyers_last_1h = 17;
434
+ */
435
+ buyersLast1h?: number;
436
+ /**
437
+ * Exact on-chain holder count of the launch token, computed at query time
438
+ * over the raw launch-transfers feed (ClickHouse, reorg-excluded):
439
+ * addresses with a positive net balance, contracts included, burn sinks
440
+ * like 0x…dEaD included while they hold a balance — raw Etherscan-style
441
+ * semantics. Present only for tokens created via the Uniswap token
442
+ * factory (CCA + bonding-curve launches, whose transfers the feed
443
+ * whitelists); absent — never 0 — while the token has no ingested
444
+ * transfers or when the enrichment fails.
445
+ *
446
+ * @generated from field: optional int32 holder_count = 18;
447
+ */
448
+ holderCount?: number;
449
+ /**
450
+ * Cumulative burned amount of the launch token, split by burn sink and
451
+ * computed from the same transfer feed. Raw uint256 base units as decimal
452
+ * strings; total burned = burned_to_zero + burned_to_dead. Because burn
453
+ * addresses never spend, a holders-excluding-burn count is
454
+ * client-derivable as holder_count - (burned_to_dead > 0 ? 1 : 0). Same
455
+ * presence rule as holder_count (absent without ingested transfers), but
456
+ * once the token has transfers a genuine "0" is served.
457
+ *
458
+ * @generated from field: optional string burned_to_zero = 19;
459
+ */
460
+ burnedToZero?: string;
461
+ /**
462
+ * @generated from field: optional string burned_to_dead = 20;
463
+ */
464
+ burnedToDead?: string;
465
+ /**
466
+ * CCA launches only, pre-graduation (same lifecycle as auction_end_block):
467
+ * wall-clock time of the auction's end block in unix seconds, computed
468
+ * server-side (LP-1300) — the exact block timestamp once the end block is
469
+ * mined, otherwise an estimate from a per-chain block-time model. Unset
470
+ * once graduated, when the source data is unavailable, and for
471
+ * hook-attributed launches.
472
+ *
473
+ * @generated from field: optional int64 auction_end_time = 21;
474
+ */
475
+ auctionEndTime?: bigint;
476
+ /**
477
+ * X profile image URL of the verified launcher account, captured from the
478
+ * launch's signed x-verification claims. Same gate as x_handle: served only
479
+ * when the inline-at-ingest Ed25519 verification passed. Unset for launches
480
+ * that predate claim capture (backfill pending) or carry no avatar.
481
+ *
482
+ * @generated from field: optional string x_profile_image_url = 22;
483
+ */
484
+ xProfileImageUrl?: string;
485
+ /**
486
+ * Whether the launcher's X account was verified (blue check) when captured.
487
+ * Tri-state via presence: unset = unknown (pre-feature launch, not yet
488
+ * backfilled), false = X reported not verified, true = verified. Same
489
+ * x_handle_status gate as x_handle / x_profile_image_url.
490
+ *
491
+ * @generated from field: optional bool x_verified = 23;
492
+ */
493
+ xVerified?: boolean;
494
+ /**
495
+ * Home-card trade tape: the launch token's most recent swaps, newest
496
+ * first, capped at the last 5 within the trailing 24h — same rows (and
497
+ * message) GetTokenTrades serves, aggregated across all the token's pools
498
+ * on its chain. Served from a short-TTL cache refreshed off the request
499
+ * path, so entries can lag live trades by the cache TTL (~30s) and a
500
+ * cold cache serves an empty list — clients treat empty as "no recent
501
+ * activity known", not an error. Pre-graduation CCA launches have no
502
+ * swaps by construction (bids are not trades) — the auction tape is
503
+ * AuctionWithStats.recent_bids on ListTopAuctions.
504
+ *
505
+ * @generated from field: repeated launches.v1.TokenTrade recent_trades = 24;
506
+ */
507
+ recentTrades: TokenTrade[];
508
+ constructor(data?: PartialMessage<Launch>);
509
+ static readonly runtime: typeof proto3;
510
+ static readonly typeName = "launches.v1.Launch";
511
+ static readonly fields: FieldList;
512
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Launch;
513
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Launch;
514
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Launch;
515
+ static equals(a: Launch | PlainMessage<Launch> | undefined, b: Launch | PlainMessage<Launch> | undefined): boolean;
516
+ }
517
+ /**
518
+ * One row of a launch token's holder list (GetLaunchHolders).
519
+ *
520
+ * @generated from message launches.v1.LaunchHolder
521
+ */
522
+ export declare class LaunchHolder extends Message<LaunchHolder> {
523
+ /**
524
+ * EIP-55 checksummed, so clients can equality-match against
525
+ * Launch.creator_address and well-known addresses (LP, burn sinks).
526
+ *
527
+ * @generated from field: string address = 1;
528
+ */
529
+ address: string;
530
+ /**
531
+ * Net balance, raw base units as a decimal string. For the synthetic
532
+ * zero-address burn row this is the cumulative amount burned to 0x0.
533
+ *
534
+ * @generated from field: string balance = 2;
535
+ */
536
+ balance: string;
537
+ /**
538
+ * balance as a percent of minted_supply, in [0, 100].
539
+ *
540
+ * @generated from field: double supply_pct = 3;
541
+ */
542
+ supplyPct: number;
543
+ /**
544
+ * True for burn-sink rows (the zero address and 0x…dEaD). Burn rows are
545
+ * served in the list (burned tokens stay visible) but excluded from
546
+ * top10_supply_pct; the synthetic zero-address row is also excluded from
547
+ * holder_count (0x…dEaD counts, matching Launch.holder_count).
548
+ *
549
+ * @generated from field: bool is_burn_address = 4;
550
+ */
551
+ isBurnAddress: boolean;
552
+ /**
553
+ * True for the launch pool's custody row — the chain's v4 PoolManager
554
+ * singleton, which holds the pool's token-side balance (the LP NFT sits
555
+ * in the FeeSplitter, the ERC-20 supply does not). Served in the list so
556
+ * clients can label it, but excluded from top10_supply_pct like burn rows
557
+ * (the pool is the market, not a dumpable holder); it stays inside
558
+ * holder_count.
559
+ *
560
+ * @generated from field: bool is_pool_address = 5;
561
+ */
562
+ isPoolAddress: boolean;
563
+ constructor(data?: PartialMessage<LaunchHolder>);
564
+ static readonly runtime: typeof proto3;
565
+ static readonly typeName = "launches.v1.LaunchHolder";
566
+ static readonly fields: FieldList;
567
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchHolder;
568
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchHolder;
569
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchHolder;
570
+ static equals(a: LaunchHolder | PlainMessage<LaunchHolder> | undefined, b: LaunchHolder | PlainMessage<LaunchHolder> | undefined): boolean;
571
+ }
572
+ /**
573
+ * Overlay for launches of the Uniswap direct-launch launchpad (launchpad_id
574
+ * "uniswap-bonding-curve", kept for client compatibility). The current
575
+ * launcher generation (DirectLaunchStrategy, LP-1289) is hookless with NO
576
+ * on-chain graduation lifecycle: launch pools are vanilla v4 pools from
577
+ * block one, and "graduation" is a serving/frontend concept (an FDV
578
+ * threshold), not a contract event. Fields 1-5 and 7-9 belong to the
579
+ * never-launched bonding-curve hook generation and are no longer set for
580
+ * new launches; they are kept so the message shape stays wire-compatible.
581
+ *
582
+ * @generated from message launches.v1.BondingCurveInfo
583
+ */
584
+ export declare class BondingCurveInfo extends Message<BondingCurveInfo> {
585
+ /**
586
+ * Legacy bonding-curve-hook fields (1-5, 7-9): never set for direct-launch
587
+ * (hookless) launches — there is no curve and no on-chain graduation.
588
+ *
589
+ * @generated from field: optional string graduation_sqrt_price_x96 = 1;
590
+ */
591
+ graduationSqrtPriceX96?: string;
592
+ /**
593
+ * @generated from field: optional int32 curve_tick_lower = 2;
594
+ */
595
+ curveTickLower?: number;
596
+ /**
597
+ * @generated from field: optional int32 curve_tick_upper = 3;
598
+ */
599
+ curveTickUpper?: number;
600
+ /**
601
+ * @generated from field: optional string curve_supply = 4;
602
+ */
603
+ curveSupply?: string;
604
+ /**
605
+ * @generated from field: optional string reserve_supply = 5;
606
+ */
607
+ reserveSupply?: string;
608
+ /**
609
+ * @generated from field: optional string graduated_tx_hash = 7;
610
+ */
611
+ graduatedTxHash?: string;
612
+ /**
613
+ * @generated from field: optional double curve_progress_pct = 8;
614
+ */
615
+ curveProgressPct?: number;
616
+ /**
617
+ * @generated from field: optional int64 graduated_at = 9;
618
+ */
619
+ graduatedAt?: bigint;
620
+ /**
621
+ * The launch's fee beneficiary, EIP-55 checksummed: the CURRENT holder of
622
+ * the launch's BeneficiaryVault NFT, i.e. the address receiving the
623
+ * creator share of the launch pool's trading fees. Freely chosen at
624
+ * launch time by whoever built the launch transaction — a payee, NOT
625
+ * proven authorship (see Launch.creator_address for the launch tx
626
+ * sender) — and it MOVES with later NFT transfers. Unset while ingestion
627
+ * of the vault events lags the launch, or when the position is
628
+ * unregistered.
629
+ *
630
+ * @generated from field: optional string fee_beneficiary = 10;
631
+ */
632
+ feeBeneficiary?: string;
633
+ constructor(data?: PartialMessage<BondingCurveInfo>);
634
+ static readonly runtime: typeof proto3;
635
+ static readonly typeName = "launches.v1.BondingCurveInfo";
636
+ static readonly fields: FieldList;
637
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BondingCurveInfo;
638
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BondingCurveInfo;
639
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BondingCurveInfo;
640
+ static equals(a: BondingCurveInfo | PlainMessage<BondingCurveInfo> | undefined, b: BondingCurveInfo | PlainMessage<BondingCurveInfo> | undefined): boolean;
641
+ }
642
+ /**
643
+ * One swap involving the requested token, returned by GetTokenTrades.
644
+ *
645
+ * @generated from message launches.v1.TokenTrade
646
+ */
647
+ export declare class TokenTrade extends Message<TokenTrade> {
648
+ /**
649
+ * @generated from field: string tx_hash = 1;
650
+ */
651
+ txHash: string;
652
+ /**
653
+ * @generated from field: launches.v1.TradeSide side = 2;
654
+ */
655
+ side: TradeSide;
656
+ /**
657
+ * The transaction's from-address (the EOA that signed it), not the router
658
+ * contract that forwarded the swap to the pool.
659
+ *
660
+ * @generated from field: string wallet = 3;
661
+ */
662
+ wallet: string;
663
+ /**
664
+ * Whole-swap USD value at trade time; unset when no USD price is known.
665
+ *
666
+ * @generated from field: optional double amount_usd = 4;
667
+ */
668
+ amountUsd?: number;
669
+ /**
670
+ * Absolute amount of the requested token traded, decimal string in token
671
+ * units (decimals applied). Empty when the token's decimals are unknown.
672
+ *
673
+ * @generated from field: string token_amount = 5;
674
+ */
675
+ tokenAmount: string;
676
+ /**
677
+ * USD price of the requested token at trade time; unset when unknown.
678
+ *
679
+ * @generated from field: optional double price_usd = 6;
680
+ */
681
+ priceUsd?: number;
682
+ /**
683
+ * @generated from field: google.protobuf.Timestamp timestamp = 7;
684
+ */
685
+ timestamp?: Timestamp;
686
+ constructor(data?: PartialMessage<TokenTrade>);
687
+ static readonly runtime: typeof proto3;
688
+ static readonly typeName = "launches.v1.TokenTrade";
689
+ static readonly fields: FieldList;
690
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TokenTrade;
691
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TokenTrade;
692
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TokenTrade;
693
+ static equals(a: TokenTrade | PlainMessage<TokenTrade> | undefined, b: TokenTrade | PlainMessage<TokenTrade> | undefined): boolean;
694
+ }