@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.
- package/dist/data/v2/categories_pb.d.ts +0 -4
- package/dist/data/v2/categories_pb.js +0 -5
- package/dist/launches/v1/api-LaunchService_connectquery.d.ts +132 -0
- package/dist/launches/v1/api-LaunchService_connectquery.js +136 -0
- package/dist/launches/v1/api_connect.d.ts +107 -0
- package/dist/launches/v1/api_connect.js +111 -0
- package/dist/launches/v1/api_pb.d.ts +1375 -0
- package/dist/launches/v1/api_pb.js +1464 -0
- package/dist/launches/v1/common_pb.d.ts +47 -0
- package/dist/launches/v1/common_pb.js +65 -0
- package/dist/launches/v1/token_factory-TokenFactoryService_connectquery.d.ts +54 -0
- package/dist/launches/v1/token_factory-TokenFactoryService_connectquery.js +58 -0
- package/dist/launches/v1/token_factory_connect.d.ts +52 -0
- package/dist/launches/v1/token_factory_connect.js +56 -0
- package/dist/launches/v1/token_factory_pb.d.ts +205 -0
- package/dist/launches/v1/token_factory_pb.js +319 -0
- package/dist/launches/v1/types_pb.d.ts +694 -0
- package/dist/launches/v1/types_pb.js +617 -0
- package/dist/launches/v1/worker_service-WorkerService_connectquery.d.ts +28 -0
- package/dist/launches/v1/worker_service-WorkerService_connectquery.js +32 -0
- package/dist/launches/v1/worker_service_connect.d.ts +34 -0
- package/dist/launches/v1/worker_service_connect.js +38 -0
- package/dist/launches/v1/worker_service_pb.d.ts +54 -0
- package/dist/launches/v1/worker_service_pb.js +101 -0
- package/package.json +1 -1
|
@@ -0,0 +1,1375 @@
|
|
|
1
|
+
import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
|
|
2
|
+
import { Message, proto3 } from "@bufbuild/protobuf";
|
|
3
|
+
import { Launch, LaunchesOrderBy, LaunchHolder, LaunchListFilter, Launchpad, TimestampedValue, TokenTrade } from "./types_pb.js";
|
|
4
|
+
import { PageRequest, PageResponse } from "./common_pb.js";
|
|
5
|
+
/**
|
|
6
|
+
* @generated from enum launches.v1.ActivityStatsWindow
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ActivityStatsWindow {
|
|
9
|
+
/**
|
|
10
|
+
* @generated from enum value: ACTIVITY_STATS_WINDOW_UNSPECIFIED = 0;
|
|
11
|
+
*/
|
|
12
|
+
UNSPECIFIED = 0,
|
|
13
|
+
/**
|
|
14
|
+
* @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_5M = 1;
|
|
15
|
+
*/
|
|
16
|
+
LAST_5M = 1,
|
|
17
|
+
/**
|
|
18
|
+
* @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_1H = 2;
|
|
19
|
+
*/
|
|
20
|
+
LAST_1H = 2,
|
|
21
|
+
/**
|
|
22
|
+
* @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_6H = 3;
|
|
23
|
+
*/
|
|
24
|
+
LAST_6H = 3,
|
|
25
|
+
/**
|
|
26
|
+
* @generated from enum value: ACTIVITY_STATS_WINDOW_LAST_24H = 4;
|
|
27
|
+
*/
|
|
28
|
+
LAST_24H = 4,
|
|
29
|
+
/**
|
|
30
|
+
* Anchored at launch creation; for graduated CCA launches, at graduation
|
|
31
|
+
* (the auction's migration into its pool).
|
|
32
|
+
*
|
|
33
|
+
* @generated from enum value: ACTIVITY_STATS_WINDOW_SINCE_LAUNCH = 5;
|
|
34
|
+
*/
|
|
35
|
+
SINCE_LAUNCH = 5
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @generated from message launches.v1.TokenIdentifier
|
|
39
|
+
*/
|
|
40
|
+
export declare class TokenIdentifier extends Message<TokenIdentifier> {
|
|
41
|
+
/**
|
|
42
|
+
* @generated from field: uint32 chain_id = 1;
|
|
43
|
+
*/
|
|
44
|
+
chainId: number;
|
|
45
|
+
/**
|
|
46
|
+
* @generated from field: string address = 2;
|
|
47
|
+
*/
|
|
48
|
+
address: string;
|
|
49
|
+
constructor(data?: PartialMessage<TokenIdentifier>);
|
|
50
|
+
static readonly runtime: typeof proto3;
|
|
51
|
+
static readonly typeName = "launches.v1.TokenIdentifier";
|
|
52
|
+
static readonly fields: FieldList;
|
|
53
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TokenIdentifier;
|
|
54
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TokenIdentifier;
|
|
55
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TokenIdentifier;
|
|
56
|
+
static equals(a: TokenIdentifier | PlainMessage<TokenIdentifier> | undefined, b: TokenIdentifier | PlainMessage<TokenIdentifier> | undefined): boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The launchpad registry, for building launchpad filters/labels client-side.
|
|
60
|
+
*
|
|
61
|
+
* @generated from message launches.v1.ListLaunchpadsRequest
|
|
62
|
+
*/
|
|
63
|
+
export declare class ListLaunchpadsRequest extends Message<ListLaunchpadsRequest> {
|
|
64
|
+
constructor(data?: PartialMessage<ListLaunchpadsRequest>);
|
|
65
|
+
static readonly runtime: typeof proto3;
|
|
66
|
+
static readonly typeName = "launches.v1.ListLaunchpadsRequest";
|
|
67
|
+
static readonly fields: FieldList;
|
|
68
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListLaunchpadsRequest;
|
|
69
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListLaunchpadsRequest;
|
|
70
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListLaunchpadsRequest;
|
|
71
|
+
static equals(a: ListLaunchpadsRequest | PlainMessage<ListLaunchpadsRequest> | undefined, b: ListLaunchpadsRequest | PlainMessage<ListLaunchpadsRequest> | undefined): boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @generated from message launches.v1.ListLaunchpadsResponse
|
|
75
|
+
*/
|
|
76
|
+
export declare class ListLaunchpadsResponse extends Message<ListLaunchpadsResponse> {
|
|
77
|
+
/**
|
|
78
|
+
* @generated from field: repeated launches.v1.Launchpad launchpads = 1;
|
|
79
|
+
*/
|
|
80
|
+
launchpads: Launchpad[];
|
|
81
|
+
constructor(data?: PartialMessage<ListLaunchpadsResponse>);
|
|
82
|
+
static readonly runtime: typeof proto3;
|
|
83
|
+
static readonly typeName = "launches.v1.ListLaunchpadsResponse";
|
|
84
|
+
static readonly fields: FieldList;
|
|
85
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListLaunchpadsResponse;
|
|
86
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListLaunchpadsResponse;
|
|
87
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListLaunchpadsResponse;
|
|
88
|
+
static equals(a: ListLaunchpadsResponse | PlainMessage<ListLaunchpadsResponse> | undefined, b: ListLaunchpadsResponse | PlainMessage<ListLaunchpadsResponse> | undefined): boolean;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Token launches aggregated across launchpads, newest first by default
|
|
92
|
+
* (searched requests default to FDV instead — see sort_by and query). One
|
|
93
|
+
* entry per (token, launchpad) — the earliest pool wins when a launchpad
|
|
94
|
+
* creates several pools for the same token.
|
|
95
|
+
*
|
|
96
|
+
* @generated from message launches.v1.ListLaunchesRequest
|
|
97
|
+
*/
|
|
98
|
+
export declare class ListLaunchesRequest extends Message<ListLaunchesRequest> {
|
|
99
|
+
/**
|
|
100
|
+
* Deprecated: use launchpad_ids. When both are set they are unioned.
|
|
101
|
+
*
|
|
102
|
+
* @generated from field: optional string launchpad_id = 1 [deprecated = true];
|
|
103
|
+
* @deprecated
|
|
104
|
+
*/
|
|
105
|
+
launchpadId?: string;
|
|
106
|
+
/**
|
|
107
|
+
* empty = all supported chains
|
|
108
|
+
*
|
|
109
|
+
* @generated from field: repeated uint32 chain_ids = 2;
|
|
110
|
+
*/
|
|
111
|
+
chainIds: number[];
|
|
112
|
+
/**
|
|
113
|
+
* UNSPECIFIED resolves server-side: with a window -> VOLUME_1D, else with
|
|
114
|
+
* a query -> FDV descending (largest matches first, with the first page
|
|
115
|
+
* led by a small newest-first block of matches launched in the trailing
|
|
116
|
+
* hour so a just-launched token stays findable by its creator), else
|
|
117
|
+
* LAUNCHED_AT (newest first). An explicit value always wins.
|
|
118
|
+
*
|
|
119
|
+
* @generated from field: launches.v1.LaunchesOrderBy sort_by = 3;
|
|
120
|
+
*/
|
|
121
|
+
sortBy: LaunchesOrderBy;
|
|
122
|
+
/**
|
|
123
|
+
* @generated from field: optional launches.v1.PageRequest page = 4;
|
|
124
|
+
*/
|
|
125
|
+
page?: PageRequest;
|
|
126
|
+
/**
|
|
127
|
+
* Launchpads to serve. Empty = the server-side default scope (the
|
|
128
|
+
* listable set plus uniswap-cca), so clients don't have to pre-scope with
|
|
129
|
+
* ListLaunchpads. The Uniswap brand spans two ids behind one "Uniswap"
|
|
130
|
+
* filter — uniswap-bonding-curve (instant launches) and uniswap-cca (CCA
|
|
131
|
+
* crowd-launch auctions) — so an explicit filter naming either id expands
|
|
132
|
+
* to the full brand set (both ids); there is no mechanism-scoped opt-out.
|
|
133
|
+
* If a consumer ever needs one, the expansion moves client-side (the
|
|
134
|
+
* filter chip sends both ids itself).
|
|
135
|
+
*
|
|
136
|
+
* @generated from field: repeated string launchpad_ids = 5;
|
|
137
|
+
*/
|
|
138
|
+
launchpadIds: string[];
|
|
139
|
+
/**
|
|
140
|
+
* launch-recency window
|
|
141
|
+
*
|
|
142
|
+
* @generated from field: optional launches.v1.LaunchListFilter filter = 6;
|
|
143
|
+
*/
|
|
144
|
+
filter?: LaunchListFilter;
|
|
145
|
+
/**
|
|
146
|
+
* Sort direction for sort_by; false (default) = descending (highest first).
|
|
147
|
+
* Null/empty metric rows sort last in both directions.
|
|
148
|
+
*
|
|
149
|
+
* @generated from field: optional bool ascending = 7;
|
|
150
|
+
*/
|
|
151
|
+
ascending?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Launchpad search: keep only launches whose token name OR
|
|
154
|
+
* symbol starts with this string, compared case-insensitively (prefix
|
|
155
|
+
* match only — no fuzzy/substring matching). LIKE metacharacters in the
|
|
156
|
+
* query are treated literally. An EXPLICIT sort_by/ascending orders the
|
|
157
|
+
* filtered results exactly as it does the unfiltered list; with sort_by
|
|
158
|
+
* UNSPECIFIED a searched request ranks by FDV descending (see sort_by) so
|
|
159
|
+
* the launch a name is actually looking for outranks whatever launched
|
|
160
|
+
* since. Whitespace-only queries are treated as absent; input is trimmed,
|
|
161
|
+
* whitespace-collapsed, and capped at 100 characters server-side.
|
|
162
|
+
*
|
|
163
|
+
* @generated from field: optional string query = 8;
|
|
164
|
+
*/
|
|
165
|
+
query?: string;
|
|
166
|
+
/**
|
|
167
|
+
* "My launches": keep only launches created by this wallet — the same
|
|
168
|
+
* address served as Launch.creator_address (launched_tokens.creator_wallet,
|
|
169
|
+
* the launch tx's from address). Any case is accepted; the server
|
|
170
|
+
* EIP-55-checksums it before comparing, and rejects a non-address with
|
|
171
|
+
* INVALID_ARGUMENT. Empty/absent applies no filter.
|
|
172
|
+
*
|
|
173
|
+
* Coverage is the Uniswap launchpads only (uniswap-cca crowd-launch
|
|
174
|
+
* auctions + uniswap-bonding-curve instant launches). Third-party-launchpad
|
|
175
|
+
* launches are served from a materialized table with no creator column and
|
|
176
|
+
* are dropped from a creator-filtered read — they carry no
|
|
177
|
+
* Launch.creator_address today either, so nothing filterable is lost.
|
|
178
|
+
*
|
|
179
|
+
* Not supported with sort_by = TRENDING: that ranking is built from a
|
|
180
|
+
* candidate scan with no creator column, so the combination is rejected
|
|
181
|
+
* rather than served unfiltered or silently re-sorted.
|
|
182
|
+
*
|
|
183
|
+
* @generated from field: optional string creator_address = 9;
|
|
184
|
+
*/
|
|
185
|
+
creatorAddress?: string;
|
|
186
|
+
/**
|
|
187
|
+
* "Linked X": keep only launches that serve Launch.x_handle — i.e. whose
|
|
188
|
+
* creator-declared X handle passed its inline-at-ingest Ed25519
|
|
189
|
+
* verification (launched_tokens.x_handle_status = 'passed' with a
|
|
190
|
+
* non-empty handle). Exactly the rows the response decorates with
|
|
191
|
+
* x_handle, but filtered IN the ranked query before pagination, so the
|
|
192
|
+
* result is the top launches with a linked X across ALL launches — not a
|
|
193
|
+
* client-side pass over one pre-cut page. False/absent applies no filter.
|
|
194
|
+
*
|
|
195
|
+
* Coverage is the Uniswap launchpads only (uniswap-cca crowd-launch
|
|
196
|
+
* auctions + uniswap-bonding-curve instant launches): x_handle is only
|
|
197
|
+
* ever attested for factory launches, so third-party-launchpad launches —
|
|
198
|
+
* which never serve x_handle — are dropped from a filtered read and
|
|
199
|
+
* nothing filterable is lost.
|
|
200
|
+
*
|
|
201
|
+
* Not supported with sort_by = TRENDING: that ranking is built from a
|
|
202
|
+
* candidate scan with no X-handle column, so the combination is rejected
|
|
203
|
+
* with INVALID_ARGUMENT rather than served unfiltered or silently
|
|
204
|
+
* re-sorted. Composes with every other sort, VOLUME_1D included.
|
|
205
|
+
*
|
|
206
|
+
* @generated from field: optional bool linked_x_only = 10;
|
|
207
|
+
*/
|
|
208
|
+
linkedXOnly?: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Launch lookup by token: keep only launches of these token addresses.
|
|
211
|
+
* Any casing is accepted (the server EIP-55-checksums and dedupes before
|
|
212
|
+
* comparing); a non-address entry fails the request with INVALID_ARGUMENT.
|
|
213
|
+
* Empty/absent applies no filter. At most 100 entries.
|
|
214
|
+
*
|
|
215
|
+
* Built for token pages resolving a launch by address — e.g. an instant
|
|
216
|
+
* launch that has aged off the newest-100 feed window — so it composes
|
|
217
|
+
* with launchpad_ids/chain_ids and serves the same row shape and stats
|
|
218
|
+
* sources as the unfiltered feed.
|
|
219
|
+
*
|
|
220
|
+
* Coverage is the Uniswap launchpads only (uniswap-cca crowd-launch
|
|
221
|
+
* auctions + uniswap-bonding-curve instant launches): neither
|
|
222
|
+
* third-party-launchpad read can express a token predicate, so that arm
|
|
223
|
+
* is dropped from a token-filtered read rather than served unfiltered.
|
|
224
|
+
* Not supported with sort_by = TRENDING (rejected), same contract as
|
|
225
|
+
* creator_address.
|
|
226
|
+
*
|
|
227
|
+
* CCA rows additionally inherit the crowd-launch feed's
|
|
228
|
+
* `is_quick_launch = true` gate; an unclassified or institutional
|
|
229
|
+
* auction will not match.
|
|
230
|
+
*
|
|
231
|
+
* @generated from field: repeated string token_addresses = 11;
|
|
232
|
+
*/
|
|
233
|
+
tokenAddresses: string[];
|
|
234
|
+
constructor(data?: PartialMessage<ListLaunchesRequest>);
|
|
235
|
+
static readonly runtime: typeof proto3;
|
|
236
|
+
static readonly typeName = "launches.v1.ListLaunchesRequest";
|
|
237
|
+
static readonly fields: FieldList;
|
|
238
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListLaunchesRequest;
|
|
239
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListLaunchesRequest;
|
|
240
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListLaunchesRequest;
|
|
241
|
+
static equals(a: ListLaunchesRequest | PlainMessage<ListLaunchesRequest> | undefined, b: ListLaunchesRequest | PlainMessage<ListLaunchesRequest> | undefined): boolean;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* @generated from message launches.v1.ListLaunchesResponse
|
|
245
|
+
*/
|
|
246
|
+
export declare class ListLaunchesResponse extends Message<ListLaunchesResponse> {
|
|
247
|
+
/**
|
|
248
|
+
* @generated from field: repeated launches.v1.Launch launches = 1;
|
|
249
|
+
*/
|
|
250
|
+
launches: Launch[];
|
|
251
|
+
/**
|
|
252
|
+
* @generated from field: launches.v1.PageResponse page = 2;
|
|
253
|
+
*/
|
|
254
|
+
page?: PageResponse;
|
|
255
|
+
constructor(data?: PartialMessage<ListLaunchesResponse>);
|
|
256
|
+
static readonly runtime: typeof proto3;
|
|
257
|
+
static readonly typeName = "launches.v1.ListLaunchesResponse";
|
|
258
|
+
static readonly fields: FieldList;
|
|
259
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListLaunchesResponse;
|
|
260
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListLaunchesResponse;
|
|
261
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListLaunchesResponse;
|
|
262
|
+
static equals(a: ListLaunchesResponse | PlainMessage<ListLaunchesResponse> | undefined, b: ListLaunchesResponse | PlainMessage<ListLaunchesResponse> | undefined): boolean;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Holder data for ONE launch token (the TDP Holders module), computed at
|
|
266
|
+
* query time over the raw launch-transfers feed (ClickHouse,
|
|
267
|
+
* reorg-excluded) behind a short SWR cache. Only tokens created via the
|
|
268
|
+
* Uniswap token factory (CCA + bonding-curve launches) have transfer rows.
|
|
269
|
+
*
|
|
270
|
+
* @generated from message launches.v1.GetLaunchHoldersRequest
|
|
271
|
+
*/
|
|
272
|
+
export declare class GetLaunchHoldersRequest extends Message<GetLaunchHoldersRequest> {
|
|
273
|
+
/**
|
|
274
|
+
* @generated from field: uint32 chain_id = 1;
|
|
275
|
+
*/
|
|
276
|
+
chainId: number;
|
|
277
|
+
/**
|
|
278
|
+
* @generated from field: string token_address = 2;
|
|
279
|
+
*/
|
|
280
|
+
tokenAddress: string;
|
|
281
|
+
constructor(data?: PartialMessage<GetLaunchHoldersRequest>);
|
|
282
|
+
static readonly runtime: typeof proto3;
|
|
283
|
+
static readonly typeName = "launches.v1.GetLaunchHoldersRequest";
|
|
284
|
+
static readonly fields: FieldList;
|
|
285
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchHoldersRequest;
|
|
286
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchHoldersRequest;
|
|
287
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchHoldersRequest;
|
|
288
|
+
static equals(a: GetLaunchHoldersRequest | PlainMessage<GetLaunchHoldersRequest> | undefined, b: GetLaunchHoldersRequest | PlainMessage<GetLaunchHoldersRequest> | undefined): boolean;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Absence contract mirrors the Launch holder fields: when the token has no
|
|
292
|
+
* ingested transfers (non-factory token, ingestion lag, or every row
|
|
293
|
+
* reorged out) holders is empty and every optional field is unset, never a
|
|
294
|
+
* fake 0, so clients can tell no-data from a real zero. Upstream failures
|
|
295
|
+
* fail the RPC instead of serving empty.
|
|
296
|
+
*
|
|
297
|
+
* @generated from message launches.v1.GetLaunchHoldersResponse
|
|
298
|
+
*/
|
|
299
|
+
export declare class GetLaunchHoldersResponse extends Message<GetLaunchHoldersResponse> {
|
|
300
|
+
/**
|
|
301
|
+
* Top-100 holders by balance, descending. Raw Etherscan-style rows over
|
|
302
|
+
* net transfer balances, INCLUDING burned tokens: the 0x…dEaD burn sink
|
|
303
|
+
* appears while it holds a balance, and cumulative burns to the zero
|
|
304
|
+
* address appear as a synthetic zero-address row — so held + burned rows
|
|
305
|
+
* sum to minted_supply. Burn rows are flagged (is_burn_address); clients
|
|
306
|
+
* that want them out filter the flag.
|
|
307
|
+
*
|
|
308
|
+
* @generated from field: repeated launches.v1.LaunchHolder holders = 1;
|
|
309
|
+
*/
|
|
310
|
+
holders: LaunchHolder[];
|
|
311
|
+
/**
|
|
312
|
+
* Exact holder count, same semantics as Launch.holder_count (addresses
|
|
313
|
+
* with a positive net balance; burn sinks like 0x…dEaD included while
|
|
314
|
+
* they hold a balance, the zero address never). The synthetic zero-address
|
|
315
|
+
* burn row is never counted.
|
|
316
|
+
*
|
|
317
|
+
* @generated from field: optional int32 holder_count = 2;
|
|
318
|
+
*/
|
|
319
|
+
holderCount?: number;
|
|
320
|
+
/**
|
|
321
|
+
* holder_count minus the count as of 24h ago (signed).
|
|
322
|
+
*
|
|
323
|
+
* @generated from field: optional int32 holder_count_change_24h = 3;
|
|
324
|
+
*/
|
|
325
|
+
holderCountChange24h?: number;
|
|
326
|
+
/**
|
|
327
|
+
* Trailing 7-day holder-count trend for the stat sparkline: one point per
|
|
328
|
+
* UTC-now-anchored 24h mark, oldest first, last point = holder_count now.
|
|
329
|
+
*
|
|
330
|
+
* @generated from field: repeated launches.v1.TimestampedValue holder_count_trend = 4;
|
|
331
|
+
*/
|
|
332
|
+
holderCountTrend: TimestampedValue[];
|
|
333
|
+
/**
|
|
334
|
+
* Share of minted_supply held by the top 10 holder rows that are neither
|
|
335
|
+
* burn sinks nor the pool's custody row (LaunchHolder.is_pool_address),
|
|
336
|
+
* percent in [0, 100]. Burned tokens can never concentrate and the pool
|
|
337
|
+
* is the market itself, so both are excluded here (unlike the rows above).
|
|
338
|
+
*
|
|
339
|
+
* @generated from field: optional double top10_supply_pct = 5;
|
|
340
|
+
*/
|
|
341
|
+
top10SupplyPct?: number;
|
|
342
|
+
/**
|
|
343
|
+
* Cumulative value ever minted, raw base units as a decimal string — the
|
|
344
|
+
* denominator of every supply_pct in this response. Burn-inclusive by
|
|
345
|
+
* construction: holder balances + burned rows sum to it. On-chain
|
|
346
|
+
* totalSupply-style circulating figures are client-derivable as
|
|
347
|
+
* minted_supply - burned_to_zero.
|
|
348
|
+
*
|
|
349
|
+
* @generated from field: optional string minted_supply = 6;
|
|
350
|
+
*/
|
|
351
|
+
mintedSupply?: string;
|
|
352
|
+
/**
|
|
353
|
+
* Same definitions as Launch.burned_to_zero / burned_to_dead.
|
|
354
|
+
*
|
|
355
|
+
* @generated from field: optional string burned_to_zero = 7;
|
|
356
|
+
*/
|
|
357
|
+
burnedToZero?: string;
|
|
358
|
+
/**
|
|
359
|
+
* @generated from field: optional string burned_to_dead = 8;
|
|
360
|
+
*/
|
|
361
|
+
burnedToDead?: string;
|
|
362
|
+
constructor(data?: PartialMessage<GetLaunchHoldersResponse>);
|
|
363
|
+
static readonly runtime: typeof proto3;
|
|
364
|
+
static readonly typeName = "launches.v1.GetLaunchHoldersResponse";
|
|
365
|
+
static readonly fields: FieldList;
|
|
366
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchHoldersResponse;
|
|
367
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchHoldersResponse;
|
|
368
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchHoldersResponse;
|
|
369
|
+
static equals(a: GetLaunchHoldersResponse | PlainMessage<GetLaunchHoldersResponse> | undefined, b: GetLaunchHoldersResponse | PlainMessage<GetLaunchHoldersResponse> | undefined): boolean;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Server-computed per-window trade activity for a launch token (LP-1294):
|
|
373
|
+
* every window in one response, so the TDP Volume module's 5s poll is a
|
|
374
|
+
* single call instead of a client-side walk of GetTokenTrades. EVM-only.
|
|
375
|
+
* Served for tokens launched via the Uniswap token factory (CCA and
|
|
376
|
+
* bonding-curve launches); other tokens are a not_found error.
|
|
377
|
+
* CCA launches pre-graduation serve all-zero windows: bids are not trades,
|
|
378
|
+
* and the token does not swap until the auction migrates into its pool.
|
|
379
|
+
*
|
|
380
|
+
* @generated from message launches.v1.GetLaunchActivityStatsRequest
|
|
381
|
+
*/
|
|
382
|
+
export declare class GetLaunchActivityStatsRequest extends Message<GetLaunchActivityStatsRequest> {
|
|
383
|
+
/**
|
|
384
|
+
* @generated from field: uint32 chain_id = 1;
|
|
385
|
+
*/
|
|
386
|
+
chainId: number;
|
|
387
|
+
/**
|
|
388
|
+
* @generated from field: string token_address = 2;
|
|
389
|
+
*/
|
|
390
|
+
tokenAddress: string;
|
|
391
|
+
constructor(data?: PartialMessage<GetLaunchActivityStatsRequest>);
|
|
392
|
+
static readonly runtime: typeof proto3;
|
|
393
|
+
static readonly typeName = "launches.v1.GetLaunchActivityStatsRequest";
|
|
394
|
+
static readonly fields: FieldList;
|
|
395
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchActivityStatsRequest;
|
|
396
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsRequest;
|
|
397
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsRequest;
|
|
398
|
+
static equals(a: GetLaunchActivityStatsRequest | PlainMessage<GetLaunchActivityStatsRequest> | undefined, b: GetLaunchActivityStatsRequest | PlainMessage<GetLaunchActivityStatsRequest> | undefined): boolean;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* @generated from message launches.v1.GetLaunchActivityStatsResponse
|
|
402
|
+
*/
|
|
403
|
+
export declare class GetLaunchActivityStatsResponse extends Message<GetLaunchActivityStatsResponse> {
|
|
404
|
+
/**
|
|
405
|
+
* One entry per window, always all five, in enum order.
|
|
406
|
+
*
|
|
407
|
+
* @generated from field: repeated launches.v1.LaunchActivityStatsWindow windows = 1;
|
|
408
|
+
*/
|
|
409
|
+
windows: LaunchActivityStatsWindow[];
|
|
410
|
+
constructor(data?: PartialMessage<GetLaunchActivityStatsResponse>);
|
|
411
|
+
static readonly runtime: typeof proto3;
|
|
412
|
+
static readonly typeName = "launches.v1.GetLaunchActivityStatsResponse";
|
|
413
|
+
static readonly fields: FieldList;
|
|
414
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchActivityStatsResponse;
|
|
415
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsResponse;
|
|
416
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchActivityStatsResponse;
|
|
417
|
+
static equals(a: GetLaunchActivityStatsResponse | PlainMessage<GetLaunchActivityStatsResponse> | undefined, b: GetLaunchActivityStatsResponse | PlainMessage<GetLaunchActivityStatsResponse> | undefined): boolean;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Trade activity over one trailing window, split by direction from the
|
|
421
|
+
* trader's perspective. Unique counts are per trading wallet (the tx
|
|
422
|
+
* from-address, not the router) and are HLL-approximate (<1% error). USD
|
|
423
|
+
* volume values each swap at its ASOF token price; swaps with no known
|
|
424
|
+
* price contribute to counts but not to USD volume.
|
|
425
|
+
*
|
|
426
|
+
* @generated from message launches.v1.LaunchActivityStatsWindow
|
|
427
|
+
*/
|
|
428
|
+
export declare class LaunchActivityStatsWindow extends Message<LaunchActivityStatsWindow> {
|
|
429
|
+
/**
|
|
430
|
+
* @generated from field: launches.v1.ActivityStatsWindow window = 1;
|
|
431
|
+
*/
|
|
432
|
+
window: ActivityStatsWindow;
|
|
433
|
+
/**
|
|
434
|
+
* @generated from field: int32 buy_count = 2;
|
|
435
|
+
*/
|
|
436
|
+
buyCount: number;
|
|
437
|
+
/**
|
|
438
|
+
* @generated from field: int32 sell_count = 3;
|
|
439
|
+
*/
|
|
440
|
+
sellCount: number;
|
|
441
|
+
/**
|
|
442
|
+
* @generated from field: double buy_volume_usd = 4;
|
|
443
|
+
*/
|
|
444
|
+
buyVolumeUsd: number;
|
|
445
|
+
/**
|
|
446
|
+
* @generated from field: double sell_volume_usd = 5;
|
|
447
|
+
*/
|
|
448
|
+
sellVolumeUsd: number;
|
|
449
|
+
/**
|
|
450
|
+
* @generated from field: int32 unique_buyers = 6;
|
|
451
|
+
*/
|
|
452
|
+
uniqueBuyers: number;
|
|
453
|
+
/**
|
|
454
|
+
* @generated from field: int32 unique_sellers = 7;
|
|
455
|
+
*/
|
|
456
|
+
uniqueSellers: number;
|
|
457
|
+
constructor(data?: PartialMessage<LaunchActivityStatsWindow>);
|
|
458
|
+
static readonly runtime: typeof proto3;
|
|
459
|
+
static readonly typeName = "launches.v1.LaunchActivityStatsWindow";
|
|
460
|
+
static readonly fields: FieldList;
|
|
461
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchActivityStatsWindow;
|
|
462
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchActivityStatsWindow;
|
|
463
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchActivityStatsWindow;
|
|
464
|
+
static equals(a: LaunchActivityStatsWindow | PlainMessage<LaunchActivityStatsWindow> | undefined, b: LaunchActivityStatsWindow | PlainMessage<LaunchActivityStatsWindow> | undefined): boolean;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Per-wallet CCA auction claim aggregates for a launch token (LP-1296):
|
|
468
|
+
* the cost-basis seed for Top Traders PnL. Serves CCA launches ONLY —
|
|
469
|
+
* tokens launched via a Uniswap CCA auction; bonding-curve launches and
|
|
470
|
+
* non-factory tokens are a not_found error (curve tokens have no claims:
|
|
471
|
+
* their cost basis is the swap history alone). EVM-only.
|
|
472
|
+
*
|
|
473
|
+
* @generated from message launches.v1.GetLaunchClaimsRequest
|
|
474
|
+
*/
|
|
475
|
+
export declare class GetLaunchClaimsRequest extends Message<GetLaunchClaimsRequest> {
|
|
476
|
+
/**
|
|
477
|
+
* @generated from field: uint32 chain_id = 1;
|
|
478
|
+
*/
|
|
479
|
+
chainId: number;
|
|
480
|
+
/**
|
|
481
|
+
* @generated from field: string token_address = 2;
|
|
482
|
+
*/
|
|
483
|
+
tokenAddress: string;
|
|
484
|
+
constructor(data?: PartialMessage<GetLaunchClaimsRequest>);
|
|
485
|
+
static readonly runtime: typeof proto3;
|
|
486
|
+
static readonly typeName = "launches.v1.GetLaunchClaimsRequest";
|
|
487
|
+
static readonly fields: FieldList;
|
|
488
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchClaimsRequest;
|
|
489
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchClaimsRequest;
|
|
490
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchClaimsRequest;
|
|
491
|
+
static equals(a: GetLaunchClaimsRequest | PlainMessage<GetLaunchClaimsRequest> | undefined, b: GetLaunchClaimsRequest | PlainMessage<GetLaunchClaimsRequest> | undefined): boolean;
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* One wallet's aggregate acquisition through the auction, folded across all
|
|
495
|
+
* of the wallet's bids (multiple bids per wallet are summed). Sourced from
|
|
496
|
+
* indexed bid terminal events, so bids exited post-auction with a partial
|
|
497
|
+
* fill are included — economically those tokens are auction acquisitions
|
|
498
|
+
* even when no explicit claim transaction exists.
|
|
499
|
+
*
|
|
500
|
+
* The client derives the wallet's TRUE unit cost as
|
|
501
|
+
* currency_spent / tokens_received. In a time-weighted CCA, bidders do NOT
|
|
502
|
+
* all pay the final clearing price (early accumulation is cheaper), so
|
|
503
|
+
* never seed cost basis from the auction-level clearing price when these
|
|
504
|
+
* rows are available.
|
|
505
|
+
*
|
|
506
|
+
* @generated from message launches.v1.LaunchClaim
|
|
507
|
+
*/
|
|
508
|
+
export declare class LaunchClaim extends Message<LaunchClaim> {
|
|
509
|
+
/**
|
|
510
|
+
* EIP-55 checksummed wallet address.
|
|
511
|
+
*
|
|
512
|
+
* @generated from field: string wallet = 1;
|
|
513
|
+
*/
|
|
514
|
+
wallet: string;
|
|
515
|
+
/**
|
|
516
|
+
* Total launch tokens the wallet received from the auction, raw uint256
|
|
517
|
+
* decimal string in token base units.
|
|
518
|
+
*
|
|
519
|
+
* @generated from field: string tokens_received = 2;
|
|
520
|
+
*/
|
|
521
|
+
tokensReceived: string;
|
|
522
|
+
/**
|
|
523
|
+
* What the wallet actually spent, NET of refunds, as a raw uint256
|
|
524
|
+
* decimal string in the auction's raise-currency base units (see
|
|
525
|
+
* GetAuction for the currency): sum over the wallet's terminal bids of
|
|
526
|
+
* (bid amount - exit refund).
|
|
527
|
+
*
|
|
528
|
+
* @generated from field: string currency_spent = 3;
|
|
529
|
+
*/
|
|
530
|
+
currencySpent: string;
|
|
531
|
+
/**
|
|
532
|
+
* Number of the wallet's bids folded into this row (bids claimed or
|
|
533
|
+
* exited with a nonzero fill).
|
|
534
|
+
*
|
|
535
|
+
* @generated from field: int32 claim_count = 4;
|
|
536
|
+
*/
|
|
537
|
+
claimCount: number;
|
|
538
|
+
/**
|
|
539
|
+
* True when every bid the wallet placed on this auction has reached a
|
|
540
|
+
* terminal state (claimed or exited); false while any bid is still
|
|
541
|
+
* pending, i.e. tokens_received may still grow.
|
|
542
|
+
*
|
|
543
|
+
* @generated from field: bool fully_claimed = 5;
|
|
544
|
+
*/
|
|
545
|
+
fullyClaimed: boolean;
|
|
546
|
+
constructor(data?: PartialMessage<LaunchClaim>);
|
|
547
|
+
static readonly runtime: typeof proto3;
|
|
548
|
+
static readonly typeName = "launches.v1.LaunchClaim";
|
|
549
|
+
static readonly fields: FieldList;
|
|
550
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchClaim;
|
|
551
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchClaim;
|
|
552
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchClaim;
|
|
553
|
+
static equals(a: LaunchClaim | PlainMessage<LaunchClaim> | undefined, b: LaunchClaim | PlainMessage<LaunchClaim> | undefined): boolean;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* @generated from message launches.v1.GetLaunchClaimsResponse
|
|
557
|
+
*/
|
|
558
|
+
export declare class GetLaunchClaimsResponse extends Message<GetLaunchClaimsResponse> {
|
|
559
|
+
/**
|
|
560
|
+
* One row per claiming wallet, ordered tokens_received DESC (wallet ASC
|
|
561
|
+
* tiebreak); empty when the auction has no terminal bids yet. Servers
|
|
562
|
+
* cap the list to the top wallets under that ordering (currently 1000),
|
|
563
|
+
* so the rows are the complete claimer set for any auction below the
|
|
564
|
+
* cap; total_claimed and unique_claimers ALWAYS cover every claimer,
|
|
565
|
+
* not just the returned rows.
|
|
566
|
+
*
|
|
567
|
+
* @generated from field: repeated launches.v1.LaunchClaim claims = 1;
|
|
568
|
+
*/
|
|
569
|
+
claims: LaunchClaim[];
|
|
570
|
+
/**
|
|
571
|
+
* Total launch tokens received across ALL claiming wallets (the full
|
|
572
|
+
* population, even when claims is capped), raw uint256 decimal string
|
|
573
|
+
* in token base units.
|
|
574
|
+
*
|
|
575
|
+
* @generated from field: string total_claimed = 2;
|
|
576
|
+
*/
|
|
577
|
+
totalClaimed: string;
|
|
578
|
+
/**
|
|
579
|
+
* Number of distinct claiming wallets in the full population (may
|
|
580
|
+
* exceed the number of rows in claims when the cap applies).
|
|
581
|
+
*
|
|
582
|
+
* @generated from field: int32 unique_claimers = 3;
|
|
583
|
+
*/
|
|
584
|
+
uniqueClaimers: number;
|
|
585
|
+
constructor(data?: PartialMessage<GetLaunchClaimsResponse>);
|
|
586
|
+
static readonly runtime: typeof proto3;
|
|
587
|
+
static readonly typeName = "launches.v1.GetLaunchClaimsResponse";
|
|
588
|
+
static readonly fields: FieldList;
|
|
589
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchClaimsResponse;
|
|
590
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchClaimsResponse;
|
|
591
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchClaimsResponse;
|
|
592
|
+
static equals(a: GetLaunchClaimsResponse | PlainMessage<GetLaunchClaimsResponse> | undefined, b: GetLaunchClaimsResponse | PlainMessage<GetLaunchClaimsResponse> | undefined): boolean;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* Creator-fee metrics for ONE Instant Launch token (LP-1332): the numbers
|
|
596
|
+
* behind the portfolio Fees panel — fees accumulated for the creator,
|
|
597
|
+
* claimable now, claimed to date, and auto-compounded back into the launch
|
|
598
|
+
* position. Computed from indexed FeeSplitter FeesCollected and claim
|
|
599
|
+
* recipient Claimed events with the launcher SDK's fee math, so the amounts
|
|
600
|
+
* match the on-chain per-position attribution exactly (per-collect
|
|
601
|
+
* multiply-before-divide flooring). Instant Launch tokens only: a token with
|
|
602
|
+
* neither indexed fee events nor a resolvable launch (CCA launches,
|
|
603
|
+
* non-factory tokens) is a not_found error. EVM-only.
|
|
604
|
+
*
|
|
605
|
+
* @generated from message launches.v1.GetLaunchCreatorFeesRequest
|
|
606
|
+
*/
|
|
607
|
+
export declare class GetLaunchCreatorFeesRequest extends Message<GetLaunchCreatorFeesRequest> {
|
|
608
|
+
/**
|
|
609
|
+
* @generated from field: uint32 chain_id = 1;
|
|
610
|
+
*/
|
|
611
|
+
chainId: number;
|
|
612
|
+
/**
|
|
613
|
+
* The launched token's address (any casing).
|
|
614
|
+
*
|
|
615
|
+
* @generated from field: string token_address = 2;
|
|
616
|
+
*/
|
|
617
|
+
tokenAddress: string;
|
|
618
|
+
constructor(data?: PartialMessage<GetLaunchCreatorFeesRequest>);
|
|
619
|
+
static readonly runtime: typeof proto3;
|
|
620
|
+
static readonly typeName = "launches.v1.GetLaunchCreatorFeesRequest";
|
|
621
|
+
static readonly fields: FieldList;
|
|
622
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchCreatorFeesRequest;
|
|
623
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchCreatorFeesRequest;
|
|
624
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchCreatorFeesRequest;
|
|
625
|
+
static equals(a: GetLaunchCreatorFeesRequest | PlainMessage<GetLaunchCreatorFeesRequest> | undefined, b: GetLaunchCreatorFeesRequest | PlainMessage<GetLaunchCreatorFeesRequest> | undefined): boolean;
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* A native + launch-token amount pair, raw uint256 base units as decimal
|
|
629
|
+
* strings: native_amount in wei (the launch pool's currency0),
|
|
630
|
+
* token_amount in launch-token base units (currency1).
|
|
631
|
+
*
|
|
632
|
+
* @generated from message launches.v1.LaunchCreatorFeeAmounts
|
|
633
|
+
*/
|
|
634
|
+
export declare class LaunchCreatorFeeAmounts extends Message<LaunchCreatorFeeAmounts> {
|
|
635
|
+
/**
|
|
636
|
+
* @generated from field: string native_amount = 1;
|
|
637
|
+
*/
|
|
638
|
+
nativeAmount: string;
|
|
639
|
+
/**
|
|
640
|
+
* @generated from field: string token_amount = 2;
|
|
641
|
+
*/
|
|
642
|
+
tokenAmount: string;
|
|
643
|
+
constructor(data?: PartialMessage<LaunchCreatorFeeAmounts>);
|
|
644
|
+
static readonly runtime: typeof proto3;
|
|
645
|
+
static readonly typeName = "launches.v1.LaunchCreatorFeeAmounts";
|
|
646
|
+
static readonly fields: FieldList;
|
|
647
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LaunchCreatorFeeAmounts;
|
|
648
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LaunchCreatorFeeAmounts;
|
|
649
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LaunchCreatorFeeAmounts;
|
|
650
|
+
static equals(a: LaunchCreatorFeeAmounts | PlainMessage<LaunchCreatorFeeAmounts> | undefined, b: LaunchCreatorFeeAmounts | PlainMessage<LaunchCreatorFeeAmounts> | undefined): boolean;
|
|
651
|
+
}
|
|
652
|
+
/**
|
|
653
|
+
* The creator's own fee position — the ONLY amounts that belong to the
|
|
654
|
+
* creator. Grouped in their own message so no caller can read a
|
|
655
|
+
* protocol-custodied figure as part of the creator's total (see
|
|
656
|
+
* auto_compounded below). All three are POSITION-lifetime: the vault NFT is
|
|
657
|
+
* transferable, so they span every holder the position has had, not just the
|
|
658
|
+
* current beneficiary. When the launch settled into SEVERAL LP positions (a
|
|
659
|
+
* CCA/crowd-launch migration can mint more than one), all three aggregate
|
|
660
|
+
* across every position — claimable is clamped per position before summing.
|
|
661
|
+
*
|
|
662
|
+
* @generated from message launches.v1.CreatorFeeTotals
|
|
663
|
+
*/
|
|
664
|
+
export declare class CreatorFeeTotals extends Message<CreatorFeeTotals> {
|
|
665
|
+
/**
|
|
666
|
+
* The creator's share of all fees collected so far, floored per collect
|
|
667
|
+
* exactly as the FeeSplitter forwards it — equal to the beneficiary
|
|
668
|
+
* vault's cumulative on-chain attribution for the position.
|
|
669
|
+
*
|
|
670
|
+
* @generated from field: launches.v1.LaunchCreatorFeeAmounts accumulated = 1;
|
|
671
|
+
*/
|
|
672
|
+
accumulated?: LaunchCreatorFeeAmounts;
|
|
673
|
+
/**
|
|
674
|
+
* Paid out by the beneficiary vault to date — across all holders of the
|
|
675
|
+
* transferable vault NFT (past holders' payouts are included).
|
|
676
|
+
*
|
|
677
|
+
* @generated from field: launches.v1.LaunchCreatorFeeAmounts claimed = 2;
|
|
678
|
+
*/
|
|
679
|
+
claimed?: LaunchCreatorFeeAmounts;
|
|
680
|
+
/**
|
|
681
|
+
* accumulated − claimed, floored at zero per side: what a vault claim
|
|
682
|
+
* would pay right now (donations aside). Settles per-tokenId (the launch
|
|
683
|
+
* LP position), NOT per-beneficiary — whoever holds the vault NFT at
|
|
684
|
+
* claim time receives it.
|
|
685
|
+
*
|
|
686
|
+
* SETTLED-ONLY. Fees reach the beneficiary vault only when somebody calls
|
|
687
|
+
* the permissionless FeeSplitter.collectFees(tokenIds), so this
|
|
688
|
+
* UNDERSTATES the creator's earnings by everything the launch's Uniswap
|
|
689
|
+
* v4 position has accrued since the last collect. Its meaning is
|
|
690
|
+
* unchanged and will not change — see claimable_including_uncollected for
|
|
691
|
+
* the figure to show a creator as "your earnings".
|
|
692
|
+
*
|
|
693
|
+
* @generated from field: launches.v1.LaunchCreatorFeeAmounts claimable = 3;
|
|
694
|
+
*/
|
|
695
|
+
claimable?: LaunchCreatorFeeAmounts;
|
|
696
|
+
/**
|
|
697
|
+
* `claimable` PLUS the creator's share of the fees still sitting
|
|
698
|
+
* uncollected in the launch's Uniswap v4 position: what a
|
|
699
|
+
* collectFees + claim sent right now would actually pay out.
|
|
700
|
+
*
|
|
701
|
+
* Computed by simulating FeeSplitter.collectFees(tokenIds) against the
|
|
702
|
+
* chain head (eth_simulateV1) and reading the beneficiary vault's
|
|
703
|
+
* amounts(tokenId) inside that same simulated state — no transaction is
|
|
704
|
+
* sent and no state is written. Aggregated across every LP position of
|
|
705
|
+
* the launch, exactly like `claimable`.
|
|
706
|
+
*
|
|
707
|
+
* Always populated: when the simulation cannot run (RPC error, or a
|
|
708
|
+
* collect that reverts) this degrades to the vault's settled on-chain
|
|
709
|
+
* balance, and finally to `claimable` itself, so a creator sees a
|
|
710
|
+
* slightly stale number rather than an error.
|
|
711
|
+
*
|
|
712
|
+
* Read claimable_includes_uncollected before deciding how to treat this.
|
|
713
|
+
*
|
|
714
|
+
* WHEN IT IS TRUE this is the post-collect figure: normally >=
|
|
715
|
+
* `claimable`, but it comes from chain state rather than indexed events,
|
|
716
|
+
* so it can also come in LOWER when the indexer is behind a claim that
|
|
717
|
+
* already landed. It is the authoritative figure in that case — do not
|
|
718
|
+
* max() the two.
|
|
719
|
+
*
|
|
720
|
+
* WHEN IT IS FALSE the collect could not be simulated and this degraded
|
|
721
|
+
* to a settled balance (or to `claimable` itself). It then carries no
|
|
722
|
+
* uncollected remainder and can only UNDERSTATE the creator's earnings,
|
|
723
|
+
* so max() with `claimable` is the right defence and the number must not
|
|
724
|
+
* be labelled "your earnings".
|
|
725
|
+
*
|
|
726
|
+
* @generated from field: launches.v1.LaunchCreatorFeeAmounts claimable_including_uncollected = 4;
|
|
727
|
+
*/
|
|
728
|
+
claimableIncludingUncollected?: LaunchCreatorFeeAmounts;
|
|
729
|
+
constructor(data?: PartialMessage<CreatorFeeTotals>);
|
|
730
|
+
static readonly runtime: typeof proto3;
|
|
731
|
+
static readonly typeName = "launches.v1.CreatorFeeTotals";
|
|
732
|
+
static readonly fields: FieldList;
|
|
733
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CreatorFeeTotals;
|
|
734
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CreatorFeeTotals;
|
|
735
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreatorFeeTotals;
|
|
736
|
+
static equals(a: CreatorFeeTotals | PlainMessage<CreatorFeeTotals> | undefined, b: CreatorFeeTotals | PlainMessage<CreatorFeeTotals> | undefined): boolean;
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* @generated from message launches.v1.GetLaunchCreatorFeesResponse
|
|
740
|
+
*/
|
|
741
|
+
export declare class GetLaunchCreatorFeesResponse extends Message<GetLaunchCreatorFeesResponse> {
|
|
742
|
+
/**
|
|
743
|
+
* False for launches created through the fees-off strategy variant: every
|
|
744
|
+
* collected fee auto-compounds, so `creator` is all zeros and
|
|
745
|
+
* fee_beneficiary is never set. Distinguish this from "earned nothing
|
|
746
|
+
* yet" when rendering — they are different states.
|
|
747
|
+
*
|
|
748
|
+
* @generated from field: bool creator_fees_enabled = 1;
|
|
749
|
+
*/
|
|
750
|
+
creatorFeesEnabled: boolean;
|
|
751
|
+
/**
|
|
752
|
+
* Everything the creator has earned, been paid, and can still claim.
|
|
753
|
+
*
|
|
754
|
+
* @generated from field: launches.v1.CreatorFeeTotals creator = 2;
|
|
755
|
+
*/
|
|
756
|
+
creator?: CreatorFeeTotals;
|
|
757
|
+
/**
|
|
758
|
+
* NOT the creator's money, and NEVER additive with `creator`. Released to
|
|
759
|
+
* the CompoundingClaimRecipient, whose claims are enforced on-chain to
|
|
760
|
+
* increase the launch position's own liquidity in the same transaction, so
|
|
761
|
+
* it is protocol-custodied and the creator can never claim it.
|
|
762
|
+
*
|
|
763
|
+
* It is the COMPLEMENTARY leg of the very same collects that produced
|
|
764
|
+
* creator.accumulated — on the chain-4663 fees-on splitter the split is
|
|
765
|
+
* 40% creator / 60% compounded, verified exact against on-chain Claimed
|
|
766
|
+
* payouts. So creator.accumulated + auto_compounded is the position's whole
|
|
767
|
+
* fee revenue, i.e. 2.5x what the creator actually earned. Render it as
|
|
768
|
+
* pool growth if at all, never inside a creator earnings total.
|
|
769
|
+
*
|
|
770
|
+
* @generated from field: launches.v1.LaunchCreatorFeeAmounts auto_compounded = 3;
|
|
771
|
+
*/
|
|
772
|
+
autoCompounded?: LaunchCreatorFeeAmounts;
|
|
773
|
+
/**
|
|
774
|
+
* The launch's v4 LP position id (uint256 decimal string) — the key the
|
|
775
|
+
* beneficiary vault settles claims on, so a client building a claim
|
|
776
|
+
* transaction needs it (it is not derivable client-side). Unset when the
|
|
777
|
+
* launch has neither a collect nor a vault mint yet, in which case there
|
|
778
|
+
* is nothing to claim. When a CCA/crowd-launch migration minted several
|
|
779
|
+
* positions, this is the EARLIEST-collecting one while the amounts
|
|
780
|
+
* aggregate all of them — a claim on it pays that position's share, not
|
|
781
|
+
* the whole claimable.
|
|
782
|
+
*
|
|
783
|
+
* @generated from field: optional string position_token_id = 4;
|
|
784
|
+
*/
|
|
785
|
+
positionTokenId?: string;
|
|
786
|
+
/**
|
|
787
|
+
* Current beneficiary: the CREATOR'S WALLET (EIP-55) — the holder of the
|
|
788
|
+
* beneficiary ERC721 for the position_token_id position, who may claim
|
|
789
|
+
* and re-point the fee stream by transferring the NFT. This is NOT the
|
|
790
|
+
* vault contract; that is beneficiary_vault. Unset when creator fees are
|
|
791
|
+
* off, while vault ingestion lags (for a CCA launch: until the creator's
|
|
792
|
+
* graffiti claim mints the vault NFT), or transiently mid re-registration
|
|
793
|
+
* (NFT burned).
|
|
794
|
+
*
|
|
795
|
+
* @generated from field: optional string fee_beneficiary = 5;
|
|
796
|
+
*/
|
|
797
|
+
feeBeneficiary?: string;
|
|
798
|
+
/**
|
|
799
|
+
* Freshness marker: unix seconds of the newest ingested event this
|
|
800
|
+
* response was computed from, across every feed read (fee collections,
|
|
801
|
+
* vault transfers, claims). 0 when no event has been ingested yet. A
|
|
802
|
+
* stalled sink freezes this value while on-chain fees keep accruing, so
|
|
803
|
+
* clients gating actions on creator.claimable (e.g. enabling a Claim
|
|
804
|
+
* button) should treat a stale marker as stale data.
|
|
805
|
+
*
|
|
806
|
+
* @generated from field: int64 as_of_timestamp = 6;
|
|
807
|
+
*/
|
|
808
|
+
asOfTimestamp: bigint;
|
|
809
|
+
/**
|
|
810
|
+
* The launch's own FeeSplitter (EIP-55) — the contract to send the
|
|
811
|
+
* permissionless collectFees([position_token_id]) to, which sweeps the v4
|
|
812
|
+
* position's fees into the beneficiary vault and is what makes
|
|
813
|
+
* creator.claimable_including_uncollected actually claimable.
|
|
814
|
+
*
|
|
815
|
+
* PER LAUNCH, NOT A CHAIN CONSTANT: several FeeSplitter generations are
|
|
816
|
+
* deployed and live on the same chain (Robinhood Chain runs two), and a
|
|
817
|
+
* launch's fees only ever flow through the one its strategy was wired to.
|
|
818
|
+
* Clients MUST call the address in this field — a hardcoded per-chain
|
|
819
|
+
* splitter silently targets the wrong generation.
|
|
820
|
+
*
|
|
821
|
+
* Set for every launch this endpoint serves: where the indexed launch row
|
|
822
|
+
* carries no position recipient (a crowd launch, which never gets a row,
|
|
823
|
+
* or a row predating the column) the server falls back to the resolved
|
|
824
|
+
* strategy's own immutable FeeSplitter. Clients no longer need to gate the
|
|
825
|
+
* displayed figure down to the settled balance on an unset splitter.
|
|
826
|
+
*
|
|
827
|
+
* @generated from field: optional string fee_splitter = 7;
|
|
828
|
+
*/
|
|
829
|
+
feeSplitter?: string;
|
|
830
|
+
/**
|
|
831
|
+
* The launch's own UERC20BeneficiaryVault (EIP-55) — the contract that
|
|
832
|
+
* custodies the creator's share and that claim(position_token_id, 0, 0)
|
|
833
|
+
* is sent to. Per launch for the same reason fee_splitter is.
|
|
834
|
+
*
|
|
835
|
+
* Read from fee_splitter's OWN on-chain splits, so this vault and that
|
|
836
|
+
* splitter are a matched pair by construction rather than two independent
|
|
837
|
+
* lookups that can name contracts from different generations. Falls back
|
|
838
|
+
* to the indexed beneficiary NFT when that read is unavailable. Unset only
|
|
839
|
+
* when creator fees are off (no vault exists) or neither source has one
|
|
840
|
+
* yet.
|
|
841
|
+
*
|
|
842
|
+
* @generated from field: optional string beneficiary_vault = 8;
|
|
843
|
+
*/
|
|
844
|
+
beneficiaryVault?: string;
|
|
845
|
+
/**
|
|
846
|
+
* False when the collect could not be simulated and
|
|
847
|
+
* creator.claimable_including_uncollected is a settled balance (or the
|
|
848
|
+
* event-derived claimable) rather than the post-collect figure. Clients
|
|
849
|
+
* should not present it as "your earnings" when false.
|
|
850
|
+
*
|
|
851
|
+
* as_of_timestamp does NOT cover for this: that marker is computed from
|
|
852
|
+
* indexed events only, so it reads perfectly fresh during an RPC outage
|
|
853
|
+
* while the amount beside it has silently gone stale. This is the only
|
|
854
|
+
* signal that distinguishes the two.
|
|
855
|
+
*
|
|
856
|
+
* `optional` is load-bearing. A bare proto3 bool reads as false when
|
|
857
|
+
* absent, so a client built against <= 0.0.180 would see "degraded" on
|
|
858
|
+
* every response; the presence bit separates "this server does not send
|
|
859
|
+
* it" from "this response is degraded".
|
|
860
|
+
*
|
|
861
|
+
* @generated from field: optional bool claimable_includes_uncollected = 9;
|
|
862
|
+
*/
|
|
863
|
+
claimableIncludesUncollected?: boolean;
|
|
864
|
+
constructor(data?: PartialMessage<GetLaunchCreatorFeesResponse>);
|
|
865
|
+
static readonly runtime: typeof proto3;
|
|
866
|
+
static readonly typeName = "launches.v1.GetLaunchCreatorFeesResponse";
|
|
867
|
+
static readonly fields: FieldList;
|
|
868
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLaunchCreatorFeesResponse;
|
|
869
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLaunchCreatorFeesResponse;
|
|
870
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLaunchCreatorFeesResponse;
|
|
871
|
+
static equals(a: GetLaunchCreatorFeesResponse | PlainMessage<GetLaunchCreatorFeesResponse> | undefined, b: GetLaunchCreatorFeesResponse | PlainMessage<GetLaunchCreatorFeesResponse> | undefined): boolean;
|
|
872
|
+
}
|
|
873
|
+
/**
|
|
874
|
+
* Anti-vamp create-flow check (LP-1311): has a token with this name + ticker
|
|
875
|
+
* combination launched on the chain within the trailing 8 hours? Matching is
|
|
876
|
+
* case-insensitive on both fields and covers every Uniswap token-factory
|
|
877
|
+
* launch (Crowd Launch and Instant Launch, created through our flow or
|
|
878
|
+
* directly against the contracts). The FE renders a soft warning ("this
|
|
879
|
+
* name + ticker launched X hours ago — here's that token") linking the
|
|
880
|
+
* original's token page; nothing is blocked server-side. Backed by the same
|
|
881
|
+
* table and predicate the indexer uses to vamp-flag copycat launches out of
|
|
882
|
+
* ListLaunches, so the warning and the listing filter cannot drift. EVM-only.
|
|
883
|
+
*
|
|
884
|
+
* @generated from message launches.v1.CheckLaunchNameTickerRequest
|
|
885
|
+
*/
|
|
886
|
+
export declare class CheckLaunchNameTickerRequest extends Message<CheckLaunchNameTickerRequest> {
|
|
887
|
+
/**
|
|
888
|
+
* @generated from field: uint32 chain_id = 1;
|
|
889
|
+
*/
|
|
890
|
+
chainId: number;
|
|
891
|
+
/**
|
|
892
|
+
* Token name as entered in the create form (compared case-insensitively).
|
|
893
|
+
*
|
|
894
|
+
* @generated from field: string name = 2;
|
|
895
|
+
*/
|
|
896
|
+
name: string;
|
|
897
|
+
/**
|
|
898
|
+
* Token ticker/symbol as entered in the create form (compared
|
|
899
|
+
* case-insensitively).
|
|
900
|
+
*
|
|
901
|
+
* @generated from field: string symbol = 3;
|
|
902
|
+
*/
|
|
903
|
+
symbol: string;
|
|
904
|
+
constructor(data?: PartialMessage<CheckLaunchNameTickerRequest>);
|
|
905
|
+
static readonly runtime: typeof proto3;
|
|
906
|
+
static readonly typeName = "launches.v1.CheckLaunchNameTickerRequest";
|
|
907
|
+
static readonly fields: FieldList;
|
|
908
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CheckLaunchNameTickerRequest;
|
|
909
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CheckLaunchNameTickerRequest;
|
|
910
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CheckLaunchNameTickerRequest;
|
|
911
|
+
static equals(a: CheckLaunchNameTickerRequest | PlainMessage<CheckLaunchNameTickerRequest> | undefined, b: CheckLaunchNameTickerRequest | PlainMessage<CheckLaunchNameTickerRequest> | undefined): boolean;
|
|
912
|
+
}
|
|
913
|
+
/**
|
|
914
|
+
* @generated from message launches.v1.CheckLaunchNameTickerResponse
|
|
915
|
+
*/
|
|
916
|
+
export declare class CheckLaunchNameTickerResponse extends Message<CheckLaunchNameTickerResponse> {
|
|
917
|
+
/**
|
|
918
|
+
* True when a matching token launched within the trailing 8h window —
|
|
919
|
+
* launching this name + ticker now would be vamp-flagged at ingest.
|
|
920
|
+
*
|
|
921
|
+
* @generated from field: bool recently_launched = 1;
|
|
922
|
+
*/
|
|
923
|
+
recentlyLaunched: boolean;
|
|
924
|
+
/**
|
|
925
|
+
* The launch the warning should link to. Set iff recently_launched. When
|
|
926
|
+
* several launches match in the window (chained copycats), this is the
|
|
927
|
+
* earliest match that is not itself vamp-flagged, falling back to the
|
|
928
|
+
* earliest match.
|
|
929
|
+
*
|
|
930
|
+
* @generated from field: launches.v1.RecentlyLaunchedToken original_token = 2;
|
|
931
|
+
*/
|
|
932
|
+
originalToken?: RecentlyLaunchedToken;
|
|
933
|
+
constructor(data?: PartialMessage<CheckLaunchNameTickerResponse>);
|
|
934
|
+
static readonly runtime: typeof proto3;
|
|
935
|
+
static readonly typeName = "launches.v1.CheckLaunchNameTickerResponse";
|
|
936
|
+
static readonly fields: FieldList;
|
|
937
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CheckLaunchNameTickerResponse;
|
|
938
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CheckLaunchNameTickerResponse;
|
|
939
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CheckLaunchNameTickerResponse;
|
|
940
|
+
static equals(a: CheckLaunchNameTickerResponse | PlainMessage<CheckLaunchNameTickerResponse> | undefined, b: CheckLaunchNameTickerResponse | PlainMessage<CheckLaunchNameTickerResponse> | undefined): boolean;
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* The already-launched token a CheckLaunchNameTicker warning points at.
|
|
944
|
+
*
|
|
945
|
+
* @generated from message launches.v1.RecentlyLaunchedToken
|
|
946
|
+
*/
|
|
947
|
+
export declare class RecentlyLaunchedToken extends Message<RecentlyLaunchedToken> {
|
|
948
|
+
/**
|
|
949
|
+
* @generated from field: uint32 chain_id = 1;
|
|
950
|
+
*/
|
|
951
|
+
chainId: number;
|
|
952
|
+
/**
|
|
953
|
+
* EIP-55 checksummed token address; with chain_id, enough to build the
|
|
954
|
+
* token-page link.
|
|
955
|
+
*
|
|
956
|
+
* @generated from field: string token_address = 2;
|
|
957
|
+
*/
|
|
958
|
+
tokenAddress: string;
|
|
959
|
+
/**
|
|
960
|
+
* Stored name/symbol casing (the launched token's on-chain metadata).
|
|
961
|
+
*
|
|
962
|
+
* @generated from field: string name = 3;
|
|
963
|
+
*/
|
|
964
|
+
name: string;
|
|
965
|
+
/**
|
|
966
|
+
* @generated from field: string symbol = 4;
|
|
967
|
+
*/
|
|
968
|
+
symbol: string;
|
|
969
|
+
/**
|
|
970
|
+
* Unix seconds of the token's launch — the "launched X hours ago" the
|
|
971
|
+
* warning renders.
|
|
972
|
+
*
|
|
973
|
+
* @generated from field: int64 launched_at = 5;
|
|
974
|
+
*/
|
|
975
|
+
launchedAt: bigint;
|
|
976
|
+
constructor(data?: PartialMessage<RecentlyLaunchedToken>);
|
|
977
|
+
static readonly runtime: typeof proto3;
|
|
978
|
+
static readonly typeName = "launches.v1.RecentlyLaunchedToken";
|
|
979
|
+
static readonly fields: FieldList;
|
|
980
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RecentlyLaunchedToken;
|
|
981
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RecentlyLaunchedToken;
|
|
982
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RecentlyLaunchedToken;
|
|
983
|
+
static equals(a: RecentlyLaunchedToken | PlainMessage<RecentlyLaunchedToken> | undefined, b: RecentlyLaunchedToken | PlainMessage<RecentlyLaunchedToken> | undefined): boolean;
|
|
984
|
+
}
|
|
985
|
+
/**
|
|
986
|
+
* Total USD liquidity per token — the sum of the FULL (two-sided) TVL of every
|
|
987
|
+
* v2/v3/v4 pool the token sits in, which is the figure aggregators publish as a
|
|
988
|
+
* token's "liquidity". Batched on purpose: callers rendering a liquidity column
|
|
989
|
+
* must send the whole visible token set in one request rather than one request
|
|
990
|
+
* per row.
|
|
991
|
+
*
|
|
992
|
+
* @generated from message launches.v1.GetLiquidityForTokensRequest
|
|
993
|
+
*/
|
|
994
|
+
export declare class GetLiquidityForTokensRequest extends Message<GetLiquidityForTokensRequest> {
|
|
995
|
+
/**
|
|
996
|
+
* max 100
|
|
997
|
+
*
|
|
998
|
+
* @generated from field: repeated launches.v1.TokenIdentifier tokens = 1;
|
|
999
|
+
*/
|
|
1000
|
+
tokens: TokenIdentifier[];
|
|
1001
|
+
constructor(data?: PartialMessage<GetLiquidityForTokensRequest>);
|
|
1002
|
+
static readonly runtime: typeof proto3;
|
|
1003
|
+
static readonly typeName = "launches.v1.GetLiquidityForTokensRequest";
|
|
1004
|
+
static readonly fields: FieldList;
|
|
1005
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLiquidityForTokensRequest;
|
|
1006
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLiquidityForTokensRequest;
|
|
1007
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLiquidityForTokensRequest;
|
|
1008
|
+
static equals(a: GetLiquidityForTokensRequest | PlainMessage<GetLiquidityForTokensRequest> | undefined, b: GetLiquidityForTokensRequest | PlainMessage<GetLiquidityForTokensRequest> | undefined): boolean;
|
|
1009
|
+
}
|
|
1010
|
+
/**
|
|
1011
|
+
* Best-effort response: one entry per requested token whose liquidity is known.
|
|
1012
|
+
* A token with no pools, or whose pools have no computed TVL yet, is OMITTED
|
|
1013
|
+
* rather than returned as 0 — so a caller can fall back to its own figure
|
|
1014
|
+
* instead of rendering a wrong zero. Match entries back to the request by
|
|
1015
|
+
* (chain_id, address).
|
|
1016
|
+
*
|
|
1017
|
+
* @generated from message launches.v1.GetLiquidityForTokensResponse
|
|
1018
|
+
*/
|
|
1019
|
+
export declare class GetLiquidityForTokensResponse extends Message<GetLiquidityForTokensResponse> {
|
|
1020
|
+
/**
|
|
1021
|
+
* @generated from field: repeated launches.v1.TokenLiquidity liquidity = 1;
|
|
1022
|
+
*/
|
|
1023
|
+
liquidity: TokenLiquidity[];
|
|
1024
|
+
constructor(data?: PartialMessage<GetLiquidityForTokensResponse>);
|
|
1025
|
+
static readonly runtime: typeof proto3;
|
|
1026
|
+
static readonly typeName = "launches.v1.GetLiquidityForTokensResponse";
|
|
1027
|
+
static readonly fields: FieldList;
|
|
1028
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetLiquidityForTokensResponse;
|
|
1029
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetLiquidityForTokensResponse;
|
|
1030
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetLiquidityForTokensResponse;
|
|
1031
|
+
static equals(a: GetLiquidityForTokensResponse | PlainMessage<GetLiquidityForTokensResponse> | undefined, b: GetLiquidityForTokensResponse | PlainMessage<GetLiquidityForTokensResponse> | undefined): boolean;
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* @generated from message launches.v1.TokenLiquidity
|
|
1035
|
+
*/
|
|
1036
|
+
export declare class TokenLiquidity extends Message<TokenLiquidity> {
|
|
1037
|
+
/**
|
|
1038
|
+
* @generated from field: uint32 chain_id = 1;
|
|
1039
|
+
*/
|
|
1040
|
+
chainId: number;
|
|
1041
|
+
/**
|
|
1042
|
+
* EIP-55 checksummed token address, echoing the requested token.
|
|
1043
|
+
*
|
|
1044
|
+
* @generated from field: string address = 2;
|
|
1045
|
+
*/
|
|
1046
|
+
address: string;
|
|
1047
|
+
/**
|
|
1048
|
+
* Summed pool TVL in USD. Always > 0 — see the omission rule above.
|
|
1049
|
+
*
|
|
1050
|
+
* @generated from field: double liquidity_usd = 3;
|
|
1051
|
+
*/
|
|
1052
|
+
liquidityUsd: number;
|
|
1053
|
+
constructor(data?: PartialMessage<TokenLiquidity>);
|
|
1054
|
+
static readonly runtime: typeof proto3;
|
|
1055
|
+
static readonly typeName = "launches.v1.TokenLiquidity";
|
|
1056
|
+
static readonly fields: FieldList;
|
|
1057
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TokenLiquidity;
|
|
1058
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TokenLiquidity;
|
|
1059
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TokenLiquidity;
|
|
1060
|
+
static equals(a: TokenLiquidity | PlainMessage<TokenLiquidity> | undefined, b: TokenLiquidity | PlainMessage<TokenLiquidity> | undefined): boolean;
|
|
1061
|
+
}
|
|
1062
|
+
/**
|
|
1063
|
+
* Newest-first swap feed for a token, aggregated across ALL its pools
|
|
1064
|
+
* (v2/v3/v4) on the chain. Non-swap events (mints/burns/liquidity) are
|
|
1065
|
+
* excluded. Lookback is capped at 3 months. EVM-only.
|
|
1066
|
+
*
|
|
1067
|
+
* @generated from message launches.v1.GetTokenTradesRequest
|
|
1068
|
+
*/
|
|
1069
|
+
export declare class GetTokenTradesRequest extends Message<GetTokenTradesRequest> {
|
|
1070
|
+
/**
|
|
1071
|
+
* @generated from field: launches.v1.TokenIdentifier token = 1;
|
|
1072
|
+
*/
|
|
1073
|
+
token?: TokenIdentifier;
|
|
1074
|
+
/**
|
|
1075
|
+
* page_size (default 25, max 100) + page_token
|
|
1076
|
+
*
|
|
1077
|
+
* @generated from field: optional launches.v1.PageRequest page = 2;
|
|
1078
|
+
*/
|
|
1079
|
+
page?: PageRequest;
|
|
1080
|
+
/**
|
|
1081
|
+
* Restrict the feed to one trader: matches the trade's wallet (the tx
|
|
1082
|
+
* sender, not the router). Any casing accepted. Omitted = all traders.
|
|
1083
|
+
* page_token carries only a keyset position, not this filter — the client
|
|
1084
|
+
* must resend the same wallet on every page; omitting or changing it
|
|
1085
|
+
* resumes from that position under different filter semantics.
|
|
1086
|
+
*
|
|
1087
|
+
* @generated from field: optional string wallet = 3;
|
|
1088
|
+
*/
|
|
1089
|
+
wallet?: string;
|
|
1090
|
+
/**
|
|
1091
|
+
* Minimum trade size: keep only trades whose amount_usd is >= this
|
|
1092
|
+
* threshold. Trades with no known USD amount are excluded when set (they
|
|
1093
|
+
* cannot be proven to clear the bar). Omitted or 0 = no filtering; negative
|
|
1094
|
+
* or non-finite values are rejected. Applied before the page cut, so a page
|
|
1095
|
+
* holds up to page_size MATCHING trades — but the server bounds how far it
|
|
1096
|
+
* scans per request, so a page may come back short of page_size while
|
|
1097
|
+
* next_page_token is still set; presence of next_page_token, not page
|
|
1098
|
+
* fullness, signals more data under this filter. Deep scans also terminate
|
|
1099
|
+
* after a bounded total: once a walk has scanned a server-defined number of
|
|
1100
|
+
* rows (currently 5,000) the server stops issuing next_page_token and the
|
|
1101
|
+
* feed ends early. Like wallet, page_token carries only the walk position —
|
|
1102
|
+
* the client must resend the same min_amount_usd on every page.
|
|
1103
|
+
*
|
|
1104
|
+
* @generated from field: optional double min_amount_usd = 4;
|
|
1105
|
+
*/
|
|
1106
|
+
minAmountUsd?: number;
|
|
1107
|
+
constructor(data?: PartialMessage<GetTokenTradesRequest>);
|
|
1108
|
+
static readonly runtime: typeof proto3;
|
|
1109
|
+
static readonly typeName = "launches.v1.GetTokenTradesRequest";
|
|
1110
|
+
static readonly fields: FieldList;
|
|
1111
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetTokenTradesRequest;
|
|
1112
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetTokenTradesRequest;
|
|
1113
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetTokenTradesRequest;
|
|
1114
|
+
static equals(a: GetTokenTradesRequest | PlainMessage<GetTokenTradesRequest> | undefined, b: GetTokenTradesRequest | PlainMessage<GetTokenTradesRequest> | undefined): boolean;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* @generated from message launches.v1.GetTokenTradesResponse
|
|
1118
|
+
*/
|
|
1119
|
+
export declare class GetTokenTradesResponse extends Message<GetTokenTradesResponse> {
|
|
1120
|
+
/**
|
|
1121
|
+
* @generated from field: repeated launches.v1.TokenTrade trades = 1;
|
|
1122
|
+
*/
|
|
1123
|
+
trades: TokenTrade[];
|
|
1124
|
+
/**
|
|
1125
|
+
* next_page_token absent on last page
|
|
1126
|
+
*
|
|
1127
|
+
* @generated from field: launches.v1.PageResponse page = 2;
|
|
1128
|
+
*/
|
|
1129
|
+
page?: PageResponse;
|
|
1130
|
+
constructor(data?: PartialMessage<GetTokenTradesResponse>);
|
|
1131
|
+
static readonly runtime: typeof proto3;
|
|
1132
|
+
static readonly typeName = "launches.v1.GetTokenTradesResponse";
|
|
1133
|
+
static readonly fields: FieldList;
|
|
1134
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetTokenTradesResponse;
|
|
1135
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetTokenTradesResponse;
|
|
1136
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetTokenTradesResponse;
|
|
1137
|
+
static equals(a: GetTokenTradesResponse | PlainMessage<GetTokenTradesResponse> | undefined, b: GetTokenTradesResponse | PlainMessage<GetTokenTradesResponse> | undefined): boolean;
|
|
1138
|
+
}
|
|
1139
|
+
/**
|
|
1140
|
+
* Server-computed Top Traders leaderboard for a launch token: the token's
|
|
1141
|
+
* FULL swap history (no page cap) folded into per-wallet cost-basis PnL,
|
|
1142
|
+
* with CCA auction claims counted as buy-side acquisitions at what each
|
|
1143
|
+
* wallet actually spent (the GetLaunchClaims aggregates). Replaces the
|
|
1144
|
+
* client-side capped GetTokenTrades walk, whose 1,500-trade window
|
|
1145
|
+
* fabricated zero-basis top rows for pre-window buyers. Non-launch tokens
|
|
1146
|
+
* (no CCA auction) are served from their trade history alone — never an
|
|
1147
|
+
* error; a token with no swaps and no claims serves an empty list. EVM-only.
|
|
1148
|
+
*
|
|
1149
|
+
* @generated from message launches.v1.GetTokenTopTradersRequest
|
|
1150
|
+
*/
|
|
1151
|
+
export declare class GetTokenTopTradersRequest extends Message<GetTokenTopTradersRequest> {
|
|
1152
|
+
/**
|
|
1153
|
+
* @generated from field: uint32 chain_id = 1;
|
|
1154
|
+
*/
|
|
1155
|
+
chainId: number;
|
|
1156
|
+
/**
|
|
1157
|
+
* @generated from field: string token_address = 2;
|
|
1158
|
+
*/
|
|
1159
|
+
tokenAddress: string;
|
|
1160
|
+
/**
|
|
1161
|
+
* Rows to return, best-ranked first. 0/unset defaults to 100; servers cap
|
|
1162
|
+
* the limit (currently 1000).
|
|
1163
|
+
*
|
|
1164
|
+
* @generated from field: optional int32 limit = 3;
|
|
1165
|
+
*/
|
|
1166
|
+
limit?: number;
|
|
1167
|
+
/**
|
|
1168
|
+
* Per-wallet lookup (LP-1558): serve only this wallet's row, covering ANY
|
|
1169
|
+
* wallet in the token's history — the full cached ranking first, and past
|
|
1170
|
+
* its cap the row comes from the same uncapped fold the ranking is cut
|
|
1171
|
+
* from (server-cached per wallet). Unset/empty serves the ranked
|
|
1172
|
+
* leaderboard as before. A wallet with no row (never traded or claimed
|
|
1173
|
+
* the token) serves an empty list, never an error.
|
|
1174
|
+
*
|
|
1175
|
+
* @generated from field: optional string wallet_address = 4;
|
|
1176
|
+
*/
|
|
1177
|
+
walletAddress?: string;
|
|
1178
|
+
constructor(data?: PartialMessage<GetTokenTopTradersRequest>);
|
|
1179
|
+
static readonly runtime: typeof proto3;
|
|
1180
|
+
static readonly typeName = "launches.v1.GetTokenTopTradersRequest";
|
|
1181
|
+
static readonly fields: FieldList;
|
|
1182
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetTokenTopTradersRequest;
|
|
1183
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetTokenTopTradersRequest;
|
|
1184
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetTokenTopTradersRequest;
|
|
1185
|
+
static equals(a: GetTokenTopTradersRequest | PlainMessage<GetTokenTopTradersRequest> | undefined, b: GetTokenTopTradersRequest | PlainMessage<GetTokenTopTradersRequest> | undefined): boolean;
|
|
1186
|
+
}
|
|
1187
|
+
/**
|
|
1188
|
+
* One wallet's aggregate position on the token, derived from a
|
|
1189
|
+
* moving-average cost-basis walk of its chronological trades: buys (and
|
|
1190
|
+
* claim seeds) add to the position's basis; each sell realizes
|
|
1191
|
+
* proceeds − average cost × amount AND consumes basis at the average cost,
|
|
1192
|
+
* so re-entering wallets are accounted correctly. Auction claims are seeded
|
|
1193
|
+
* before the trade walk as buys at the wallet's true auction cost, so
|
|
1194
|
+
* bidders never show zero buys. Tokens sold beyond tracked inventory
|
|
1195
|
+
* (transfers in) entered the wallet outside the swap tape — with the full
|
|
1196
|
+
* history and explicit claims in hand, an unexplained inflow is a transfer,
|
|
1197
|
+
* not a hidden buy — so the wallet's basis is UNKNOWN (not $0) and the row
|
|
1198
|
+
* flags transferred_in.
|
|
1199
|
+
*
|
|
1200
|
+
* UNKNOWN-BASIS ROWS: when the server cannot compute a wallet's basis — the
|
|
1201
|
+
* wallet transferred tokens in (transferred_in), its auction spend was not
|
|
1202
|
+
* USD-convertible, or its attributed inventory contradicts its observed
|
|
1203
|
+
* balance — basis_unknown is true and the four basis-derived
|
|
1204
|
+
* money fields (cost_basis_usd, avg_cost_usd, realized_pnl_usd,
|
|
1205
|
+
* unrealized_pnl_usd) are served as 0 and MUST be read as "unknown", never
|
|
1206
|
+
* as a real $0.00. Such wallets rank strictly after every computable-PnL
|
|
1207
|
+
* row — including loss-makers: an unknown 0 never outranks a real figure —
|
|
1208
|
+
* so a transfer-in whale's raw proceeds can never crowd real traders out
|
|
1209
|
+
* of the request limit. Observed figures (buys/sells/proceeds/tokens) are
|
|
1210
|
+
* always set and always truthful. unrealized_pnl_unknown additionally
|
|
1211
|
+
* covers the basis-known wallet whose unrealized leg alone is uncomputable
|
|
1212
|
+
* (token has no spot price). (These are flags rather than proto3 `optional`
|
|
1213
|
+
* on the money fields because changing an existing field's presence is a
|
|
1214
|
+
* breaking gencode change for published clients.)
|
|
1215
|
+
*
|
|
1216
|
+
* @generated from message launches.v1.TokenTopTrader
|
|
1217
|
+
*/
|
|
1218
|
+
export declare class TokenTopTrader extends Message<TokenTopTrader> {
|
|
1219
|
+
/**
|
|
1220
|
+
* EIP-55 checksummed trading wallet (the tx from-address, not the router).
|
|
1221
|
+
*
|
|
1222
|
+
* @generated from field: string wallet_address = 1;
|
|
1223
|
+
*/
|
|
1224
|
+
walletAddress: string;
|
|
1225
|
+
/**
|
|
1226
|
+
* Buy-side figures INCLUDE auction acquisitions: claims add one buy per
|
|
1227
|
+
* terminal bid, their token amount, and their USD spend.
|
|
1228
|
+
*
|
|
1229
|
+
* @generated from field: int32 buy_count = 2;
|
|
1230
|
+
*/
|
|
1231
|
+
buyCount: number;
|
|
1232
|
+
/**
|
|
1233
|
+
* @generated from field: int32 sell_count = 3;
|
|
1234
|
+
*/
|
|
1235
|
+
sellCount: number;
|
|
1236
|
+
/**
|
|
1237
|
+
* @generated from field: double bought_usd = 4;
|
|
1238
|
+
*/
|
|
1239
|
+
boughtUsd: number;
|
|
1240
|
+
/**
|
|
1241
|
+
* @generated from field: double sold_usd = 5;
|
|
1242
|
+
*/
|
|
1243
|
+
soldUsd: number;
|
|
1244
|
+
/**
|
|
1245
|
+
* Token amounts are whole (decimal-adjusted) tokens.
|
|
1246
|
+
*
|
|
1247
|
+
* @generated from field: double bought_tokens = 6;
|
|
1248
|
+
*/
|
|
1249
|
+
boughtTokens: number;
|
|
1250
|
+
/**
|
|
1251
|
+
* @generated from field: double sold_tokens = 7;
|
|
1252
|
+
*/
|
|
1253
|
+
soldTokens: number;
|
|
1254
|
+
/**
|
|
1255
|
+
* Tokens still held. For launch tokens this is the wallet's OBSERVED net
|
|
1256
|
+
* balance — the same sum over transfer logs GetLaunchHolders serves, so
|
|
1257
|
+
* the two agree and Σ over wallets cannot exceed supply. Tokens outside
|
|
1258
|
+
* that feed fall back to the swap walk (acquired minus sold, floored at
|
|
1259
|
+
* 0), an attribution that can overstate a wallet signing swaps it does
|
|
1260
|
+
* not receive (relayers, bundlers, smart-account signers).
|
|
1261
|
+
*
|
|
1262
|
+
* @generated from field: double remaining_tokens = 8;
|
|
1263
|
+
*/
|
|
1264
|
+
remainingTokens: number;
|
|
1265
|
+
/**
|
|
1266
|
+
* USD cost basis of the REMAINING position: grows with buys/claims,
|
|
1267
|
+
* shrinks by average cost × amount on every sell. Meaningless (served 0)
|
|
1268
|
+
* when basis_unknown — read that as "unknown", not a zero basis.
|
|
1269
|
+
*
|
|
1270
|
+
* @generated from field: double cost_basis_usd = 9;
|
|
1271
|
+
*/
|
|
1272
|
+
costBasisUsd: number;
|
|
1273
|
+
/**
|
|
1274
|
+
* cost_basis_usd ÷ the TRACKED quantity the basis was accumulated over
|
|
1275
|
+
* (bought + claimed − sold), which is not necessarily remaining_tokens; 0
|
|
1276
|
+
* when nothing is tracked. Meaningless (served 0) when basis_unknown.
|
|
1277
|
+
*
|
|
1278
|
+
* @generated from field: double avg_cost_usd = 10;
|
|
1279
|
+
*/
|
|
1280
|
+
avgCostUsd: number;
|
|
1281
|
+
/**
|
|
1282
|
+
* Meaningless (served 0) when basis_unknown — proceeds booked against an
|
|
1283
|
+
* unknowable basis are not a PnL; such rows rank as realized 0.
|
|
1284
|
+
*
|
|
1285
|
+
* @generated from field: double realized_pnl_usd = 11;
|
|
1286
|
+
*/
|
|
1287
|
+
realizedPnlUsd: number;
|
|
1288
|
+
/**
|
|
1289
|
+
* USD the wallet spent in the launch auction (net of exit refunds),
|
|
1290
|
+
* converted at the auction currency's USD rate. 0 when the wallet has no
|
|
1291
|
+
* claims (always 0 for non-CCA tokens).
|
|
1292
|
+
*
|
|
1293
|
+
* @generated from field: double auction_spent_usd = 12;
|
|
1294
|
+
*/
|
|
1295
|
+
auctionSpentUsd: number;
|
|
1296
|
+
/**
|
|
1297
|
+
* True when any of the wallet's auction bids reached a terminal state
|
|
1298
|
+
* (claimed, or exited with a nonzero fill).
|
|
1299
|
+
*
|
|
1300
|
+
* @generated from field: bool has_claims = 13;
|
|
1301
|
+
*/
|
|
1302
|
+
hasClaims: boolean;
|
|
1303
|
+
/**
|
|
1304
|
+
* Mark-to-market PnL of the remaining position at the token's latest
|
|
1305
|
+
* known price: remaining_tokens × spot − cost_basis_usd. The documented
|
|
1306
|
+
* ranking tiebreak, served so clients can render it. Meaningless (served
|
|
1307
|
+
* 0) when unrealized_pnl_unknown — basis unknown, or no known spot price.
|
|
1308
|
+
*
|
|
1309
|
+
* @generated from field: double unrealized_pnl_usd = 14;
|
|
1310
|
+
*/
|
|
1311
|
+
unrealizedPnlUsd: number;
|
|
1312
|
+
/**
|
|
1313
|
+
* True when the wallet sold beyond its tracked inventory at least once —
|
|
1314
|
+
* the excess entered the wallet outside the swap tape (a transfer in),
|
|
1315
|
+
* so its basis is unknown. Always implies basis_unknown.
|
|
1316
|
+
*
|
|
1317
|
+
* @generated from field: bool transferred_in = 15;
|
|
1318
|
+
*/
|
|
1319
|
+
transferredIn: boolean;
|
|
1320
|
+
/**
|
|
1321
|
+
* True when the wallet's basis could not be computed — it transferred
|
|
1322
|
+
* tokens in (transferred_in), its auction spend was not USD-convertible,
|
|
1323
|
+
* or its attributed inventory contradicts its observed balance (the
|
|
1324
|
+
* acquisitions were booked to the wrong address, so the basis they
|
|
1325
|
+
* produced is not this wallet's). Clients should render the four
|
|
1326
|
+
* basis-derived money
|
|
1327
|
+
* fields as unknown ("–"), not $0.00; the row ranks after every
|
|
1328
|
+
* computable-PnL row (see message doc). Implies unrealized_pnl_unknown.
|
|
1329
|
+
*
|
|
1330
|
+
* @generated from field: bool basis_unknown = 16;
|
|
1331
|
+
*/
|
|
1332
|
+
basisUnknown: boolean;
|
|
1333
|
+
/**
|
|
1334
|
+
* True when unrealized_pnl_usd alone is not computable: basis_unknown, or
|
|
1335
|
+
* the token has no known spot price (a missing spot must not read as a
|
|
1336
|
+
* total loss). Served 0 then — render unknown ("–"), not $0.00. The other
|
|
1337
|
+
* money fields stay real when basis_unknown is false.
|
|
1338
|
+
*
|
|
1339
|
+
* @generated from field: bool unrealized_pnl_unknown = 17;
|
|
1340
|
+
*/
|
|
1341
|
+
unrealizedPnlUnknown: boolean;
|
|
1342
|
+
constructor(data?: PartialMessage<TokenTopTrader>);
|
|
1343
|
+
static readonly runtime: typeof proto3;
|
|
1344
|
+
static readonly typeName = "launches.v1.TokenTopTrader";
|
|
1345
|
+
static readonly fields: FieldList;
|
|
1346
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TokenTopTrader;
|
|
1347
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TokenTopTrader;
|
|
1348
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TokenTopTrader;
|
|
1349
|
+
static equals(a: TokenTopTrader | PlainMessage<TokenTopTrader> | undefined, b: TokenTopTrader | PlainMessage<TokenTopTrader> | undefined): boolean;
|
|
1350
|
+
}
|
|
1351
|
+
/**
|
|
1352
|
+
* @generated from message launches.v1.GetTokenTopTradersResponse
|
|
1353
|
+
*/
|
|
1354
|
+
export declare class GetTokenTopTradersResponse extends Message<GetTokenTopTradersResponse> {
|
|
1355
|
+
/**
|
|
1356
|
+
* Ranked realized PnL desc, unrealized PnL desc as the tiebreak (orders
|
|
1357
|
+
* never-sold claimers sensibly — all realized 0), wallet address asc as
|
|
1358
|
+
* the final key, capped at the request limit. Unknown-basis rows
|
|
1359
|
+
* (transferred_in, or an inconvertible auction spend) partition strictly
|
|
1360
|
+
* after every computable-PnL row, including losses — so they cannot
|
|
1361
|
+
* consume top slots on raw proceeds or displace losing traders. Only
|
|
1362
|
+
* wallets with at least one trade or claim appear.
|
|
1363
|
+
*
|
|
1364
|
+
* @generated from field: repeated launches.v1.TokenTopTrader traders = 1;
|
|
1365
|
+
*/
|
|
1366
|
+
traders: TokenTopTrader[];
|
|
1367
|
+
constructor(data?: PartialMessage<GetTokenTopTradersResponse>);
|
|
1368
|
+
static readonly runtime: typeof proto3;
|
|
1369
|
+
static readonly typeName = "launches.v1.GetTokenTopTradersResponse";
|
|
1370
|
+
static readonly fields: FieldList;
|
|
1371
|
+
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): GetTokenTopTradersResponse;
|
|
1372
|
+
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): GetTokenTopTradersResponse;
|
|
1373
|
+
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): GetTokenTopTradersResponse;
|
|
1374
|
+
static equals(a: GetTokenTopTradersResponse | PlainMessage<GetTokenTopTradersResponse> | undefined, b: GetTokenTopTradersResponse | PlainMessage<GetTokenTopTradersResponse> | undefined): boolean;
|
|
1375
|
+
}
|