@thru/proto 0.1.36

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,4231 @@
1
+ import { GenFile, GenMessage, GenEnum, GenService } from '@bufbuild/protobuf/codegenv2';
2
+ import { Timestamp, Duration } from '@bufbuild/protobuf/wkt';
3
+ import { Message } from '@bufbuild/protobuf';
4
+
5
+ /**
6
+ * Describes the file thru/common/v1/consensus.proto.
7
+ */
8
+ declare const file_thru_common_v1_consensus: GenFile;
9
+ /**
10
+ * VersionContext selects which logical version of a resource should be
11
+ * returned. At least one field must be set.
12
+ *
13
+ * @generated from message thru.common.v1.VersionContext
14
+ */
15
+ type VersionContext = Message<"thru.common.v1.VersionContext"> & {
16
+ /**
17
+ * Specifies the desired version semantics.
18
+ *
19
+ * @generated from oneof thru.common.v1.VersionContext.version
20
+ */
21
+ version: {
22
+ /**
23
+ * Request the latest version available at request time.
24
+ *
25
+ * @generated from field: thru.common.v1.CurrentVersion current = 1;
26
+ */
27
+ value: CurrentVersion;
28
+ case: "current";
29
+ } | {
30
+ /**
31
+ * Request the latest version, or historical on.
32
+ *
33
+ * @generated from field: thru.common.v1.CurrentOrHistoricalVersion currentOrHistorical = 2;
34
+ */
35
+ value: CurrentOrHistoricalVersion;
36
+ case: "currentOrHistorical";
37
+ } | {
38
+ /**
39
+ * Request the version for a specific slot number.
40
+ *
41
+ * @generated from field: uint64 slot = 3;
42
+ */
43
+ value: bigint;
44
+ case: "slot";
45
+ } | {
46
+ /**
47
+ * Request the version nearest to the provided block timestamp.
48
+ *
49
+ * @generated from field: google.protobuf.Timestamp timestamp = 4;
50
+ */
51
+ value: Timestamp;
52
+ case: "timestamp";
53
+ } | {
54
+ /**
55
+ * Request the version for a specific seq number.
56
+ * Relevant only for GetAccount and GetRawAccount requests.
57
+ *
58
+ * @generated from field: uint64 seq = 5;
59
+ */
60
+ value: bigint;
61
+ case: "seq";
62
+ } | {
63
+ case: undefined;
64
+ value?: undefined;
65
+ };
66
+ };
67
+ /**
68
+ * Describes the message thru.common.v1.VersionContext.
69
+ * Use `create(VersionContextSchema)` to create a new message.
70
+ */
71
+ declare const VersionContextSchema: GenMessage<VersionContext>;
72
+ /**
73
+ * CurrentVersion is an empty marker message for VersionContext.current.
74
+ *
75
+ * @generated from message thru.common.v1.CurrentVersion
76
+ */
77
+ type CurrentVersion = Message<"thru.common.v1.CurrentVersion"> & {};
78
+ /**
79
+ * Describes the message thru.common.v1.CurrentVersion.
80
+ * Use `create(CurrentVersionSchema)` to create a new message.
81
+ */
82
+ declare const CurrentVersionSchema: GenMessage<CurrentVersion>;
83
+ /**
84
+ * CurrentOrHistoricalVersion is an empty marker message for VersionContext.current.
85
+ *
86
+ * @generated from message thru.common.v1.CurrentOrHistoricalVersion
87
+ */
88
+ type CurrentOrHistoricalVersion = Message<"thru.common.v1.CurrentOrHistoricalVersion"> & {};
89
+ /**
90
+ * Describes the message thru.common.v1.CurrentOrHistoricalVersion.
91
+ * Use `create(CurrentOrHistoricalVersionSchema)` to create a new message.
92
+ */
93
+ declare const CurrentOrHistoricalVersionSchema: GenMessage<CurrentOrHistoricalVersion>;
94
+ /**
95
+ * ConsensusStatus represents the minimum consensus level a resource has
96
+ * achieved when returned by the service.
97
+ *
98
+ * @generated from enum thru.common.v1.ConsensusStatus
99
+ */
100
+ declare enum ConsensusStatus {
101
+ /**
102
+ * CONSENSUS_STATUS_UNSPECIFIED indicates the consensus status is unknown.
103
+ *
104
+ * @generated from enum value: CONSENSUS_STATUS_UNSPECIFIED = 0;
105
+ */
106
+ UNSPECIFIED = 0,
107
+ /**
108
+ * CONSENSUS_STATUS_OBSERVED indicates the resource has been observed but
109
+ * not yet confirmed in a finalized block.
110
+ *
111
+ * @generated from enum value: CONSENSUS_STATUS_OBSERVED = 1;
112
+ */
113
+ OBSERVED = 1,
114
+ /**
115
+ * CONSENSUS_STATUS_INCLUDED indicates the resource has been included in the
116
+ * ledger but may not be finalized.
117
+ *
118
+ * @generated from enum value: CONSENSUS_STATUS_INCLUDED = 2;
119
+ */
120
+ INCLUDED = 2,
121
+ /**
122
+ * CONSENSUS_STATUS_FINALIZED indicates the resource is finalized for a slot.
123
+ *
124
+ * @generated from enum value: CONSENSUS_STATUS_FINALIZED = 3;
125
+ */
126
+ FINALIZED = 3,
127
+ /**
128
+ * CONSENSUS_STATUS_LOCALLY_EXECUTED indicates the local node executed the
129
+ * resource but broader cluster finality may not have been achieved.
130
+ *
131
+ * @generated from enum value: CONSENSUS_STATUS_LOCALLY_EXECUTED = 4;
132
+ */
133
+ LOCALLY_EXECUTED = 4,
134
+ /**
135
+ * CONSENSUS_STATUS_CLUSTER_EXECUTED indicates the entire cluster has
136
+ * executed and agreed on the resource.
137
+ *
138
+ * @generated from enum value: CONSENSUS_STATUS_CLUSTER_EXECUTED = 5;
139
+ */
140
+ CLUSTER_EXECUTED = 5
141
+ }
142
+ /**
143
+ * Describes the enum thru.common.v1.ConsensusStatus.
144
+ */
145
+ declare const ConsensusStatusSchema: GenEnum<ConsensusStatus>;
146
+
147
+ /**
148
+ * Describes the file thru/common/v1/errors.proto.
149
+ */
150
+ declare const file_thru_common_v1_errors: GenFile;
151
+ /**
152
+ * ErrorDetail provides structured error metadata attached to gRPC errors.
153
+ *
154
+ * @generated from message thru.common.v1.ErrorDetail
155
+ */
156
+ type ErrorDetail = Message<"thru.common.v1.ErrorDetail"> & {
157
+ /**
158
+ * High-level error category.
159
+ *
160
+ * @generated from field: thru.common.v1.ErrorType error_type = 1;
161
+ */
162
+ errorType: ErrorType;
163
+ /**
164
+ * Human-readable error summary.
165
+ *
166
+ * @generated from field: string message = 2;
167
+ */
168
+ message: string;
169
+ /**
170
+ * Optional retention window expressed in slots when applicable.
171
+ *
172
+ * @generated from field: optional uint64 retention_window_slots = 3;
173
+ */
174
+ retentionWindowSlots?: bigint;
175
+ /**
176
+ * Optional retention cutoff timestamp when applicable.
177
+ *
178
+ * @generated from field: optional google.protobuf.Timestamp retention_cutoff = 4;
179
+ */
180
+ retentionCutoff?: Timestamp;
181
+ /**
182
+ * Optional name of the field associated with the error.
183
+ *
184
+ * @generated from field: optional string field_name = 5;
185
+ */
186
+ fieldName?: string;
187
+ };
188
+ /**
189
+ * Describes the message thru.common.v1.ErrorDetail.
190
+ * Use `create(ErrorDetailSchema)` to create a new message.
191
+ */
192
+ declare const ErrorDetailSchema: GenMessage<ErrorDetail>;
193
+ /**
194
+ * ErrorType captures structured error categories returned by the services.
195
+ *
196
+ * @generated from enum thru.common.v1.ErrorType
197
+ */
198
+ declare enum ErrorType {
199
+ /**
200
+ * ERROR_TYPE_UNSPECIFIED is an unknown error condition.
201
+ *
202
+ * @generated from enum value: ERROR_TYPE_UNSPECIFIED = 0;
203
+ */
204
+ UNSPECIFIED = 0,
205
+ /**
206
+ * ERROR_TYPE_NOT_FOUND indicates requested data does not exist.
207
+ *
208
+ * @generated from enum value: ERROR_TYPE_NOT_FOUND = 1;
209
+ */
210
+ NOT_FOUND = 1,
211
+ /**
212
+ * ERROR_TYPE_NOT_RETAINED indicates requested data was not retained under TTL.
213
+ *
214
+ * @generated from enum value: ERROR_TYPE_NOT_RETAINED = 2;
215
+ */
216
+ NOT_RETAINED = 2,
217
+ /**
218
+ * ERROR_TYPE_NOT_FOUND_OR_NOT_RETAINED indicates an ambiguous not found vs TTL case.
219
+ *
220
+ * @generated from enum value: ERROR_TYPE_NOT_FOUND_OR_NOT_RETAINED = 3;
221
+ */
222
+ NOT_FOUND_OR_NOT_RETAINED = 3,
223
+ /**
224
+ * ERROR_TYPE_INVALID_REQUEST indicates the request failed validation.
225
+ *
226
+ * @generated from enum value: ERROR_TYPE_INVALID_REQUEST = 4;
227
+ */
228
+ INVALID_REQUEST = 4,
229
+ /**
230
+ * ERROR_TYPE_CEL_VALIDATION_FAILED indicates a CEL filter failed validation.
231
+ *
232
+ * @generated from enum value: ERROR_TYPE_CEL_VALIDATION_FAILED = 5;
233
+ */
234
+ CEL_VALIDATION_FAILED = 5,
235
+ /**
236
+ * ERROR_TYPE_INTERNAL_ERROR indicates an internal server error occurred.
237
+ *
238
+ * @generated from enum value: ERROR_TYPE_INTERNAL_ERROR = 6;
239
+ */
240
+ INTERNAL_ERROR = 6
241
+ }
242
+ /**
243
+ * Describes the enum thru.common.v1.ErrorType.
244
+ */
245
+ declare const ErrorTypeSchema: GenEnum<ErrorType>;
246
+
247
+ /**
248
+ * Describes the file thru/common/v1/primitives.proto.
249
+ */
250
+ declare const file_thru_common_v1_primitives: GenFile;
251
+ /**
252
+ * Pubkey represents a 32-byte public key value.
253
+ *
254
+ * @generated from message thru.common.v1.Pubkey
255
+ */
256
+ type Pubkey = Message<"thru.common.v1.Pubkey"> & {
257
+ /**
258
+ * 32-byte public key buffer.
259
+ *
260
+ * @generated from field: bytes value = 1;
261
+ */
262
+ value: Uint8Array;
263
+ };
264
+ /**
265
+ * Describes the message thru.common.v1.Pubkey.
266
+ * Use `create(PubkeySchema)` to create a new message.
267
+ */
268
+ declare const PubkeySchema: GenMessage<Pubkey>;
269
+ /**
270
+ * Signature represents a 64-byte signature value.
271
+ *
272
+ * @generated from message thru.common.v1.Signature
273
+ */
274
+ type Signature = Message<"thru.common.v1.Signature"> & {
275
+ /**
276
+ * 64-byte signature buffer.
277
+ *
278
+ * @generated from field: bytes value = 1;
279
+ */
280
+ value: Uint8Array;
281
+ };
282
+ /**
283
+ * Describes the message thru.common.v1.Signature.
284
+ * Use `create(SignatureSchema)` to create a new message.
285
+ */
286
+ declare const SignatureSchema: GenMessage<Signature>;
287
+ /**
288
+ * TaPubkey represents a ta-encoded public key string (46 characters).
289
+ *
290
+ * @generated from message thru.common.v1.TaPubkey
291
+ */
292
+ type TaPubkey = Message<"thru.common.v1.TaPubkey"> & {
293
+ /**
294
+ * 46-character ta-encoded public key string.
295
+ *
296
+ * @generated from field: string value = 1;
297
+ */
298
+ value: string;
299
+ };
300
+ /**
301
+ * Describes the message thru.common.v1.TaPubkey.
302
+ * Use `create(TaPubkeySchema)` to create a new message.
303
+ */
304
+ declare const TaPubkeySchema: GenMessage<TaPubkey>;
305
+ /**
306
+ * TsSignature represents a ts-encoded signature string (90 characters).
307
+ *
308
+ * @generated from message thru.common.v1.TsSignature
309
+ */
310
+ type TsSignature = Message<"thru.common.v1.TsSignature"> & {
311
+ /**
312
+ * 90-character ts-encoded signature string.
313
+ *
314
+ * @generated from field: string value = 1;
315
+ */
316
+ value: string;
317
+ };
318
+ /**
319
+ * Describes the message thru.common.v1.TsSignature.
320
+ * Use `create(TsSignatureSchema)` to create a new message.
321
+ */
322
+ declare const TsSignatureSchema: GenMessage<TsSignature>;
323
+
324
+ /**
325
+ * Describes the file thru/common/v1/filters.proto.
326
+ */
327
+ declare const file_thru_common_v1_filters: GenFile;
328
+ /**
329
+ * Filter represents a CEL-based expression applied to query or stream results.
330
+ *
331
+ * @generated from message thru.common.v1.Filter
332
+ */
333
+ type Filter = Message<"thru.common.v1.Filter"> & {
334
+ /**
335
+ * CEL expression applied server-side. Empty expressions are treated as no-op.
336
+ *
337
+ * @generated from field: optional string expression = 1;
338
+ */
339
+ expression?: string;
340
+ /**
341
+ * Named parameter bindings for expression parameterization.
342
+ *
343
+ * @generated from field: map<string, thru.common.v1.FilterParamValue> params = 2;
344
+ */
345
+ params: {
346
+ [key: string]: FilterParamValue;
347
+ };
348
+ };
349
+ /**
350
+ * Describes the message thru.common.v1.Filter.
351
+ * Use `create(FilterSchema)` to create a new message.
352
+ */
353
+ declare const FilterSchema: GenMessage<Filter>;
354
+ /**
355
+ * FilterParamValue carries strongly-typed CEL parameter bindings.
356
+ *
357
+ * @generated from message thru.common.v1.FilterParamValue
358
+ */
359
+ type FilterParamValue = Message<"thru.common.v1.FilterParamValue"> & {
360
+ /**
361
+ * @generated from oneof thru.common.v1.FilterParamValue.kind
362
+ */
363
+ kind: {
364
+ /**
365
+ * @generated from field: string string_value = 1;
366
+ */
367
+ value: string;
368
+ case: "stringValue";
369
+ } | {
370
+ /**
371
+ * @generated from field: bytes bytes_value = 2;
372
+ */
373
+ value: Uint8Array;
374
+ case: "bytesValue";
375
+ } | {
376
+ /**
377
+ * @generated from field: bool bool_value = 3;
378
+ */
379
+ value: boolean;
380
+ case: "boolValue";
381
+ } | {
382
+ /**
383
+ * @generated from field: sint64 int_value = 4;
384
+ */
385
+ value: bigint;
386
+ case: "intValue";
387
+ } | {
388
+ /**
389
+ * @generated from field: uint64 uint_value = 5;
390
+ */
391
+ value: bigint;
392
+ case: "uintValue";
393
+ } | {
394
+ /**
395
+ * @generated from field: double double_value = 6;
396
+ */
397
+ value: number;
398
+ case: "doubleValue";
399
+ } | {
400
+ /**
401
+ * @generated from field: thru.common.v1.Pubkey pubkey_value = 7;
402
+ */
403
+ value: Pubkey;
404
+ case: "pubkeyValue";
405
+ } | {
406
+ /**
407
+ * @generated from field: thru.common.v1.Signature signature_value = 8;
408
+ */
409
+ value: Signature;
410
+ case: "signatureValue";
411
+ } | {
412
+ /**
413
+ * @generated from field: thru.common.v1.TaPubkey ta_pubkey_value = 9;
414
+ */
415
+ value: TaPubkey;
416
+ case: "taPubkeyValue";
417
+ } | {
418
+ /**
419
+ * @generated from field: thru.common.v1.TsSignature ts_signature_value = 10;
420
+ */
421
+ value: TsSignature;
422
+ case: "tsSignatureValue";
423
+ } | {
424
+ /**
425
+ * @generated from field: thru.common.v1.BytesList bytes_list_value = 11;
426
+ */
427
+ value: BytesList;
428
+ case: "bytesListValue";
429
+ } | {
430
+ /**
431
+ * @generated from field: thru.common.v1.PubkeyList pubkey_list_value = 12;
432
+ */
433
+ value: PubkeyList;
434
+ case: "pubkeyListValue";
435
+ } | {
436
+ case: undefined;
437
+ value?: undefined;
438
+ };
439
+ };
440
+ /**
441
+ * Describes the message thru.common.v1.FilterParamValue.
442
+ * Use `create(FilterParamValueSchema)` to create a new message.
443
+ */
444
+ declare const FilterParamValueSchema: GenMessage<FilterParamValue>;
445
+ /**
446
+ * BytesList holds a list of byte arrays for multi-value CEL filtering.
447
+ *
448
+ * @generated from message thru.common.v1.BytesList
449
+ */
450
+ type BytesList = Message<"thru.common.v1.BytesList"> & {
451
+ /**
452
+ * @generated from field: repeated bytes values = 1;
453
+ */
454
+ values: Uint8Array[];
455
+ };
456
+ /**
457
+ * Describes the message thru.common.v1.BytesList.
458
+ * Use `create(BytesListSchema)` to create a new message.
459
+ */
460
+ declare const BytesListSchema: GenMessage<BytesList>;
461
+ /**
462
+ * PubkeyList holds a list of pubkeys for multi-value CEL filtering.
463
+ *
464
+ * @generated from message thru.common.v1.PubkeyList
465
+ */
466
+ type PubkeyList = Message<"thru.common.v1.PubkeyList"> & {
467
+ /**
468
+ * @generated from field: repeated thru.common.v1.Pubkey values = 1;
469
+ */
470
+ values: Pubkey[];
471
+ };
472
+ /**
473
+ * Describes the message thru.common.v1.PubkeyList.
474
+ * Use `create(PubkeyListSchema)` to create a new message.
475
+ */
476
+ declare const PubkeyListSchema: GenMessage<PubkeyList>;
477
+ /**
478
+ * CelFilterValidation describes the validation configuration returned to
479
+ * clients to help them build safe filter expressions.
480
+ *
481
+ * @generated from message thru.common.v1.CelFilterValidation
482
+ */
483
+ type CelFilterValidation = Message<"thru.common.v1.CelFilterValidation"> & {
484
+ /**
485
+ * List of allowed CEL function names for a specific request type.
486
+ *
487
+ * @generated from field: repeated string allowed_functions = 1;
488
+ */
489
+ allowedFunctions: string[];
490
+ /**
491
+ * List of allowed field names accessible to the CEL expression.
492
+ *
493
+ * @generated from field: repeated string allowed_fields = 2;
494
+ */
495
+ allowedFields: string[];
496
+ /**
497
+ * Maximum AST node count permitted for a CEL expression.
498
+ *
499
+ * @generated from field: optional uint32 max_complexity = 3;
500
+ */
501
+ maxComplexity?: number;
502
+ };
503
+ /**
504
+ * Describes the message thru.common.v1.CelFilterValidation.
505
+ * Use `create(CelFilterValidationSchema)` to create a new message.
506
+ */
507
+ declare const CelFilterValidationSchema: GenMessage<CelFilterValidation>;
508
+
509
+ /**
510
+ * Describes the file thru/common/v1/pagination.proto.
511
+ */
512
+ declare const file_thru_common_v1_pagination: GenFile;
513
+ /**
514
+ * PageRequest contains pagination parameters for listing RPCs.
515
+ *
516
+ * @generated from message thru.common.v1.PageRequest
517
+ */
518
+ type PageRequest = Message<"thru.common.v1.PageRequest"> & {
519
+ /**
520
+ * Maximum number of items to return in a single response.
521
+ *
522
+ * @generated from field: optional uint32 page_size = 1;
523
+ */
524
+ pageSize?: number;
525
+ /**
526
+ * Token identifying the position to resume from.
527
+ *
528
+ * @generated from field: optional string page_token = 2;
529
+ */
530
+ pageToken?: string;
531
+ /**
532
+ * Optional ordering specification in "field [asc|desc]" form.
533
+ *
534
+ * @generated from field: optional string order_by = 3;
535
+ */
536
+ orderBy?: string;
537
+ };
538
+ /**
539
+ * Describes the message thru.common.v1.PageRequest.
540
+ * Use `create(PageRequestSchema)` to create a new message.
541
+ */
542
+ declare const PageRequestSchema: GenMessage<PageRequest>;
543
+ /**
544
+ * PageResponse captures pagination metadata returned with list results.
545
+ *
546
+ * @generated from message thru.common.v1.PageResponse
547
+ */
548
+ type PageResponse = Message<"thru.common.v1.PageResponse"> & {
549
+ /**
550
+ * Token to retrieve the next page of results, if any.
551
+ *
552
+ * @generated from field: optional string next_page_token = 1;
553
+ */
554
+ nextPageToken?: string;
555
+ /**
556
+ * Total number of items available when known.
557
+ *
558
+ * @generated from field: optional uint64 total_size = 2;
559
+ */
560
+ totalSize?: bigint;
561
+ };
562
+ /**
563
+ * Describes the message thru.common.v1.PageResponse.
564
+ * Use `create(PageResponseSchema)` to create a new message.
565
+ */
566
+ declare const PageResponseSchema: GenMessage<PageResponse>;
567
+
568
+ /**
569
+ * Describes the file thru/core/v1/account.proto.
570
+ */
571
+ declare const file_thru_core_v1_account: GenFile;
572
+ /**
573
+ * AccountFlags enumerates boolean account capability flags.
574
+ *
575
+ * @generated from message thru.core.v1.AccountFlags
576
+ */
577
+ type AccountFlags = Message<"thru.core.v1.AccountFlags"> & {
578
+ /**
579
+ * @generated from field: bool is_program = 1;
580
+ */
581
+ isProgram: boolean;
582
+ /**
583
+ * @generated from field: bool is_privileged = 2;
584
+ */
585
+ isPrivileged: boolean;
586
+ /**
587
+ * @generated from field: bool is_uncompressable = 3;
588
+ */
589
+ isUncompressable: boolean;
590
+ /**
591
+ * @generated from field: bool is_ephemeral = 4;
592
+ */
593
+ isEphemeral: boolean;
594
+ /**
595
+ * @generated from field: bool is_deleted = 5;
596
+ */
597
+ isDeleted: boolean;
598
+ /**
599
+ * @generated from field: bool is_new = 6;
600
+ */
601
+ isNew: boolean;
602
+ /**
603
+ * @generated from field: bool is_compressed = 7;
604
+ */
605
+ isCompressed: boolean;
606
+ };
607
+ /**
608
+ * Describes the message thru.core.v1.AccountFlags.
609
+ * Use `create(AccountFlagsSchema)` to create a new message.
610
+ */
611
+ declare const AccountFlagsSchema: GenMessage<AccountFlags>;
612
+ /**
613
+ * AccountMeta captures metadata associated with an account.
614
+ *
615
+ * @generated from message thru.core.v1.AccountMeta
616
+ */
617
+ type AccountMeta = Message<"thru.core.v1.AccountMeta"> & {
618
+ /**
619
+ * @generated from field: uint32 version = 1;
620
+ */
621
+ version: number;
622
+ /**
623
+ * @generated from field: thru.core.v1.AccountFlags flags = 2;
624
+ */
625
+ flags?: AccountFlags;
626
+ /**
627
+ * @generated from field: uint32 data_size = 3;
628
+ */
629
+ dataSize: number;
630
+ /**
631
+ * Account sequence number
632
+ *
633
+ * @generated from field: uint64 seq = 4;
634
+ */
635
+ seq: bigint;
636
+ /**
637
+ * @generated from field: thru.common.v1.Pubkey owner = 5;
638
+ */
639
+ owner?: Pubkey;
640
+ /**
641
+ * @generated from field: uint64 balance = 6;
642
+ */
643
+ balance: bigint;
644
+ /**
645
+ * @generated from field: uint64 nonce = 7;
646
+ */
647
+ nonce: bigint;
648
+ /**
649
+ * The slot in which this account was last updated.
650
+ *
651
+ * @generated from field: optional uint64 last_updated_slot = 8;
652
+ */
653
+ lastUpdatedSlot?: bigint;
654
+ };
655
+ /**
656
+ * Describes the message thru.core.v1.AccountMeta.
657
+ * Use `create(AccountMetaSchema)` to create a new message.
658
+ */
659
+ declare const AccountMetaSchema: GenMessage<AccountMeta>;
660
+ /**
661
+ * AccountData contains account data payloads.
662
+ *
663
+ * @generated from message thru.core.v1.AccountData
664
+ */
665
+ type AccountData = Message<"thru.core.v1.AccountData"> & {
666
+ /**
667
+ * @generated from field: optional bytes data = 1;
668
+ */
669
+ data?: Uint8Array;
670
+ /**
671
+ * @generated from field: optional bool compressed = 2;
672
+ */
673
+ compressed?: boolean;
674
+ /**
675
+ * @generated from field: optional string compression_algorithm = 3;
676
+ */
677
+ compressionAlgorithm?: string;
678
+ };
679
+ /**
680
+ * Describes the message thru.core.v1.AccountData.
681
+ * Use `create(AccountDataSchema)` to create a new message.
682
+ */
683
+ declare const AccountDataSchema: GenMessage<AccountData>;
684
+ /**
685
+ * DataSlice describes a contiguous range of account data to return.
686
+ *
687
+ * @generated from message thru.core.v1.DataSlice
688
+ */
689
+ type DataSlice = Message<"thru.core.v1.DataSlice"> & {
690
+ /**
691
+ * @generated from field: uint32 offset = 1;
692
+ */
693
+ offset: number;
694
+ /**
695
+ * @generated from field: uint32 length = 2;
696
+ */
697
+ length: number;
698
+ };
699
+ /**
700
+ * Describes the message thru.core.v1.DataSlice.
701
+ * Use `create(DataSliceSchema)` to create a new message.
702
+ */
703
+ declare const DataSliceSchema: GenMessage<DataSlice>;
704
+ /**
705
+ * AccountPage represents a 4KB chunk for streaming account data.
706
+ *
707
+ * @generated from message thru.core.v1.AccountPage
708
+ */
709
+ type AccountPage = Message<"thru.core.v1.AccountPage"> & {
710
+ /**
711
+ * @generated from field: uint32 page_idx = 1;
712
+ */
713
+ pageIdx: number;
714
+ /**
715
+ * @generated from field: uint32 page_size = 2;
716
+ */
717
+ pageSize: number;
718
+ /**
719
+ * @generated from field: bytes page_data = 3;
720
+ */
721
+ pageData: Uint8Array;
722
+ /**
723
+ * @generated from field: optional bool compressed = 4;
724
+ */
725
+ compressed?: boolean;
726
+ /**
727
+ * @generated from field: optional string compression_algorithm = 5;
728
+ */
729
+ compressionAlgorithm?: string;
730
+ };
731
+ /**
732
+ * Describes the message thru.core.v1.AccountPage.
733
+ * Use `create(AccountPageSchema)` to create a new message.
734
+ */
735
+ declare const AccountPageSchema: GenMessage<AccountPage>;
736
+ /**
737
+ * VersionContextMetadata captures context for a returned account state.
738
+ *
739
+ * @generated from message thru.core.v1.VersionContextMetadata
740
+ */
741
+ type VersionContextMetadata = Message<"thru.core.v1.VersionContextMetadata"> & {
742
+ /**
743
+ * @generated from field: optional uint64 slot = 1;
744
+ */
745
+ slot?: bigint;
746
+ /**
747
+ * @generated from field: optional google.protobuf.Timestamp block_timestamp = 2;
748
+ */
749
+ blockTimestamp?: Timestamp;
750
+ };
751
+ /**
752
+ * Describes the message thru.core.v1.VersionContextMetadata.
753
+ * Use `create(VersionContextMetadataSchema)` to create a new message.
754
+ */
755
+ declare const VersionContextMetadataSchema: GenMessage<VersionContextMetadata>;
756
+ /**
757
+ * Account models a fully decoded account resource.
758
+ *
759
+ * @generated from message thru.core.v1.Account
760
+ */
761
+ type Account = Message<"thru.core.v1.Account"> & {
762
+ /**
763
+ * @generated from field: thru.common.v1.Pubkey address = 1;
764
+ */
765
+ address?: Pubkey;
766
+ /**
767
+ * @generated from field: optional thru.core.v1.AccountMeta meta = 2;
768
+ */
769
+ meta?: AccountMeta;
770
+ /**
771
+ * @generated from field: optional thru.core.v1.AccountData data = 3;
772
+ */
773
+ data?: AccountData;
774
+ /**
775
+ * @generated from field: optional thru.core.v1.VersionContextMetadata version_context = 4;
776
+ */
777
+ versionContext?: VersionContextMetadata;
778
+ /**
779
+ * @generated from field: optional thru.common.v1.ConsensusStatus consensus_status = 5;
780
+ */
781
+ consensusStatus?: ConsensusStatus;
782
+ };
783
+ /**
784
+ * Describes the message thru.core.v1.Account.
785
+ * Use `create(AccountSchema)` to create a new message.
786
+ */
787
+ declare const AccountSchema: GenMessage<Account>;
788
+ /**
789
+ * RawAccount captures raw serialized account bytes.
790
+ *
791
+ * @generated from message thru.core.v1.RawAccount
792
+ */
793
+ type RawAccount = Message<"thru.core.v1.RawAccount"> & {
794
+ /**
795
+ * @generated from field: thru.common.v1.Pubkey address = 1;
796
+ */
797
+ address?: Pubkey;
798
+ /**
799
+ * @generated from field: bytes raw_meta = 2;
800
+ */
801
+ rawMeta: Uint8Array;
802
+ /**
803
+ * @generated from field: optional bytes raw_data = 3;
804
+ */
805
+ rawData?: Uint8Array;
806
+ /**
807
+ * @generated from field: optional thru.core.v1.VersionContextMetadata version_context = 4;
808
+ */
809
+ versionContext?: VersionContextMetadata;
810
+ };
811
+ /**
812
+ * Describes the message thru.core.v1.RawAccount.
813
+ * Use `create(RawAccountSchema)` to create a new message.
814
+ */
815
+ declare const RawAccountSchema: GenMessage<RawAccount>;
816
+ /**
817
+ * AccountView controls which sections of account resources are returned.
818
+ *
819
+ * @generated from enum thru.core.v1.AccountView
820
+ */
821
+ declare enum AccountView {
822
+ /**
823
+ * ACCOUNT_VIEW_UNSPECIFIED uses service defaults.
824
+ *
825
+ * @generated from enum value: ACCOUNT_VIEW_UNSPECIFIED = 0;
826
+ */
827
+ UNSPECIFIED = 0,
828
+ /**
829
+ * ACCOUNT_VIEW_PUBKEY_ONLY returns only the account address.
830
+ *
831
+ * @generated from enum value: ACCOUNT_VIEW_PUBKEY_ONLY = 1;
832
+ */
833
+ PUBKEY_ONLY = 1,
834
+ /**
835
+ * ACCOUNT_VIEW_META_ONLY returns only account metadata.
836
+ *
837
+ * @generated from enum value: ACCOUNT_VIEW_META_ONLY = 2;
838
+ */
839
+ META_ONLY = 2,
840
+ /**
841
+ * ACCOUNT_VIEW_DATA_ONLY returns only account data.
842
+ *
843
+ * @generated from enum value: ACCOUNT_VIEW_DATA_ONLY = 3;
844
+ */
845
+ DATA_ONLY = 3,
846
+ /**
847
+ * ACCOUNT_VIEW_FULL returns address, metadata, and data.
848
+ *
849
+ * @generated from enum value: ACCOUNT_VIEW_FULL = 4;
850
+ */
851
+ FULL = 4
852
+ }
853
+ /**
854
+ * Describes the enum thru.core.v1.AccountView.
855
+ */
856
+ declare const AccountViewSchema: GenEnum<AccountView>;
857
+
858
+ /**
859
+ * Describes the file thru/core/v1/types.proto.
860
+ */
861
+ declare const file_thru_core_v1_types: GenFile;
862
+ /**
863
+ * Hash represents a 32-byte hash value.
864
+ *
865
+ * @generated from message thru.core.v1.Hash
866
+ */
867
+ type Hash = Message<"thru.core.v1.Hash"> & {
868
+ /**
869
+ * 32-byte hash buffer.
870
+ *
871
+ * @generated from field: bytes value = 1;
872
+ */
873
+ value: Uint8Array;
874
+ };
875
+ /**
876
+ * Describes the message thru.core.v1.Hash.
877
+ * Use `create(HashSchema)` to create a new message.
878
+ */
879
+ declare const HashSchema: GenMessage<Hash>;
880
+ /**
881
+ * BlockHash represents a 32-byte hash for block identifiers.
882
+ *
883
+ * @generated from message thru.core.v1.BlockHash
884
+ */
885
+ type BlockHash = Message<"thru.core.v1.BlockHash"> & {
886
+ /**
887
+ * 32-byte block hash buffer.
888
+ *
889
+ * @generated from field: bytes value = 1;
890
+ */
891
+ value: Uint8Array;
892
+ };
893
+ /**
894
+ * Describes the message thru.core.v1.BlockHash.
895
+ * Use `create(BlockHashSchema)` to create a new message.
896
+ */
897
+ declare const BlockHashSchema: GenMessage<BlockHash>;
898
+
899
+ /**
900
+ * Describes the file thru/core/v1/block.proto.
901
+ */
902
+ declare const file_thru_core_v1_block: GenFile;
903
+ /**
904
+ * BlockHeader describes metadata about a block.
905
+ *
906
+ * @generated from message thru.core.v1.BlockHeader
907
+ */
908
+ type BlockHeader = Message<"thru.core.v1.BlockHeader"> & {
909
+ /**
910
+ * @generated from field: uint64 slot = 1;
911
+ */
912
+ slot: bigint;
913
+ /**
914
+ * @generated from field: thru.core.v1.BlockHash block_hash = 2;
915
+ */
916
+ blockHash?: BlockHash;
917
+ /**
918
+ * @generated from field: thru.common.v1.Signature header_signature = 3;
919
+ */
920
+ headerSignature?: Signature;
921
+ /**
922
+ * @generated from field: uint32 version = 4;
923
+ */
924
+ version: number;
925
+ /**
926
+ * @generated from field: thru.common.v1.Pubkey producer = 5;
927
+ */
928
+ producer?: Pubkey;
929
+ /**
930
+ * @generated from field: google.protobuf.Timestamp expiry_timestamp = 6;
931
+ */
932
+ expiryTimestamp?: Timestamp;
933
+ /**
934
+ * @generated from field: uint64 start_slot = 7;
935
+ */
936
+ startSlot: bigint;
937
+ /**
938
+ * @generated from field: uint32 expiry_after = 8;
939
+ */
940
+ expiryAfter: number;
941
+ /**
942
+ * @generated from field: uint32 max_block_size = 9;
943
+ */
944
+ maxBlockSize: number;
945
+ /**
946
+ * @generated from field: uint64 max_compute_units = 10;
947
+ */
948
+ maxComputeUnits: bigint;
949
+ /**
950
+ * @generated from field: uint32 max_state_units = 11;
951
+ */
952
+ maxStateUnits: number;
953
+ /**
954
+ * @generated from field: uint64 bond_amount_lock_up = 12;
955
+ */
956
+ bondAmountLockUp: bigint;
957
+ /**
958
+ * @generated from field: google.protobuf.Timestamp block_time = 13;
959
+ */
960
+ blockTime?: Timestamp;
961
+ /**
962
+ * @generated from field: uint64 weight_slot = 14;
963
+ */
964
+ weightSlot: bigint;
965
+ };
966
+ /**
967
+ * Describes the message thru.core.v1.BlockHeader.
968
+ * Use `create(BlockHeaderSchema)` to create a new message.
969
+ */
970
+ declare const BlockHeaderSchema: GenMessage<BlockHeader>;
971
+ /**
972
+ * BlockFooter captures execution result metadata for a block.
973
+ *
974
+ * @generated from message thru.core.v1.BlockFooter
975
+ */
976
+ type BlockFooter = Message<"thru.core.v1.BlockFooter"> & {
977
+ /**
978
+ * @generated from field: thru.common.v1.Signature signature = 1;
979
+ */
980
+ signature?: Signature;
981
+ /**
982
+ * @generated from field: thru.core.v1.ExecutionStatus status = 2;
983
+ */
984
+ status: ExecutionStatus;
985
+ /**
986
+ * @generated from field: uint64 consumed_compute_units = 3;
987
+ */
988
+ consumedComputeUnits: bigint;
989
+ /**
990
+ * @generated from field: uint32 consumed_state_units = 4;
991
+ */
992
+ consumedStateUnits: number;
993
+ /**
994
+ * @generated from field: uint64 attestor_payment = 5;
995
+ */
996
+ attestorPayment: bigint;
997
+ };
998
+ /**
999
+ * Describes the message thru.core.v1.BlockFooter.
1000
+ * Use `create(BlockFooterSchema)` to create a new message.
1001
+ */
1002
+ declare const BlockFooterSchema: GenMessage<BlockFooter>;
1003
+ /**
1004
+ * Block represents a fully decoded block resource.
1005
+ *
1006
+ * @generated from message thru.core.v1.Block
1007
+ */
1008
+ type Block = Message<"thru.core.v1.Block"> & {
1009
+ /**
1010
+ * @generated from field: thru.core.v1.BlockHeader header = 1;
1011
+ */
1012
+ header?: BlockHeader;
1013
+ /**
1014
+ * @generated from field: optional thru.core.v1.BlockFooter footer = 2;
1015
+ */
1016
+ footer?: BlockFooter;
1017
+ /**
1018
+ * @generated from field: optional bytes body = 3;
1019
+ */
1020
+ body?: Uint8Array;
1021
+ /**
1022
+ * @generated from field: optional thru.common.v1.ConsensusStatus consensus_status = 4;
1023
+ */
1024
+ consensusStatus?: ConsensusStatus;
1025
+ };
1026
+ /**
1027
+ * Describes the message thru.core.v1.Block.
1028
+ * Use `create(BlockSchema)` to create a new message.
1029
+ */
1030
+ declare const BlockSchema: GenMessage<Block>;
1031
+ /**
1032
+ * RawBlock captures raw block bytes for direct access.
1033
+ *
1034
+ * @generated from message thru.core.v1.RawBlock
1035
+ */
1036
+ type RawBlock = Message<"thru.core.v1.RawBlock"> & {
1037
+ /**
1038
+ * @generated from field: uint64 slot = 1;
1039
+ */
1040
+ slot: bigint;
1041
+ /**
1042
+ * @generated from field: bytes raw_block = 2;
1043
+ */
1044
+ rawBlock: Uint8Array;
1045
+ };
1046
+ /**
1047
+ * Describes the message thru.core.v1.RawBlock.
1048
+ * Use `create(RawBlockSchema)` to create a new message.
1049
+ */
1050
+ declare const RawBlockSchema: GenMessage<RawBlock>;
1051
+ /**
1052
+ * BlockView controls how much of a block resource is returned.
1053
+ *
1054
+ * @generated from enum thru.core.v1.BlockView
1055
+ */
1056
+ declare enum BlockView {
1057
+ /**
1058
+ * @generated from enum value: BLOCK_VIEW_UNSPECIFIED = 0;
1059
+ */
1060
+ UNSPECIFIED = 0,
1061
+ /**
1062
+ * @generated from enum value: BLOCK_VIEW_HEADER_ONLY = 1;
1063
+ */
1064
+ HEADER_ONLY = 1,
1065
+ /**
1066
+ * @generated from enum value: BLOCK_VIEW_HEADER_AND_FOOTER = 2;
1067
+ */
1068
+ HEADER_AND_FOOTER = 2,
1069
+ /**
1070
+ * @generated from enum value: BLOCK_VIEW_BODY_ONLY = 3;
1071
+ */
1072
+ BODY_ONLY = 3,
1073
+ /**
1074
+ * @generated from enum value: BLOCK_VIEW_FULL = 4;
1075
+ */
1076
+ FULL = 4
1077
+ }
1078
+ /**
1079
+ * Describes the enum thru.core.v1.BlockView.
1080
+ */
1081
+ declare const BlockViewSchema: GenEnum<BlockView>;
1082
+ /**
1083
+ * ExecutionStatus enumerates block execution results.
1084
+ *
1085
+ * @generated from enum thru.core.v1.ExecutionStatus
1086
+ */
1087
+ declare enum ExecutionStatus {
1088
+ /**
1089
+ * @generated from enum value: EXECUTION_STATUS_UNSPECIFIED = 0;
1090
+ */
1091
+ UNSPECIFIED = 0,
1092
+ /**
1093
+ * @generated from enum value: EXECUTION_STATUS_PENDING = 1;
1094
+ */
1095
+ PENDING = 1,
1096
+ /**
1097
+ * @generated from enum value: EXECUTION_STATUS_EXECUTED = 2;
1098
+ */
1099
+ EXECUTED = 2,
1100
+ /**
1101
+ * @generated from enum value: EXECUTION_STATUS_FAILED = 3;
1102
+ */
1103
+ FAILED = 3
1104
+ }
1105
+ /**
1106
+ * Describes the enum thru.core.v1.ExecutionStatus.
1107
+ */
1108
+ declare const ExecutionStatusSchema: GenEnum<ExecutionStatus>;
1109
+
1110
+ /**
1111
+ * Describes the file thru/core/v1/state.proto.
1112
+ */
1113
+ declare const file_thru_core_v1_state: GenFile;
1114
+ /**
1115
+ * StateProofRequest describes a request to generate an account state proof.
1116
+ *
1117
+ * @generated from message thru.core.v1.StateProofRequest
1118
+ */
1119
+ type StateProofRequest = Message<"thru.core.v1.StateProofRequest"> & {
1120
+ /**
1121
+ * @generated from field: thru.common.v1.Pubkey address = 1;
1122
+ */
1123
+ address?: Pubkey;
1124
+ /**
1125
+ * @generated from field: thru.core.v1.StateProofType proof_type = 2;
1126
+ */
1127
+ proofType: StateProofType;
1128
+ /**
1129
+ * @generated from field: optional uint64 target_slot = 3;
1130
+ */
1131
+ targetSlot?: bigint;
1132
+ };
1133
+ /**
1134
+ * Describes the message thru.core.v1.StateProofRequest.
1135
+ * Use `create(StateProofRequestSchema)` to create a new message.
1136
+ */
1137
+ declare const StateProofRequestSchema: GenMessage<StateProofRequest>;
1138
+ /**
1139
+ * StateProof returns binary proof data along with context.
1140
+ *
1141
+ * @generated from message thru.core.v1.StateProof
1142
+ */
1143
+ type StateProof = Message<"thru.core.v1.StateProof"> & {
1144
+ /**
1145
+ * @generated from field: bytes proof = 1;
1146
+ */
1147
+ proof: Uint8Array;
1148
+ /**
1149
+ * @generated from field: uint64 slot = 2;
1150
+ */
1151
+ slot: bigint;
1152
+ };
1153
+ /**
1154
+ * Describes the message thru.core.v1.StateProof.
1155
+ * Use `create(StateProofSchema)` to create a new message.
1156
+ */
1157
+ declare const StateProofSchema: GenMessage<StateProof>;
1158
+ /**
1159
+ * StateProofType selects the type of state proof to generate.
1160
+ *
1161
+ * @generated from enum thru.core.v1.StateProofType
1162
+ */
1163
+ declare enum StateProofType {
1164
+ /**
1165
+ * @generated from enum value: STATE_PROOF_TYPE_UNSPECIFIED = 0;
1166
+ */
1167
+ UNSPECIFIED = 0,
1168
+ /**
1169
+ * @generated from enum value: STATE_PROOF_TYPE_CREATING = 1;
1170
+ */
1171
+ CREATING = 1,
1172
+ /**
1173
+ * @generated from enum value: STATE_PROOF_TYPE_UPDATING = 2;
1174
+ */
1175
+ UPDATING = 2,
1176
+ /**
1177
+ * @generated from enum value: STATE_PROOF_TYPE_EXISTING = 3;
1178
+ */
1179
+ EXISTING = 3
1180
+ }
1181
+ /**
1182
+ * Describes the enum thru.core.v1.StateProofType.
1183
+ */
1184
+ declare const StateProofTypeSchema: GenEnum<StateProofType>;
1185
+
1186
+ /**
1187
+ * Describes the file thru/core/v1/transaction.proto.
1188
+ */
1189
+ declare const file_thru_core_v1_transaction: GenFile;
1190
+ /**
1191
+ * TransactionHeader carries structured metadata for a transaction.
1192
+ *
1193
+ * @generated from message thru.core.v1.TransactionHeader
1194
+ */
1195
+ type TransactionHeader = Message<"thru.core.v1.TransactionHeader"> & {
1196
+ /**
1197
+ * @generated from field: thru.common.v1.Signature fee_payer_signature = 1;
1198
+ */
1199
+ feePayerSignature?: Signature;
1200
+ /**
1201
+ * @generated from field: uint32 version = 2;
1202
+ */
1203
+ version: number;
1204
+ /**
1205
+ * @generated from field: uint32 flags = 3;
1206
+ */
1207
+ flags: number;
1208
+ /**
1209
+ * @generated from field: uint32 readwrite_accounts_count = 4;
1210
+ */
1211
+ readwriteAccountsCount: number;
1212
+ /**
1213
+ * @generated from field: uint32 readonly_accounts_count = 5;
1214
+ */
1215
+ readonlyAccountsCount: number;
1216
+ /**
1217
+ * @generated from field: uint32 instruction_data_size = 6;
1218
+ */
1219
+ instructionDataSize: number;
1220
+ /**
1221
+ * @generated from field: uint32 requested_compute_units = 7;
1222
+ */
1223
+ requestedComputeUnits: number;
1224
+ /**
1225
+ * @generated from field: uint32 requested_state_units = 8;
1226
+ */
1227
+ requestedStateUnits: number;
1228
+ /**
1229
+ * @generated from field: uint32 requested_memory_units = 9;
1230
+ */
1231
+ requestedMemoryUnits: number;
1232
+ /**
1233
+ * @generated from field: uint32 expiry_after = 10;
1234
+ */
1235
+ expiryAfter: number;
1236
+ /**
1237
+ * @generated from field: uint64 fee = 11;
1238
+ */
1239
+ fee: bigint;
1240
+ /**
1241
+ * @generated from field: uint64 nonce = 12;
1242
+ */
1243
+ nonce: bigint;
1244
+ /**
1245
+ * @generated from field: uint64 start_slot = 13;
1246
+ */
1247
+ startSlot: bigint;
1248
+ /**
1249
+ * @generated from field: thru.common.v1.Pubkey fee_payer_pubkey = 14;
1250
+ */
1251
+ feePayerPubkey?: Pubkey;
1252
+ /**
1253
+ * @generated from field: thru.common.v1.Pubkey program_pubkey = 15;
1254
+ */
1255
+ programPubkey?: Pubkey;
1256
+ };
1257
+ /**
1258
+ * Describes the message thru.core.v1.TransactionHeader.
1259
+ * Use `create(TransactionHeaderSchema)` to create a new message.
1260
+ */
1261
+ declare const TransactionHeaderSchema: GenMessage<TransactionHeader>;
1262
+ /**
1263
+ * TransactionExecutionResult captures execution outcomes.
1264
+ *
1265
+ * @generated from message thru.core.v1.TransactionExecutionResult
1266
+ */
1267
+ type TransactionExecutionResult = Message<"thru.core.v1.TransactionExecutionResult"> & {
1268
+ /**
1269
+ * @generated from field: uint32 consumed_compute_units = 1;
1270
+ */
1271
+ consumedComputeUnits: number;
1272
+ /**
1273
+ * @generated from field: uint32 consumed_memory_units = 2;
1274
+ */
1275
+ consumedMemoryUnits: number;
1276
+ /**
1277
+ * @generated from field: uint32 consumed_state_units = 3;
1278
+ */
1279
+ consumedStateUnits: number;
1280
+ /**
1281
+ * @generated from field: uint64 user_error_code = 4;
1282
+ */
1283
+ userErrorCode: bigint;
1284
+ /**
1285
+ * @generated from field: thru.core.v1.TransactionVmError vm_error = 5;
1286
+ */
1287
+ vmError: TransactionVmError;
1288
+ /**
1289
+ * @generated from field: uint64 execution_result = 6;
1290
+ */
1291
+ executionResult: bigint;
1292
+ /**
1293
+ * @generated from field: uint32 pages_used = 7;
1294
+ */
1295
+ pagesUsed: number;
1296
+ /**
1297
+ * @generated from field: uint32 events_count = 8;
1298
+ */
1299
+ eventsCount: number;
1300
+ /**
1301
+ * @generated from field: uint32 events_size = 9;
1302
+ */
1303
+ eventsSize: number;
1304
+ /**
1305
+ * @generated from field: repeated thru.common.v1.Pubkey readwrite_accounts = 10;
1306
+ */
1307
+ readwriteAccounts: Pubkey[];
1308
+ /**
1309
+ * @generated from field: repeated thru.common.v1.Pubkey readonly_accounts = 11;
1310
+ */
1311
+ readonlyAccounts: Pubkey[];
1312
+ /**
1313
+ * @generated from field: repeated thru.core.v1.TransactionEvent events = 12;
1314
+ */
1315
+ events: TransactionEvent[];
1316
+ };
1317
+ /**
1318
+ * Describes the message thru.core.v1.TransactionExecutionResult.
1319
+ * Use `create(TransactionExecutionResultSchema)` to create a new message.
1320
+ */
1321
+ declare const TransactionExecutionResultSchema: GenMessage<TransactionExecutionResult>;
1322
+ /**
1323
+ * TransactionEvent describes an event emitted during transaction execution.
1324
+ *
1325
+ * @generated from message thru.core.v1.TransactionEvent
1326
+ */
1327
+ type TransactionEvent = Message<"thru.core.v1.TransactionEvent"> & {
1328
+ /**
1329
+ * @generated from field: string event_id = 1;
1330
+ */
1331
+ eventId: string;
1332
+ /**
1333
+ * @generated from field: uint32 call_idx = 2;
1334
+ */
1335
+ callIdx: number;
1336
+ /**
1337
+ * @generated from field: uint32 program_idx = 3;
1338
+ */
1339
+ programIdx: number;
1340
+ /**
1341
+ * @generated from field: thru.common.v1.Pubkey program = 4;
1342
+ */
1343
+ program?: Pubkey;
1344
+ /**
1345
+ * @generated from field: bytes payload = 5;
1346
+ */
1347
+ payload: Uint8Array;
1348
+ };
1349
+ /**
1350
+ * Describes the message thru.core.v1.TransactionEvent.
1351
+ * Use `create(TransactionEventSchema)` to create a new message.
1352
+ */
1353
+ declare const TransactionEventSchema: GenMessage<TransactionEvent>;
1354
+ /**
1355
+ * Transaction describes a fully decoded transaction resource.
1356
+ *
1357
+ * @generated from message thru.core.v1.Transaction
1358
+ */
1359
+ type Transaction = Message<"thru.core.v1.Transaction"> & {
1360
+ /**
1361
+ * @generated from field: thru.common.v1.Signature signature = 1;
1362
+ */
1363
+ signature?: Signature;
1364
+ /**
1365
+ * @generated from field: thru.core.v1.TransactionHeader header = 2;
1366
+ */
1367
+ header?: TransactionHeader;
1368
+ /**
1369
+ * @generated from field: optional bytes body = 3;
1370
+ */
1371
+ body?: Uint8Array;
1372
+ /**
1373
+ * @generated from field: optional thru.core.v1.TransactionExecutionResult execution_result = 4;
1374
+ */
1375
+ executionResult?: TransactionExecutionResult;
1376
+ /**
1377
+ * @generated from field: optional uint64 slot = 5;
1378
+ */
1379
+ slot?: bigint;
1380
+ /**
1381
+ * @generated from field: optional uint32 block_offset = 6;
1382
+ */
1383
+ blockOffset?: number;
1384
+ };
1385
+ /**
1386
+ * Describes the message thru.core.v1.Transaction.
1387
+ * Use `create(TransactionSchema)` to create a new message.
1388
+ */
1389
+ declare const TransactionSchema: GenMessage<Transaction>;
1390
+ /**
1391
+ * RawTransaction provides direct access to serialized transaction bytes.
1392
+ *
1393
+ * @generated from message thru.core.v1.RawTransaction
1394
+ */
1395
+ type RawTransaction = Message<"thru.core.v1.RawTransaction"> & {
1396
+ /**
1397
+ * @generated from field: thru.common.v1.Signature signature = 1;
1398
+ */
1399
+ signature?: Signature;
1400
+ /**
1401
+ * @generated from field: bytes raw_transaction = 2;
1402
+ */
1403
+ rawTransaction: Uint8Array;
1404
+ };
1405
+ /**
1406
+ * Describes the message thru.core.v1.RawTransaction.
1407
+ * Use `create(RawTransactionSchema)` to create a new message.
1408
+ */
1409
+ declare const RawTransactionSchema: GenMessage<RawTransaction>;
1410
+ /**
1411
+ * TransactionView controls how transactions are materialized in responses.
1412
+ *
1413
+ * @generated from enum thru.core.v1.TransactionView
1414
+ */
1415
+ declare enum TransactionView {
1416
+ /**
1417
+ * @generated from enum value: TRANSACTION_VIEW_UNSPECIFIED = 0;
1418
+ */
1419
+ UNSPECIFIED = 0,
1420
+ /**
1421
+ * @generated from enum value: TRANSACTION_VIEW_SIGNATURE_ONLY = 1;
1422
+ */
1423
+ SIGNATURE_ONLY = 1,
1424
+ /**
1425
+ * @generated from enum value: TRANSACTION_VIEW_HEADER_ONLY = 2;
1426
+ */
1427
+ HEADER_ONLY = 2,
1428
+ /**
1429
+ * @generated from enum value: TRANSACTION_VIEW_HEADER_AND_BODY = 3;
1430
+ */
1431
+ HEADER_AND_BODY = 3,
1432
+ /**
1433
+ * @generated from enum value: TRANSACTION_VIEW_FULL = 4;
1434
+ */
1435
+ FULL = 4
1436
+ }
1437
+ /**
1438
+ * Describes the enum thru.core.v1.TransactionView.
1439
+ */
1440
+ declare const TransactionViewSchema: GenEnum<TransactionView>;
1441
+ /**
1442
+ * TransactionVmError enumerates runtime error codes returned by the executor.
1443
+ *
1444
+ * @generated from enum thru.core.v1.TransactionVmError
1445
+ */
1446
+ declare enum TransactionVmError {
1447
+ /**
1448
+ * TN_RUNTIME_TXN_EXECUTE_SUCCESS
1449
+ *
1450
+ * @generated from enum value: TRANSACTION_VM_EXECUTE_SUCCESS = 0;
1451
+ */
1452
+ TRANSACTION_VM_EXECUTE_SUCCESS = 0,
1453
+ /**
1454
+ * TN_RUNTIME_TXN_ERR_INVALID_FORMAT
1455
+ *
1456
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FORMAT = -255;
1457
+ */
1458
+ TRANSACTION_VM_ERROR_INVALID_FORMAT = -255,
1459
+ /**
1460
+ * TN_RUNTIME_TXN_ERR_INVALID_VERSION
1461
+ *
1462
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_VERSION = -254;
1463
+ */
1464
+ TRANSACTION_VM_ERROR_INVALID_VERSION = -254,
1465
+ /**
1466
+ * TN_RUNTIME_TXN_ERR_INVALID_FLAGS
1467
+ *
1468
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FLAGS = -253;
1469
+ */
1470
+ TRANSACTION_VM_ERROR_INVALID_FLAGS = -253,
1471
+ /**
1472
+ * TN_RUNTIME_TXN_ERR_INVALID_SIGNATURE
1473
+ *
1474
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_SIGNATURE = -252;
1475
+ */
1476
+ TRANSACTION_VM_ERROR_INVALID_SIGNATURE = -252,
1477
+ /**
1478
+ * TN_RUNTIME_TXN_ERR_DUPLICATE_ACCOUNT
1479
+ *
1480
+ * @generated from enum value: TRANSACTION_VM_ERROR_DUPLICATE_ACCOUNT = -251;
1481
+ */
1482
+ TRANSACTION_VM_ERROR_DUPLICATE_ACCOUNT = -251,
1483
+ /**
1484
+ * TN_RUNTIME_TXN_ERR_UNSORTED_ACCOUNTS
1485
+ *
1486
+ * @generated from enum value: TRANSACTION_VM_ERROR_UNSORTED_ACCOUNTS = -250;
1487
+ */
1488
+ TRANSACTION_VM_ERROR_UNSORTED_ACCOUNTS = -250,
1489
+ /**
1490
+ * TN_RUNTIME_TXN_ERR_UNSORTED_READWRITE_ACCOUNTS
1491
+ *
1492
+ * @generated from enum value: TRANSACTION_VM_ERROR_UNSORTED_READWRITE_ACCOUNTS = -249;
1493
+ */
1494
+ TRANSACTION_VM_ERROR_UNSORTED_READWRITE_ACCOUNTS = -249,
1495
+ /**
1496
+ * TN_RUNTIME_TXN_ERR_UNSORTED_READONLY_ACCOUNTS
1497
+ *
1498
+ * @generated from enum value: TRANSACTION_VM_ERROR_UNSORTED_READONLY_ACCOUNTS = -248;
1499
+ */
1500
+ TRANSACTION_VM_ERROR_UNSORTED_READONLY_ACCOUNTS = -248,
1501
+ /**
1502
+ * TN_RUNTIME_TXN_ERR_ACCOUNT_COUNT_LIMIT_EXCEEDED
1503
+ *
1504
+ * @generated from enum value: TRANSACTION_VM_ERROR_ACCOUNT_COUNT_LIMIT_EXCEEDED = -247;
1505
+ */
1506
+ TRANSACTION_VM_ERROR_ACCOUNT_COUNT_LIMIT_EXCEEDED = -247,
1507
+ /**
1508
+ * TN_RUNTIME_TXN_ERR_NONCE_TOO_LOW
1509
+ *
1510
+ * @generated from enum value: TRANSACTION_VM_ERROR_NONCE_TOO_LOW = -511;
1511
+ */
1512
+ TRANSACTION_VM_ERROR_NONCE_TOO_LOW = -511,
1513
+ /**
1514
+ * TN_RUNTIME_TXN_ERR_NONCE_TOO_HIGH
1515
+ *
1516
+ * @generated from enum value: TRANSACTION_VM_ERROR_NONCE_TOO_HIGH = -510;
1517
+ */
1518
+ TRANSACTION_VM_ERROR_NONCE_TOO_HIGH = -510,
1519
+ /**
1520
+ * TN_RUNTIME_TXN_ERR_INSUFFICIENT_FEE_PAYER_BALANCE
1521
+ *
1522
+ * @generated from enum value: TRANSACTION_VM_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = -509;
1523
+ */
1524
+ TRANSACTION_VM_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = -509,
1525
+ /**
1526
+ * TN_RUNTIME_TXN_ERR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST
1527
+ *
1528
+ * @generated from enum value: TRANSACTION_VM_ERROR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST = -508;
1529
+ */
1530
+ TRANSACTION_VM_ERROR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST = -508,
1531
+ /**
1532
+ * TN_RUNTIME_TXN_ERR_NOT_LIVE_YET
1533
+ *
1534
+ * @generated from enum value: TRANSACTION_VM_ERROR_NOT_LIVE_YET = -507;
1535
+ */
1536
+ TRANSACTION_VM_ERROR_NOT_LIVE_YET = -507,
1537
+ /**
1538
+ * TN_RUNTIME_TXN_ERR_EXPIRED
1539
+ *
1540
+ * @generated from enum value: TRANSACTION_VM_ERROR_EXPIRED = -506;
1541
+ */
1542
+ TRANSACTION_VM_ERROR_EXPIRED = -506,
1543
+ /**
1544
+ * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF
1545
+ *
1546
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF = -505;
1547
+ */
1548
+ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF = -505,
1549
+ /**
1550
+ * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_TYPE
1551
+ *
1552
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_TYPE = -504;
1553
+ */
1554
+ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_TYPE = -504,
1555
+ /**
1556
+ * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_SLOT
1557
+ *
1558
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_SLOT = -503;
1559
+ */
1560
+ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_SLOT = -503,
1561
+ /**
1562
+ * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_ACCOUNT_OWNER
1563
+ *
1564
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_ACCOUNT_OWNER = -502;
1565
+ */
1566
+ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_ACCOUNT_OWNER = -502,
1567
+ /**
1568
+ * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER
1569
+ *
1570
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER = -501;
1571
+ */
1572
+ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER = -501,
1573
+ /**
1574
+ * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ
1575
+ *
1576
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ = -500;
1577
+ */
1578
+ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ = -500,
1579
+ /**
1580
+ * TN_RUNTIME_TXN_ERR_VM_FAILED
1581
+ *
1582
+ * @generated from enum value: TRANSACTION_VM_ERROR_VM_FAILED = -767;
1583
+ */
1584
+ TRANSACTION_VM_ERROR_VM_FAILED = -767,
1585
+ /**
1586
+ * TN_RUNTIME_TXN_ERR_INVALID_PROGRAM_ACCOUNT
1587
+ *
1588
+ * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_PROGRAM_ACCOUNT = -766;
1589
+ */
1590
+ TRANSACTION_VM_ERROR_INVALID_PROGRAM_ACCOUNT = -766,
1591
+ /**
1592
+ * TN_RUNTIME_TXN_ERR_VM_REVERT
1593
+ *
1594
+ * @generated from enum value: TRANSACTION_VM_ERROR_VM_REVERT = -765;
1595
+ */
1596
+ TRANSACTION_VM_ERROR_VM_REVERT = -765,
1597
+ /**
1598
+ * TN_RUNTIME_TXN_ERR_CU_EXHAUSTED
1599
+ *
1600
+ * @generated from enum value: TRANSACTION_VM_ERROR_CU_EXHAUSTED = -764;
1601
+ */
1602
+ TRANSACTION_VM_ERROR_CU_EXHAUSTED = -764,
1603
+ /**
1604
+ * TN_RUNTIME_TXN_ERR_SU_EXHAUSTED
1605
+ *
1606
+ * @generated from enum value: TRANSACTION_VM_ERROR_SU_EXHAUSTED = -763;
1607
+ */
1608
+ TRANSACTION_VM_ERROR_SU_EXHAUSTED = -763
1609
+ }
1610
+ /**
1611
+ * Describes the enum thru.core.v1.TransactionVmError.
1612
+ */
1613
+ declare const TransactionVmErrorSchema: GenEnum<TransactionVmError>;
1614
+
1615
+ /**
1616
+ * Describes the file thru/services/v1/command_service.proto.
1617
+ */
1618
+ declare const file_thru_services_v1_command_service: GenFile;
1619
+ /**
1620
+ * SendTransactionRequest submits a transaction to the cluster.
1621
+ *
1622
+ * @generated from message thru.services.v1.SendTransactionRequest
1623
+ */
1624
+ type SendTransactionRequest = Message<"thru.services.v1.SendTransactionRequest"> & {
1625
+ /**
1626
+ * Raw transaction bytes encoded according to chain specification.
1627
+ *
1628
+ * @generated from field: bytes raw_transaction = 1;
1629
+ */
1630
+ rawTransaction: Uint8Array;
1631
+ };
1632
+ /**
1633
+ * Describes the message thru.services.v1.SendTransactionRequest.
1634
+ * Use `create(SendTransactionRequestSchema)` to create a new message.
1635
+ */
1636
+ declare const SendTransactionRequestSchema: GenMessage<SendTransactionRequest>;
1637
+ /**
1638
+ * SendTransactionResponse echoes submission metadata.
1639
+ *
1640
+ * @generated from message thru.services.v1.SendTransactionResponse
1641
+ */
1642
+ type SendTransactionResponse = Message<"thru.services.v1.SendTransactionResponse"> & {
1643
+ /**
1644
+ * @generated from field: thru.common.v1.Signature signature = 1;
1645
+ */
1646
+ signature?: Signature;
1647
+ };
1648
+ /**
1649
+ * Describes the message thru.services.v1.SendTransactionResponse.
1650
+ * Use `create(SendTransactionResponseSchema)` to create a new message.
1651
+ */
1652
+ declare const SendTransactionResponseSchema: GenMessage<SendTransactionResponse>;
1653
+ /**
1654
+ * BatchSendTransactionsRequest submits multiple transactions to the cluster.
1655
+ *
1656
+ * @generated from message thru.services.v1.BatchSendTransactionsRequest
1657
+ */
1658
+ type BatchSendTransactionsRequest = Message<"thru.services.v1.BatchSendTransactionsRequest"> & {
1659
+ /**
1660
+ * List of raw transaction bytes encoded according to chain specification.
1661
+ *
1662
+ * @generated from field: repeated bytes raw_transactions = 1;
1663
+ */
1664
+ rawTransactions: Uint8Array[];
1665
+ /**
1666
+ * Number of retries for each transaction if not accepted by UDS (defaults to 0).
1667
+ *
1668
+ * @generated from field: int32 num_retries = 2;
1669
+ */
1670
+ numRetries: number;
1671
+ };
1672
+ /**
1673
+ * Describes the message thru.services.v1.BatchSendTransactionsRequest.
1674
+ * Use `create(BatchSendTransactionsRequestSchema)` to create a new message.
1675
+ */
1676
+ declare const BatchSendTransactionsRequestSchema: GenMessage<BatchSendTransactionsRequest>;
1677
+ /**
1678
+ * BatchSendTransactionsResponse returns submission results for each transaction.
1679
+ *
1680
+ * @generated from message thru.services.v1.BatchSendTransactionsResponse
1681
+ */
1682
+ type BatchSendTransactionsResponse = Message<"thru.services.v1.BatchSendTransactionsResponse"> & {
1683
+ /**
1684
+ * Signatures for each transaction (in same order as request).
1685
+ *
1686
+ * @generated from field: repeated thru.common.v1.Signature signatures = 1;
1687
+ */
1688
+ signatures: Signature[];
1689
+ /**
1690
+ * Acceptance status for each transaction (true if accepted, false if not).
1691
+ *
1692
+ * @generated from field: repeated bool accepted = 2;
1693
+ */
1694
+ accepted: boolean[];
1695
+ };
1696
+ /**
1697
+ * Describes the message thru.services.v1.BatchSendTransactionsResponse.
1698
+ * Use `create(BatchSendTransactionsResponseSchema)` to create a new message.
1699
+ */
1700
+ declare const BatchSendTransactionsResponseSchema: GenMessage<BatchSendTransactionsResponse>;
1701
+ /**
1702
+ * SendAndTrackTxnRequest submits a transaction and tracks its execution.
1703
+ *
1704
+ * @generated from message thru.services.v1.SendAndTrackTxnRequest
1705
+ */
1706
+ type SendAndTrackTxnRequest = Message<"thru.services.v1.SendAndTrackTxnRequest"> & {
1707
+ /**
1708
+ * Raw transaction bytes encoded according to chain specification.
1709
+ *
1710
+ * @generated from field: bytes transaction = 1;
1711
+ */
1712
+ transaction: Uint8Array;
1713
+ /**
1714
+ * Optional timeout for tracking the transaction execution.
1715
+ * If not specified, the stream will remain open until the transaction is executed or the client cancels.
1716
+ *
1717
+ * @generated from field: google.protobuf.Duration timeout = 2;
1718
+ */
1719
+ timeout?: Duration;
1720
+ };
1721
+ /**
1722
+ * Describes the message thru.services.v1.SendAndTrackTxnRequest.
1723
+ * Use `create(SendAndTrackTxnRequestSchema)` to create a new message.
1724
+ */
1725
+ declare const SendAndTrackTxnRequestSchema: GenMessage<SendAndTrackTxnRequest>;
1726
+ /**
1727
+ * SendAndTrackTxnResponse streams transaction status updates.
1728
+ *
1729
+ * @generated from message thru.services.v1.SendAndTrackTxnResponse
1730
+ */
1731
+ type SendAndTrackTxnResponse = Message<"thru.services.v1.SendAndTrackTxnResponse"> & {
1732
+ /**
1733
+ * Current submission status of the transaction.
1734
+ *
1735
+ * @generated from field: thru.services.v1.SubmissionStatus status = 1;
1736
+ */
1737
+ status: SubmissionStatus;
1738
+ /**
1739
+ * Transaction signature (populated for tracking messages).
1740
+ *
1741
+ * @generated from field: thru.common.v1.Signature signature = 2;
1742
+ */
1743
+ signature?: Signature;
1744
+ /**
1745
+ * Consensus status (populated for tracking messages).
1746
+ *
1747
+ * @generated from field: thru.common.v1.ConsensusStatus consensus_status = 3;
1748
+ */
1749
+ consensusStatus: ConsensusStatus;
1750
+ /**
1751
+ * Execution result (populated for tracking messages when execution completes).
1752
+ *
1753
+ * @generated from field: thru.core.v1.TransactionExecutionResult execution_result = 4;
1754
+ */
1755
+ executionResult?: TransactionExecutionResult;
1756
+ };
1757
+ /**
1758
+ * Describes the message thru.services.v1.SendAndTrackTxnResponse.
1759
+ * Use `create(SendAndTrackTxnResponseSchema)` to create a new message.
1760
+ */
1761
+ declare const SendAndTrackTxnResponseSchema: GenMessage<SendAndTrackTxnResponse>;
1762
+ /**
1763
+ * SubmissionStatus represents the status of a transaction in the submission pipeline.
1764
+ *
1765
+ * @generated from enum thru.services.v1.SubmissionStatus
1766
+ */
1767
+ declare enum SubmissionStatus {
1768
+ /**
1769
+ * Submission status is unspecified (default value).
1770
+ *
1771
+ * @generated from enum value: SUBMISSION_STATUS_UNSPECIFIED = 0;
1772
+ */
1773
+ UNSPECIFIED = 0,
1774
+ /**
1775
+ * Transaction has been received by the gRPC server.
1776
+ *
1777
+ * @generated from enum value: SUBMISSION_STATUS_RECEIVED = 1;
1778
+ */
1779
+ RECEIVED = 1,
1780
+ /**
1781
+ * Transaction has been accepted by the forwarder via UDS.
1782
+ *
1783
+ * @generated from enum value: SUBMISSION_STATUS_ACCEPTED = 2;
1784
+ */
1785
+ ACCEPTED = 2
1786
+ }
1787
+ /**
1788
+ * Describes the enum thru.services.v1.SubmissionStatus.
1789
+ */
1790
+ declare const SubmissionStatusSchema: GenEnum<SubmissionStatus>;
1791
+ /**
1792
+ * CommandService defines transactional RPCs that mutate state or perform
1793
+ * expensive computations.
1794
+ *
1795
+ * @generated from service thru.services.v1.CommandService
1796
+ */
1797
+ declare const CommandService: GenService<{
1798
+ /**
1799
+ * Submit a new transaction to the cluster.
1800
+ *
1801
+ * @generated from rpc thru.services.v1.CommandService.SendTransaction
1802
+ */
1803
+ sendTransaction: {
1804
+ methodKind: "unary";
1805
+ input: typeof SendTransactionRequestSchema;
1806
+ output: typeof SendTransactionResponseSchema;
1807
+ };
1808
+ /**
1809
+ * Submit multiple transactions to the cluster in batch.
1810
+ *
1811
+ * @generated from rpc thru.services.v1.CommandService.BatchSendTransactions
1812
+ */
1813
+ batchSendTransactions: {
1814
+ methodKind: "unary";
1815
+ input: typeof BatchSendTransactionsRequestSchema;
1816
+ output: typeof BatchSendTransactionsResponseSchema;
1817
+ };
1818
+ /**
1819
+ * Submit a transaction and track its execution status.
1820
+ * Returns a stream of status updates starting with RECEIVED, then ACCEPTED,
1821
+ * followed by consensus and execution updates, closing after the transaction is executed.
1822
+ *
1823
+ * @generated from rpc thru.services.v1.CommandService.SendAndTrackTxn
1824
+ */
1825
+ sendAndTrackTxn: {
1826
+ methodKind: "server_streaming";
1827
+ input: typeof SendAndTrackTxnRequestSchema;
1828
+ output: typeof SendAndTrackTxnResponseSchema;
1829
+ };
1830
+ }>;
1831
+
1832
+ /**
1833
+ * Describes the file thru/services/v1/query_service.proto.
1834
+ */
1835
+ declare const file_thru_services_v1_query_service: GenFile;
1836
+ /**
1837
+ * GetAccountRequest retrieves a decoded account by public key.
1838
+ *
1839
+ * @generated from message thru.services.v1.GetAccountRequest
1840
+ */
1841
+ type GetAccountRequest = Message<"thru.services.v1.GetAccountRequest"> & {
1842
+ /**
1843
+ * @generated from field: thru.common.v1.Pubkey address = 1;
1844
+ */
1845
+ address?: Pubkey;
1846
+ /**
1847
+ * @generated from field: optional thru.core.v1.AccountView view = 2;
1848
+ */
1849
+ view?: AccountView;
1850
+ /**
1851
+ * @generated from field: thru.common.v1.VersionContext version_context = 3;
1852
+ */
1853
+ versionContext?: VersionContext;
1854
+ /**
1855
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
1856
+ */
1857
+ minConsensus?: ConsensusStatus;
1858
+ /**
1859
+ * @generated from field: optional thru.core.v1.DataSlice data_slice = 5;
1860
+ */
1861
+ dataSlice?: DataSlice;
1862
+ };
1863
+ /**
1864
+ * Describes the message thru.services.v1.GetAccountRequest.
1865
+ * Use `create(GetAccountRequestSchema)` to create a new message.
1866
+ */
1867
+ declare const GetAccountRequestSchema: GenMessage<GetAccountRequest>;
1868
+ /**
1869
+ * GetRawAccountRequest retrieves raw account bytes by public key.
1870
+ *
1871
+ * @generated from message thru.services.v1.GetRawAccountRequest
1872
+ */
1873
+ type GetRawAccountRequest = Message<"thru.services.v1.GetRawAccountRequest"> & {
1874
+ /**
1875
+ * @generated from field: thru.common.v1.Pubkey address = 1;
1876
+ */
1877
+ address?: Pubkey;
1878
+ /**
1879
+ * @generated from field: optional thru.core.v1.AccountView view = 2;
1880
+ */
1881
+ view?: AccountView;
1882
+ /**
1883
+ * @generated from field: thru.common.v1.VersionContext version_context = 3;
1884
+ */
1885
+ versionContext?: VersionContext;
1886
+ /**
1887
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
1888
+ */
1889
+ minConsensus?: ConsensusStatus;
1890
+ };
1891
+ /**
1892
+ * Describes the message thru.services.v1.GetRawAccountRequest.
1893
+ * Use `create(GetRawAccountRequestSchema)` to create a new message.
1894
+ */
1895
+ declare const GetRawAccountRequestSchema: GenMessage<GetRawAccountRequest>;
1896
+ /**
1897
+ * GetTransactionRequest retrieves a decoded transaction by signature.
1898
+ *
1899
+ * @generated from message thru.services.v1.GetTransactionRequest
1900
+ */
1901
+ type GetTransactionRequest = Message<"thru.services.v1.GetTransactionRequest"> & {
1902
+ /**
1903
+ * @generated from field: thru.common.v1.Signature signature = 1;
1904
+ */
1905
+ signature?: Signature;
1906
+ /**
1907
+ * @generated from field: optional thru.core.v1.TransactionView view = 2;
1908
+ */
1909
+ view?: TransactionView;
1910
+ /**
1911
+ * @generated from field: thru.common.v1.VersionContext version_context = 3;
1912
+ */
1913
+ versionContext?: VersionContext;
1914
+ /**
1915
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
1916
+ */
1917
+ minConsensus?: ConsensusStatus;
1918
+ };
1919
+ /**
1920
+ * Describes the message thru.services.v1.GetTransactionRequest.
1921
+ * Use `create(GetTransactionRequestSchema)` to create a new message.
1922
+ */
1923
+ declare const GetTransactionRequestSchema: GenMessage<GetTransactionRequest>;
1924
+ /**
1925
+ * GetRawTransactionRequest retrieves raw transaction bytes by signature.
1926
+ *
1927
+ * @generated from message thru.services.v1.GetRawTransactionRequest
1928
+ */
1929
+ type GetRawTransactionRequest = Message<"thru.services.v1.GetRawTransactionRequest"> & {
1930
+ /**
1931
+ * @generated from field: thru.common.v1.Signature signature = 1;
1932
+ */
1933
+ signature?: Signature;
1934
+ /**
1935
+ * @generated from field: thru.common.v1.VersionContext version_context = 2;
1936
+ */
1937
+ versionContext?: VersionContext;
1938
+ /**
1939
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 3;
1940
+ */
1941
+ minConsensus?: ConsensusStatus;
1942
+ };
1943
+ /**
1944
+ * Describes the message thru.services.v1.GetRawTransactionRequest.
1945
+ * Use `create(GetRawTransactionRequestSchema)` to create a new message.
1946
+ */
1947
+ declare const GetRawTransactionRequestSchema: GenMessage<GetRawTransactionRequest>;
1948
+ /**
1949
+ * GenerateStateProofRequest requests an account state proof.
1950
+ *
1951
+ * @generated from message thru.services.v1.GenerateStateProofRequest
1952
+ */
1953
+ type GenerateStateProofRequest = Message<"thru.services.v1.GenerateStateProofRequest"> & {
1954
+ /**
1955
+ * @generated from field: thru.core.v1.StateProofRequest request = 1;
1956
+ */
1957
+ request?: StateProofRequest;
1958
+ };
1959
+ /**
1960
+ * Describes the message thru.services.v1.GenerateStateProofRequest.
1961
+ * Use `create(GenerateStateProofRequestSchema)` to create a new message.
1962
+ */
1963
+ declare const GenerateStateProofRequestSchema: GenMessage<GenerateStateProofRequest>;
1964
+ /**
1965
+ * GenerateStateProofResponse contains the generated proof.
1966
+ *
1967
+ * @generated from message thru.services.v1.GenerateStateProofResponse
1968
+ */
1969
+ type GenerateStateProofResponse = Message<"thru.services.v1.GenerateStateProofResponse"> & {
1970
+ /**
1971
+ * @generated from field: thru.core.v1.StateProof proof = 1;
1972
+ */
1973
+ proof?: StateProof;
1974
+ };
1975
+ /**
1976
+ * Describes the message thru.services.v1.GenerateStateProofResponse.
1977
+ * Use `create(GenerateStateProofResponseSchema)` to create a new message.
1978
+ */
1979
+ declare const GenerateStateProofResponseSchema: GenMessage<GenerateStateProofResponse>;
1980
+ /**
1981
+ * GetBlockRequest retrieves decoded block information by slot or hash.
1982
+ *
1983
+ * @generated from message thru.services.v1.GetBlockRequest
1984
+ */
1985
+ type GetBlockRequest = Message<"thru.services.v1.GetBlockRequest"> & {
1986
+ /**
1987
+ * @generated from oneof thru.services.v1.GetBlockRequest.selector
1988
+ */
1989
+ selector: {
1990
+ /**
1991
+ * @generated from field: uint64 slot = 1;
1992
+ */
1993
+ value: bigint;
1994
+ case: "slot";
1995
+ } | {
1996
+ /**
1997
+ * @generated from field: thru.core.v1.BlockHash block_hash = 2;
1998
+ */
1999
+ value: BlockHash;
2000
+ case: "blockHash";
2001
+ } | {
2002
+ case: undefined;
2003
+ value?: undefined;
2004
+ };
2005
+ /**
2006
+ * @generated from field: optional thru.core.v1.BlockView view = 3;
2007
+ */
2008
+ view?: BlockView;
2009
+ /**
2010
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
2011
+ */
2012
+ minConsensus?: ConsensusStatus;
2013
+ };
2014
+ /**
2015
+ * Describes the message thru.services.v1.GetBlockRequest.
2016
+ * Use `create(GetBlockRequestSchema)` to create a new message.
2017
+ */
2018
+ declare const GetBlockRequestSchema: GenMessage<GetBlockRequest>;
2019
+ /**
2020
+ * GetRawBlockRequest retrieves raw block bytes by slot or hash.
2021
+ *
2022
+ * @generated from message thru.services.v1.GetRawBlockRequest
2023
+ */
2024
+ type GetRawBlockRequest = Message<"thru.services.v1.GetRawBlockRequest"> & {
2025
+ /**
2026
+ * @generated from oneof thru.services.v1.GetRawBlockRequest.selector
2027
+ */
2028
+ selector: {
2029
+ /**
2030
+ * @generated from field: uint64 slot = 1;
2031
+ */
2032
+ value: bigint;
2033
+ case: "slot";
2034
+ } | {
2035
+ /**
2036
+ * @generated from field: thru.core.v1.BlockHash block_hash = 2;
2037
+ */
2038
+ value: BlockHash;
2039
+ case: "blockHash";
2040
+ } | {
2041
+ case: undefined;
2042
+ value?: undefined;
2043
+ };
2044
+ /**
2045
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 3;
2046
+ */
2047
+ minConsensus?: ConsensusStatus;
2048
+ };
2049
+ /**
2050
+ * Describes the message thru.services.v1.GetRawBlockRequest.
2051
+ * Use `create(GetRawBlockRequestSchema)` to create a new message.
2052
+ */
2053
+ declare const GetRawBlockRequestSchema: GenMessage<GetRawBlockRequest>;
2054
+ /**
2055
+ * ListAccountsRequest lists accounts using CEL filters.
2056
+ *
2057
+ * The filter expression supports filtering on account metadata fields using CEL (Common Expression Language).
2058
+ * A filter expression is REQUIRED for all ListAccounts requests.
2059
+ *
2060
+ * Available fields for filtering:
2061
+ * - account.address.value (bytes): The account's public key address
2062
+ * - account.meta.owner.value (bytes): The account owner's public key
2063
+ * - account.meta.balance (uint64): Account balance in native units
2064
+ * - account.meta.seq (uint64): Account sequence number / state counter
2065
+ * - account.meta.nonce (uint64): Account transaction nonce
2066
+ * - account.meta.data_size (uint32): Size of account data in bytes
2067
+ * - account.meta.version (uint32): Account version number
2068
+ * - account.meta.flags (AccountFlags): Account capability flags (message type)
2069
+ * - account.meta.flags.is_program (bool): Flag indicating if account is a program
2070
+ * - account.meta.flags.is_privileged (bool): Flag indicating if account is privileged
2071
+ * - account.meta.flags.is_uncompressable (bool): Flag indicating if account data cannot be compressed
2072
+ * - account.meta.flags.is_ephemeral (bool): Flag indicating if account is ephemeral
2073
+ * - account.meta.flags.is_deleted (bool): Flag indicating if account is deleted
2074
+ * - account.meta.flags.is_new (bool): Flag indicating if account is new
2075
+ * - account.meta.flags.is_compressed (bool): Flag indicating if account data is compressed
2076
+ * - account.meta.last_updated_slot (uint64): Slot when account was last modified
2077
+ *
2078
+ * Available CEL functions:
2079
+ * - has(field): Check if optional field exists
2080
+ * - uint(value): Convert to uint type
2081
+ * - int(value): Convert to int type
2082
+ * - string(value): Convert to string type
2083
+ * - bytes(value): Convert to bytes type
2084
+ *
2085
+ * Available filter parameters (accessible via params.* in expressions):
2086
+ * - params.owner_bytes (bytes): Owner public key for owner filtering (REQUIRED when filtering by owner)
2087
+ * - params.prefix (bytes): Byte prefix for range-based filtering
2088
+ * - params.tag (any): Custom tag parameter
2089
+ * - params.min_slot (uint64): Minimum slot parameter
2090
+ * - params.min_updated_slot (uint64): Minimum last_updated_slot for filtering
2091
+ *
2092
+ * Filter examples:
2093
+ *
2094
+ * 1. Filter by balance:
2095
+ * filter.expression = "account.meta.balance > uint(1000000)"
2096
+ *
2097
+ * 2. Filter by balance range:
2098
+ * filter.expression = "account.meta.balance >= uint(100) && account.meta.balance <= uint(10000)"
2099
+ *
2100
+ * 3. Filter by owner (requires params.owner_bytes):
2101
+ * filter.expression = "account.meta.owner.value == params.owner_bytes"
2102
+ * filter.params["owner_bytes"].bytes_value = <32-byte owner pubkey>
2103
+ *
2104
+ * 4. Filter by data size:
2105
+ * filter.expression = "account.meta.data_size > uint(0)"
2106
+ * filter.expression = "account.meta.data_size >= uint(100) && account.meta.data_size <= uint(1000)"
2107
+ *
2108
+ * 5. Filter by nonce:
2109
+ * filter.expression = "account.meta.nonce == uint(0)"
2110
+ *
2111
+ * 6. Filter by sequence number:
2112
+ * filter.expression = "account.meta.seq >= uint(100)"
2113
+ *
2114
+ * 7. Filter by version:
2115
+ * filter.expression = "account.meta.version == uint(1)"
2116
+ *
2117
+ * 8. Filter by specific address (using inline bytes literal with octal escaping):
2118
+ * filter.expression = "account.address.value == b'\001\002\003...'"
2119
+ * Note: Binary bytes must be properly escaped using octal notation (\NNN) for non-printable bytes
2120
+ *
2121
+ * 9. Filter by address prefix (using range comparison):
2122
+ * filter.expression = "account.address.value >= b'\001\002\003\004' && account.address.value <= b'\001\002\003\004\377\377...'"
2123
+ * Note: Create upper bound by appending 0xff bytes after prefix
2124
+ *
2125
+ * 10. Combine multiple conditions with AND:
2126
+ * filter.expression = "account.meta.balance > uint(0) && account.meta.data_size == uint(0)"
2127
+ *
2128
+ * 11. Combine multiple conditions with OR:
2129
+ * filter.expression = "account.meta.balance == uint(0) || account.meta.balance > uint(50000)"
2130
+ *
2131
+ * 12. Complex combined filters:
2132
+ * filter.expression = "(account.meta.balance > uint(100) && account.meta.balance < uint(10000)) || account.meta.data_size > uint(1000)"
2133
+ *
2134
+ * 13. Check for optional field existence:
2135
+ * filter.expression = "has(account.address.value)"
2136
+ * filter.expression = "has(account.meta.owner.value)" // Requires params.owner_bytes
2137
+ *
2138
+ * 14. Use inequality operators:
2139
+ * filter.expression = "account.meta.balance < uint(5000)"
2140
+ * filter.expression = "account.meta.balance <= uint(5000)"
2141
+ * filter.expression = "account.meta.balance >= uint(100)"
2142
+ * filter.expression = "account.meta.balance != uint(999)"
2143
+ *
2144
+ * 15. Type conversions:
2145
+ * filter.expression = "account.meta.balance == uint(100)"
2146
+ * filter.expression = "uint(account.meta.data_size) > uint(0)"
2147
+ *
2148
+ * 16. Filter by account flags (individual flag fields):
2149
+ * filter.expression = "account.meta.flags.is_program == true"
2150
+ * filter.expression = "account.meta.flags.is_privileged == true"
2151
+ * filter.expression = "account.meta.flags.is_uncompressable == true"
2152
+ * filter.expression = "account.meta.flags.is_ephemeral == true"
2153
+ * filter.expression = "account.meta.flags.is_deleted == true"
2154
+ * filter.expression = "account.meta.flags.is_new == true"
2155
+ * filter.expression = "account.meta.flags.is_compressed == true"
2156
+ *
2157
+ * 17. Combine flag filters with other conditions:
2158
+ * filter.expression = "account.meta.flags.is_program == true && account.meta.balance > uint(0)"
2159
+ *
2160
+ * 18. Filter by last_updated_slot:
2161
+ * filter.expression = "account.meta.last_updated_slot >= uint(1000)"
2162
+ *
2163
+ * 19. Filter by last_updated_slot with params:
2164
+ * filter.expression = "account.meta.last_updated_slot >= params.min_updated_slot"
2165
+ * filter.params["min_updated_slot"].uint_value = 1000
2166
+ *
2167
+ * Limitations:
2168
+ * - The startsWith() function only works with strings, not bytes
2169
+ * - The bytesPrefix() function is NOT available for ListAccounts (use range comparison instead)
2170
+ * - Parameter names other than owner_bytes, prefix, tag, min_slot, min_updated_slot are NOT permitted
2171
+ * - All filters are pushed down to SQL for optimal performance where possible
2172
+ *
2173
+ * @generated from message thru.services.v1.ListAccountsRequest
2174
+ */
2175
+ type ListAccountsRequest = Message<"thru.services.v1.ListAccountsRequest"> & {
2176
+ /**
2177
+ * @generated from field: optional thru.core.v1.AccountView view = 1;
2178
+ */
2179
+ view?: AccountView;
2180
+ /**
2181
+ * @generated from field: optional thru.common.v1.VersionContext version_context = 2;
2182
+ */
2183
+ versionContext?: VersionContext;
2184
+ /**
2185
+ * CEL filter expression (REQUIRED). See message documentation for examples.
2186
+ *
2187
+ * @generated from field: optional thru.common.v1.Filter filter = 3;
2188
+ */
2189
+ filter?: Filter;
2190
+ /**
2191
+ * @generated from field: optional thru.common.v1.PageRequest page = 4;
2192
+ */
2193
+ page?: PageRequest;
2194
+ /**
2195
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 5;
2196
+ */
2197
+ minConsensus?: ConsensusStatus;
2198
+ };
2199
+ /**
2200
+ * Describes the message thru.services.v1.ListAccountsRequest.
2201
+ * Use `create(ListAccountsRequestSchema)` to create a new message.
2202
+ */
2203
+ declare const ListAccountsRequestSchema: GenMessage<ListAccountsRequest>;
2204
+ /**
2205
+ * ListAccountsResponse contains paginated accounts.
2206
+ *
2207
+ * @generated from message thru.services.v1.ListAccountsResponse
2208
+ */
2209
+ type ListAccountsResponse = Message<"thru.services.v1.ListAccountsResponse"> & {
2210
+ /**
2211
+ * @generated from field: repeated thru.core.v1.Account accounts = 1;
2212
+ */
2213
+ accounts: Account[];
2214
+ /**
2215
+ * @generated from field: optional thru.common.v1.PageResponse page = 2;
2216
+ */
2217
+ page?: PageResponse;
2218
+ };
2219
+ /**
2220
+ * Describes the message thru.services.v1.ListAccountsResponse.
2221
+ * Use `create(ListAccountsResponseSchema)` to create a new message.
2222
+ */
2223
+ declare const ListAccountsResponseSchema: GenMessage<ListAccountsResponse>;
2224
+ /**
2225
+ * ListBlocksRequest lists blocks with pagination and filtering.
2226
+ *
2227
+ * Returns blocks ordered from latest slot to earliest (slot DESC) by default.
2228
+ * Supports filtering on block header and footer fields using CEL expressions.
2229
+ *
2230
+ * Available fields for filtering:
2231
+ *
2232
+ * Header fields:
2233
+ * - block.header.slot (uint64): Block slot number
2234
+ * - block.header.version (uint32): Block version number
2235
+ * - block.header.start_slot (uint64): Start slot for block production
2236
+ * - block.header.producer.value (bytes): Block producer's public key
2237
+ * - block.header.expiry_after (uint32): Expiry duration in slots
2238
+ * - block.header.expiry_timestamp (google.protobuf.Timestamp): Expiry timestamp
2239
+ * - block.header.max_block_size (uint32): Maximum block size in bytes
2240
+ * - block.header.max_compute_units (uint64): Maximum compute units allowed
2241
+ * - block.header.max_state_units (uint32): Maximum state units allowed
2242
+ * - block.header.bond_amount_lock_up (uint64): Bond amount lock-up for block production
2243
+ * - block.header.price (uint64): Block production price
2244
+ * - block.header.block_hash.value (bytes): Block hash
2245
+ * - block.header.header_signature.value (bytes): Header signature
2246
+ * - block.header.block_time (google.protobuf.Timestamp): Block timestamp
2247
+ *
2248
+ * Footer fields:
2249
+ * - block.footer.signature.value (bytes): Block signature
2250
+ * - block.footer.status (int32): Block execution status (2 = EXECUTION_STATUS_EXECUTED)
2251
+ * - block.footer.consumed_compute_units (uint64): Total compute units consumed by all transactions
2252
+ * - block.footer.consumed_state_units (uint32): Total state units consumed by all transactions
2253
+ * - block.footer.attestor_payment (uint64): Payment to attestors for block validation
2254
+ *
2255
+ * Consensus status:
2256
+ * - block.consensus_status (int32): Consensus status (always CONSENSUS_STATUS_INCLUDED for persisted blocks)
2257
+ *
2258
+ * Available CEL functions:
2259
+ * - has(field): Check if optional field exists
2260
+ * - uint(value): Convert to uint type
2261
+ * - int(value): Convert to int type
2262
+ * - bytes(value): Convert to bytes type
2263
+ * - timestamp(value): Convert to timestamp type
2264
+ * - duration(value): Convert to duration type
2265
+ *
2266
+ * Available filter parameters (accessible via params.* in expressions):
2267
+ * - params.slot (uint64): Slot number for filtering
2268
+ * - params.u64 (uint64): Generic uint64 parameter
2269
+ * - params.producer (bytes): Producer public key for filtering
2270
+ *
2271
+ * Filter examples:
2272
+ *
2273
+ * 1. Filter by specific slot:
2274
+ * filter.expression = "block.header.slot == uint(1234)"
2275
+ *
2276
+ * 2. Filter by slot range:
2277
+ * filter.expression = "block.header.slot >= uint(1000) && block.header.slot <= uint(2000)"
2278
+ *
2279
+ * 3. Filter by slot using parameter:
2280
+ * filter.expression = "block.header.slot == params.slot"
2281
+ * filter.params["slot"].uint_value = 1234
2282
+ *
2283
+ * 4. Filter by block version:
2284
+ * filter.expression = "block.header.version == uint(1)"
2285
+ *
2286
+ * 5. Filter by producer (using parameter):
2287
+ * filter.expression = "block.header.producer.value == params.producer"
2288
+ * filter.params["producer"].bytes_value = <32-byte producer pubkey>
2289
+ *
2290
+ * 6. Filter by max compute units:
2291
+ * filter.expression = "block.header.max_compute_units > uint(1000000)"
2292
+ * filter.expression = "block.header.max_compute_units >= uint(0) && block.header.max_compute_units <= uint(10000000)"
2293
+ *
2294
+ * 7. Filter by max state units:
2295
+ * filter.expression = "block.header.max_state_units > uint(0)"
2296
+ *
2297
+ * 8. Filter by price:
2298
+ * filter.expression = "block.header.price >= uint(0)"
2299
+ * filter.expression = "block.header.price > uint(1000)"
2300
+ *
2301
+ * 9. Filter by start_slot:
2302
+ * filter.expression = "block.header.start_slot <= uint(5000)"
2303
+ *
2304
+ * 10. Filter by expiry_after:
2305
+ * filter.expression = "block.header.expiry_after > uint(0)"
2306
+ *
2307
+ * 11. Filter by max_block_size:
2308
+ * filter.expression = "block.header.max_block_size >= uint(1000000)"
2309
+ *
2310
+ * 12. Filter by execution status:
2311
+ * filter.expression = "block.footer.status == int(2)" // EXECUTION_STATUS_EXECUTED
2312
+ *
2313
+ * 13. Filter by consumed compute units:
2314
+ * filter.expression = "block.footer.consumed_compute_units > uint(0)"
2315
+ * filter.expression = "block.footer.consumed_compute_units >= uint(100) && block.footer.consumed_compute_units <= uint(1000000)"
2316
+ *
2317
+ * 14. Filter by consumed state units:
2318
+ * filter.expression = "block.footer.consumed_state_units >= uint(0)"
2319
+ * filter.expression = "block.footer.consumed_state_units > uint(10)"
2320
+ *
2321
+ * 15. Check for footer signature existence:
2322
+ * filter.expression = "has(block.footer.signature)"
2323
+ *
2324
+ * 16. Check for footer existence:
2325
+ * filter.expression = "has(block.footer)"
2326
+ *
2327
+ * 17. Check for producer existence:
2328
+ * filter.expression = "has(block.header.producer)"
2329
+ *
2330
+ * 18. Check for block hash existence:
2331
+ * filter.expression = "has(block.header.block_hash)"
2332
+ *
2333
+ * 19. Check for header signature existence:
2334
+ * filter.expression = "has(block.header.header_signature)"
2335
+ *
2336
+ * 20. Check for expiry timestamp existence:
2337
+ * filter.expression = "has(block.header.expiry_timestamp)"
2338
+ *
2339
+ * 21. Check for block time existence:
2340
+ * filter.expression = "has(block.header.block_time)"
2341
+ *
2342
+ * 22. Combine multiple header conditions with AND:
2343
+ * filter.expression = "block.header.slot >= uint(1000) && block.header.max_compute_units > uint(1000000)"
2344
+ *
2345
+ * 23. Combine multiple footer conditions with AND:
2346
+ * filter.expression = "block.footer.consumed_compute_units > uint(0) && block.footer.consumed_state_units > uint(0)"
2347
+ *
2348
+ * 24. Combine header and footer conditions:
2349
+ * filter.expression = "block.header.slot >= uint(1000) && block.footer.consumed_compute_units > uint(100000)"
2350
+ *
2351
+ * 25. Combine multiple conditions with OR:
2352
+ * filter.expression = "block.header.slot == uint(100) || block.header.slot == uint(200)"
2353
+ * filter.expression = "block.footer.consumed_compute_units > uint(1000000) || block.footer.consumed_state_units > uint(10000)"
2354
+ *
2355
+ * 26. Complex combined filters:
2356
+ * filter.expression = "(block.header.slot >= uint(1000) && block.header.slot <= uint(2000)) || block.footer.consumed_compute_units > uint(5000000)"
2357
+ *
2358
+ * 27. Use inequality operators:
2359
+ * filter.expression = "block.header.max_compute_units < uint(10000000)"
2360
+ * filter.expression = "block.header.max_compute_units <= uint(10000000)"
2361
+ * filter.expression = "block.header.price >= uint(100)"
2362
+ * filter.expression = "block.footer.consumed_compute_units != uint(0)"
2363
+ *
2364
+ * 28. Combine has() with value checks:
2365
+ * filter.expression = "has(block.header.producer) && block.header.producer.value == params.producer"
2366
+ * filter.params["producer"].bytes_value = <32-byte producer pubkey>
2367
+ *
2368
+ * 29. Filter by multiple resource limits:
2369
+ * filter.expression = "block.header.max_compute_units > uint(1000000) && block.header.max_state_units > uint(1000) && block.header.max_block_size > uint(1000000)"
2370
+ *
2371
+ * 30. Filter blocks with high resource consumption:
2372
+ * filter.expression = "block.footer.consumed_compute_units > uint(block.header.max_compute_units / 2)"
2373
+ *
2374
+ * Note: All filters are pushed down to SQL for optimal performance where possible.
2375
+ * When SQL pushdown is not possible, filters are evaluated in-memory on fetched results.
2376
+ *
2377
+ * @generated from message thru.services.v1.ListBlocksRequest
2378
+ */
2379
+ type ListBlocksRequest = Message<"thru.services.v1.ListBlocksRequest"> & {
2380
+ /**
2381
+ * CEL filter expression (OPTIONAL). See message documentation for examples.
2382
+ *
2383
+ * @generated from field: optional thru.common.v1.Filter filter = 1;
2384
+ */
2385
+ filter?: Filter;
2386
+ /**
2387
+ * @generated from field: optional thru.common.v1.PageRequest page = 2;
2388
+ */
2389
+ page?: PageRequest;
2390
+ /**
2391
+ * @generated from field: optional thru.core.v1.BlockView view = 3;
2392
+ */
2393
+ view?: BlockView;
2394
+ /**
2395
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
2396
+ */
2397
+ minConsensus?: ConsensusStatus;
2398
+ };
2399
+ /**
2400
+ * Describes the message thru.services.v1.ListBlocksRequest.
2401
+ * Use `create(ListBlocksRequestSchema)` to create a new message.
2402
+ */
2403
+ declare const ListBlocksRequestSchema: GenMessage<ListBlocksRequest>;
2404
+ /**
2405
+ * ListBlocksResponse returns a page of blocks.
2406
+ *
2407
+ * @generated from message thru.services.v1.ListBlocksResponse
2408
+ */
2409
+ type ListBlocksResponse = Message<"thru.services.v1.ListBlocksResponse"> & {
2410
+ /**
2411
+ * @generated from field: repeated thru.core.v1.Block blocks = 1;
2412
+ */
2413
+ blocks: Block[];
2414
+ /**
2415
+ * @generated from field: optional thru.common.v1.PageResponse page = 2;
2416
+ */
2417
+ page?: PageResponse;
2418
+ };
2419
+ /**
2420
+ * Describes the message thru.services.v1.ListBlocksResponse.
2421
+ * Use `create(ListBlocksResponseSchema)` to create a new message.
2422
+ */
2423
+ declare const ListBlocksResponseSchema: GenMessage<ListBlocksResponse>;
2424
+ /**
2425
+ * ListTransactionsForAccountRequest lists transactions involving a specific account.
2426
+ *
2427
+ * This RPC returns all transactions where the specified account appears in any
2428
+ * capacity (fee payer, signer, or affected account). Results can be filtered
2429
+ * using CEL expressions on transaction properties.
2430
+ *
2431
+ * ## Available Filter Fields
2432
+ *
2433
+ * - `transaction.slot` (uint64): Block slot number
2434
+ * - `transaction.block_offset` (uint32): Position within block
2435
+ * - `transaction.signature.value` (bytes): Transaction signature
2436
+ *
2437
+ * Header fields (in-memory evaluation only, not SQL pushdown):
2438
+ * - `transaction.header.version` (uint32): Transaction format version
2439
+ * - `transaction.header.fee` (uint64): Transaction fee
2440
+ * - `transaction.header.nonce` (uint64): Sender account nonce
2441
+ * - `transaction.header.start_slot` (uint64): Earliest slot for execution
2442
+ * - `transaction.header.expiry_after` (uint32): Expiry duration in slots
2443
+ * - `transaction.header.requested_compute_units` (uint64): Requested compute units
2444
+ * - `transaction.header.requested_memory_units` (uint32): Requested memory units
2445
+ * - `transaction.header.requested_state_units` (uint32): Requested state units
2446
+ * - `transaction.header.fee_payer_pubkey.value` (bytes): Fee payer public key
2447
+ * - `transaction.header.program_pubkey.value` (bytes): Program public key
2448
+ * - `transaction.header.fee_payer_signature.value` (bytes): Fee payer signature
2449
+ *
2450
+ * Execution result fields:
2451
+ * - `transaction.execution_result.vm_error` (TransactionVmError enum): VM execution status (0 = success)
2452
+ * - `transaction.execution_result.user_error_code` (uint64): User-defined error code
2453
+ * - `transaction.execution_result.execution_result` (uint64): Alias for user_error_code
2454
+ * - `transaction.execution_result.consumed_compute_units` (uint64): Compute units used
2455
+ * - `transaction.execution_result.consumed_memory_units` (uint32): Memory units used
2456
+ * - `transaction.execution_result.consumed_state_units` (uint32): State units used
2457
+ * - `transaction.execution_result.events_count` (uint32): Number of events emitted
2458
+ * - `transaction.execution_result.events_size` (uint32): Total size of event data in bytes
2459
+ *
2460
+ * ## Filter Examples
2461
+ *
2462
+ * ### Filter by slot
2463
+ * ```
2464
+ * filter {
2465
+ * expression: "transaction.slot == params.slot"
2466
+ * params {
2467
+ * key: "slot"
2468
+ * value { int_value: 12345 }
2469
+ * }
2470
+ * }
2471
+ * ```
2472
+ *
2473
+ * ### Filter by block offset
2474
+ * ```
2475
+ * filter {
2476
+ * expression: "transaction.block_offset == uint(5)"
2477
+ * }
2478
+ * ```
2479
+ *
2480
+ * ### Filter by compute units (high usage)
2481
+ * ```
2482
+ * filter {
2483
+ * expression: "transaction.execution_result.consumed_compute_units >= uint(1000000)"
2484
+ * }
2485
+ * ```
2486
+ *
2487
+ * ### Filter by memory units
2488
+ * ```
2489
+ * filter {
2490
+ * expression: "transaction.execution_result.consumed_memory_units > uint(0)"
2491
+ * }
2492
+ * ```
2493
+ *
2494
+ * ### Filter by state units
2495
+ * ```
2496
+ * filter {
2497
+ * expression: "transaction.execution_result.consumed_state_units > uint(0)"
2498
+ * }
2499
+ * ```
2500
+ *
2501
+ * ### Filter successful transactions (by error code)
2502
+ * ```
2503
+ * filter {
2504
+ * expression: "transaction.execution_result.user_error_code == uint(0)"
2505
+ * }
2506
+ * ```
2507
+ *
2508
+ * ### Filter by VM execution status
2509
+ * ```
2510
+ * filter {
2511
+ * expression: "transaction.execution_result.vm_error == int(0)"
2512
+ * }
2513
+ * ```
2514
+ *
2515
+ * ### Filter transactions with events
2516
+ * ```
2517
+ * filter {
2518
+ * expression: "transaction.execution_result.events_count > uint(0)"
2519
+ * }
2520
+ * ```
2521
+ *
2522
+ * ### Filter by event data size
2523
+ * ```
2524
+ * filter {
2525
+ * expression: "transaction.execution_result.events_size > uint(0)"
2526
+ * }
2527
+ * ```
2528
+ *
2529
+ * ### Check for optional fields using has()
2530
+ * ```
2531
+ * filter {
2532
+ * expression: "has(transaction.execution_result)"
2533
+ * }
2534
+ * ```
2535
+ *
2536
+ * ### Combined filters with AND/OR
2537
+ * ```
2538
+ * filter {
2539
+ * expression: "transaction.execution_result.consumed_compute_units >= uint(1000000) && transaction.execution_result.user_error_code == uint(0)"
2540
+ * }
2541
+ * ```
2542
+ *
2543
+ * ### Using params for dynamic values
2544
+ * ```
2545
+ * filter {
2546
+ * expression: "transaction.execution_result.consumed_compute_units >= params.u64"
2547
+ * params {
2548
+ * key: "u64"
2549
+ * value { int_value: 500000 }
2550
+ * }
2551
+ * }
2552
+ * ```
2553
+ *
2554
+ * ## Available Functions
2555
+ *
2556
+ * - `has(field)`: Check if optional field is present
2557
+ * - `uint(value)`: Convert to unsigned integer
2558
+ * - `int(value)`: Convert to signed integer
2559
+ * - `string(value)`: Convert to string type
2560
+ * - `bytes(value)`: Convert to bytes type
2561
+ *
2562
+ * ## Available Filter Parameters
2563
+ *
2564
+ * - `params.slot` (uint64): Slot number for filtering
2565
+ * - `params.u64` (uint64): Generic uint64 parameter
2566
+ * - `params.pubkey` (Pubkey): Public key parameter for filtering
2567
+ *
2568
+ * ## Performance Notes
2569
+ *
2570
+ * Filters on `transaction.slot`, `transaction.block_offset`, and
2571
+ * `transaction.execution_result.*` fields are optimized with SQL pushdown
2572
+ * for better performance. Complex expressions may fall back to in-memory evaluation.
2573
+ *
2574
+ * @generated from message thru.services.v1.ListTransactionsForAccountRequest
2575
+ */
2576
+ type ListTransactionsForAccountRequest = Message<"thru.services.v1.ListTransactionsForAccountRequest"> & {
2577
+ /**
2578
+ * @generated from field: thru.common.v1.Pubkey account = 1;
2579
+ */
2580
+ account?: Pubkey;
2581
+ /**
2582
+ * @generated from field: optional thru.common.v1.PageRequest page = 2;
2583
+ */
2584
+ page?: PageRequest;
2585
+ /**
2586
+ * Optional CEL filter applied after the account constraint.
2587
+ *
2588
+ * @generated from field: optional thru.common.v1.Filter filter = 3;
2589
+ */
2590
+ filter?: Filter;
2591
+ };
2592
+ /**
2593
+ * Describes the message thru.services.v1.ListTransactionsForAccountRequest.
2594
+ * Use `create(ListTransactionsForAccountRequestSchema)` to create a new message.
2595
+ */
2596
+ declare const ListTransactionsForAccountRequestSchema: GenMessage<ListTransactionsForAccountRequest>;
2597
+ /**
2598
+ * ListTransactionsForAccountResponse contains transaction data.
2599
+ *
2600
+ *
2601
+ * @generated from message thru.services.v1.ListTransactionsForAccountResponse
2602
+ */
2603
+ type ListTransactionsForAccountResponse = Message<"thru.services.v1.ListTransactionsForAccountResponse"> & {
2604
+ /**
2605
+ * @generated from field: optional thru.common.v1.PageResponse page = 1;
2606
+ */
2607
+ page?: PageResponse;
2608
+ /**
2609
+ * @generated from field: repeated thru.core.v1.Transaction transactions = 2;
2610
+ */
2611
+ transactions: Transaction[];
2612
+ };
2613
+ /**
2614
+ * Describes the message thru.services.v1.ListTransactionsForAccountResponse.
2615
+ * Use `create(ListTransactionsForAccountResponseSchema)` to create a new message.
2616
+ */
2617
+ declare const ListTransactionsForAccountResponseSchema: GenMessage<ListTransactionsForAccountResponse>;
2618
+ /**
2619
+ * GetVersionRequest fetches component version strings.
2620
+ *
2621
+ * @generated from message thru.services.v1.GetVersionRequest
2622
+ */
2623
+ type GetVersionRequest = Message<"thru.services.v1.GetVersionRequest"> & {};
2624
+ /**
2625
+ * Describes the message thru.services.v1.GetVersionRequest.
2626
+ * Use `create(GetVersionRequestSchema)` to create a new message.
2627
+ */
2628
+ declare const GetVersionRequestSchema: GenMessage<GetVersionRequest>;
2629
+ /**
2630
+ * GetVersionResponse returns version information per component.
2631
+ *
2632
+ * @generated from message thru.services.v1.GetVersionResponse
2633
+ */
2634
+ type GetVersionResponse = Message<"thru.services.v1.GetVersionResponse"> & {
2635
+ /**
2636
+ * @generated from field: map<string, string> versions = 1;
2637
+ */
2638
+ versions: {
2639
+ [key: string]: string;
2640
+ };
2641
+ };
2642
+ /**
2643
+ * Describes the message thru.services.v1.GetVersionResponse.
2644
+ * Use `create(GetVersionResponseSchema)` to create a new message.
2645
+ */
2646
+ declare const GetVersionResponseSchema: GenMessage<GetVersionResponse>;
2647
+ /**
2648
+ * GetEventRequest fetches an event by identifier.
2649
+ *
2650
+ * @generated from message thru.services.v1.GetEventRequest
2651
+ */
2652
+ type GetEventRequest = Message<"thru.services.v1.GetEventRequest"> & {
2653
+ /**
2654
+ * @generated from field: string event_id = 1;
2655
+ */
2656
+ eventId: string;
2657
+ /**
2658
+ * @generated from field: optional thru.common.v1.VersionContext version_context = 2;
2659
+ */
2660
+ versionContext?: VersionContext;
2661
+ };
2662
+ /**
2663
+ * Describes the message thru.services.v1.GetEventRequest.
2664
+ * Use `create(GetEventRequestSchema)` to create a new message.
2665
+ */
2666
+ declare const GetEventRequestSchema: GenMessage<GetEventRequest>;
2667
+ /**
2668
+ * Event represents a transaction event emitted by the chain.
2669
+ *
2670
+ * @generated from message thru.services.v1.Event
2671
+ */
2672
+ type Event = Message<"thru.services.v1.Event"> & {
2673
+ /**
2674
+ * @generated from field: string event_id = 1;
2675
+ */
2676
+ eventId: string;
2677
+ /**
2678
+ * @generated from field: thru.common.v1.Signature transaction_signature = 2;
2679
+ */
2680
+ transactionSignature?: Signature;
2681
+ /**
2682
+ * @generated from field: optional thru.common.v1.Pubkey program = 3;
2683
+ */
2684
+ program?: Pubkey;
2685
+ /**
2686
+ * @generated from field: optional bytes payload = 4;
2687
+ */
2688
+ payload?: Uint8Array;
2689
+ /**
2690
+ * @generated from field: optional uint64 slot = 5;
2691
+ */
2692
+ slot?: bigint;
2693
+ /**
2694
+ * @generated from field: optional uint32 call_idx = 6;
2695
+ */
2696
+ callIdx?: number;
2697
+ /**
2698
+ * @generated from field: optional uint32 program_idx = 7;
2699
+ */
2700
+ programIdx?: number;
2701
+ /**
2702
+ * @generated from field: optional uint32 payload_size = 8;
2703
+ */
2704
+ payloadSize?: number;
2705
+ /**
2706
+ * @generated from field: optional uint32 block_offset = 9;
2707
+ */
2708
+ blockOffset?: number;
2709
+ /**
2710
+ * @generated from field: optional google.protobuf.Timestamp timestamp = 10;
2711
+ */
2712
+ timestamp?: Timestamp;
2713
+ /**
2714
+ * @generated from field: optional thru.common.v1.Pubkey fee_payer = 11;
2715
+ */
2716
+ feePayer?: Pubkey;
2717
+ };
2718
+ /**
2719
+ * Describes the message thru.services.v1.Event.
2720
+ * Use `create(EventSchema)` to create a new message.
2721
+ */
2722
+ declare const EventSchema: GenMessage<Event>;
2723
+ /**
2724
+ * ListEventsRequest lists events with CEL filtering and pagination.
2725
+ *
2726
+ * Returns events ordered from most recent to older (slot DESC, block_offset DESC, call_idx DESC).
2727
+ * Supports filtering on event metadata and payload using CEL expressions with specialized byte functions.
2728
+ *
2729
+ * Available fields for filtering:
2730
+ * - event.event_id (string): Unique event identifier (format: "ts{slot}_{block_offset}_{call_idx}")
2731
+ * - event.transaction_signature.value (bytes): Transaction signature that emitted the event
2732
+ * - event.slot (uint64): Block slot number where event was emitted
2733
+ * - event.call_idx (uint32): Instruction call index within transaction
2734
+ * - event.block_offset (uint32): Transaction's position within the block
2735
+ * - event.timestamp (google.protobuf.Timestamp): Event emission timestamp
2736
+ * - event.program.value (bytes): Program public key that emitted the event
2737
+ * - event.program_idx (uint32): Program index within transaction
2738
+ * - event.payload (bytes): Event payload data
2739
+ * - event.payload_size (uint32): Size of event payload in bytes
2740
+ * - event.fee_payer.value (bytes): Fee payer's public key for the transaction
2741
+ *
2742
+ * Available CEL functions:
2743
+ * - has(field): Check if optional field exists
2744
+ * - startsWith(string, prefix): Check if string starts with prefix (string fields only)
2745
+ * - first1Byte(bytes): Extract first byte as uint8
2746
+ * - first4Bytes(bytes): Extract first 4 bytes as uint32 (little-endian)
2747
+ * - first8Bytes(bytes): Extract first 8 bytes as uint64 (little-endian)
2748
+ * - bytesPrefix(bytes, prefix): Check if bytes start with prefix
2749
+ * - uint(value): Convert to uint type
2750
+ * - int(value): Convert to int type
2751
+ * - string(value): Convert to string type
2752
+ * - bytes(value): Convert to bytes type
2753
+ * - double(value): Convert to double type
2754
+ * - timestamp(value): Convert to timestamp type
2755
+ * - duration(value): Convert to duration type
2756
+ *
2757
+ * Available filter parameters (accessible via params.* in expressions):
2758
+ * - params.slot (uint64): Slot number for filtering
2759
+ * - params.u64 (uint64): Generic uint64 parameter for payload matching
2760
+ * - params.signature (Signature): Transaction signature for filtering
2761
+ * - params.signature.value (bytes): Transaction signature bytes for filtering
2762
+ * - params.address (Pubkey): Program address for filtering
2763
+ * - params.address.value (bytes): Program address bytes for filtering
2764
+ * - params.prefix (bytes): Byte prefix for payload filtering
2765
+ * - params.timestamp (Timestamp): Timestamp parameter for filtering
2766
+ *
2767
+ * Filter examples:
2768
+ *
2769
+ * 1. Filter by slot:
2770
+ * filter.expression = "event.slot > uint(1000)"
2771
+ * filter.expression = "event.slot >= uint(100) && event.slot <= uint(200)"
2772
+ *
2773
+ * 2. Filter by slot using parameter:
2774
+ * filter.expression = "event.slot >= params.slot"
2775
+ * filter.params["slot"].int_value = 1234
2776
+ *
2777
+ * 3. Filter by call index:
2778
+ * filter.expression = "event.call_idx == uint(0)" // First instruction
2779
+ * filter.expression = "event.call_idx > uint(0)" // Nested instructions
2780
+ *
2781
+ * 4. Filter by block offset:
2782
+ * filter.expression = "event.block_offset >= uint(0)"
2783
+ * filter.expression = "event.block_offset == uint(5)"
2784
+ *
2785
+ * 5. Filter by transaction signature (using parameter):
2786
+ * filter.expression = "event.transaction_signature.value == params.signature"
2787
+ * filter.params["signature"].signature_value.value = <64-byte signature>
2788
+ *
2789
+ * 6. Filter by program address (using parameter):
2790
+ * filter.expression = "has(event.program) && event.program.value == params.address"
2791
+ * filter.params["address"].pubkey_value.value = <32-byte program pubkey>
2792
+ *
2793
+ * 7. Filter by event ID prefix using startsWith:
2794
+ * filter.expression = "event.event_id.startsWith(\"ts\")"
2795
+ * filter.expression = "event.event_id.startsWith(\"ts1000_\")"
2796
+ *
2797
+ * 8. Check for payload existence:
2798
+ * filter.expression = "has(event.payload)"
2799
+ *
2800
+ * 9. Check for program existence:
2801
+ * filter.expression = "has(event.program)"
2802
+ *
2803
+ * 10. Filter by payload first byte (event type):
2804
+ * filter.expression = "has(event.payload) && first1Byte(event.payload) == uint(1)" // MESSAGE events
2805
+ * filter.expression = "has(event.payload) && first1Byte(event.payload) == uint(2)" // Other type
2806
+ *
2807
+ * 11. Filter by payload first 4 bytes (uint32 event type):
2808
+ * filter.expression = "has(event.payload) && first4Bytes(event.payload) == uint(2)" // COUNTER events
2809
+ * filter.expression = "has(event.payload) && first4Bytes(event.payload) == params.u64"
2810
+ * filter.params["u64"].int_value = 2
2811
+ *
2812
+ * 12. Filter by payload first 8 bytes (uint64 event type):
2813
+ * filter.expression = "has(event.payload) && first8Bytes(event.payload) == uint(6)" // PATTERN events
2814
+ * filter.expression = "has(event.payload) && first8Bytes(event.payload) == params.u64"
2815
+ * filter.params["u64"].int_value = 6
2816
+ *
2817
+ * 13. Filter by payload byte prefix:
2818
+ * filter.expression = "bytesPrefix(event.payload, params.prefix)"
2819
+ * filter.params["prefix"].bytes_value = <byte prefix to match>
2820
+ *
2821
+ * 14. Combine slot and call_idx filters:
2822
+ * filter.expression = "event.slot > uint(1000) && event.call_idx == uint(0)"
2823
+ *
2824
+ * 15. Combine slot, call_idx, and payload existence:
2825
+ * filter.expression = "event.slot > uint(1000) && event.call_idx == uint(0) && has(event.payload)"
2826
+ *
2827
+ * 16. Filter by program and payload type:
2828
+ * filter.expression = "has(event.program) && event.program.value == params.address && first1Byte(event.payload) == uint(1)"
2829
+ * filter.params["address"].pubkey_value.value = <32-byte program pubkey>
2830
+ *
2831
+ * 17. Filter MESSAGE events (type 1) with specific program:
2832
+ * filter.expression = "has(event.payload) && first1Byte(event.payload) == uint(1) && event.program.value == params.address"
2833
+ * filter.params["address"].pubkey_value.value = <32-byte program pubkey>
2834
+ *
2835
+ * 18. Filter COUNTER events (type 2) in slot range:
2836
+ * filter.expression = "has(event.payload) && first4Bytes(event.payload) == uint(2) && event.slot >= uint(100) && event.slot <= uint(200)"
2837
+ *
2838
+ * 19. Filter PATTERN events (type 6) with payload prefix:
2839
+ * filter.expression = "has(event.payload) && first8Bytes(event.payload) == uint(6) && bytesPrefix(event.payload, params.prefix)"
2840
+ * filter.params["prefix"].bytes_value = <pattern prefix bytes>
2841
+ *
2842
+ * 20. Complex combined filter:
2843
+ * filter.expression = "(event.slot > uint(1000) && event.call_idx == uint(0)) || first1Byte(event.payload) == uint(1)"
2844
+ *
2845
+ * 21. Filter events from specific transaction:
2846
+ * filter.expression = "event.transaction_signature.value == params.signature && has(event.payload)"
2847
+ * filter.params["signature"].signature_value.value = <64-byte signature>
2848
+ *
2849
+ * 22. Filter by multiple payload type options:
2850
+ * filter.expression = "has(event.payload) && (first1Byte(event.payload) == uint(1) || first1Byte(event.payload) == uint(2))"
2851
+ *
2852
+ * 23. Filter nested instruction events:
2853
+ * filter.expression = "event.call_idx > uint(0) && has(event.program)"
2854
+ *
2855
+ * 24. Filter first instruction events only:
2856
+ * filter.expression = "event.call_idx == uint(0)"
2857
+ *
2858
+ * 25. Filter events with payload longer than specific size (using bytesPrefix with empty prefix):
2859
+ * filter.expression = "has(event.payload)"
2860
+ *
2861
+ * 26. Combine has() checks:
2862
+ * filter.expression = "has(event.program) && has(event.payload) && has(event.timestamp)"
2863
+ *
2864
+ * 27. Use inequality operators:
2865
+ * filter.expression = "event.slot < uint(10000)"
2866
+ * filter.expression = "event.slot <= uint(10000)"
2867
+ * filter.expression = "event.call_idx >= uint(0)"
2868
+ * filter.expression = "event.block_offset != uint(0)"
2869
+ *
2870
+ * 28. Filter by timestamp (if available):
2871
+ * filter.expression = "has(event.timestamp)"
2872
+ *
2873
+ * 29. Match specific event ID pattern:
2874
+ * filter.expression = "event.event_id.startsWith(\"ts1234_0_\")"
2875
+ *
2876
+ * 30. Complex payload and metadata filter:
2877
+ * filter.expression = "event.slot >= params.slot && has(event.payload) && first8Bytes(event.payload) == params.u64 && event.program.value == params.address"
2878
+ * filter.params["slot"].int_value = 1000
2879
+ * filter.params["u64"].int_value = 6
2880
+ * filter.params["address"].pubkey_value.value = <32-byte program pubkey>
2881
+ *
2882
+ * Note: Filters on slot, call_idx, block_offset, transaction_signature, and program are pushed down to SQL
2883
+ * for optimal performance. Payload filters (first1Byte, first4Bytes, first8Bytes, bytesPrefix) are evaluated
2884
+ * in-memory on fetched results.
2885
+ *
2886
+ * @generated from message thru.services.v1.ListEventsRequest
2887
+ */
2888
+ type ListEventsRequest = Message<"thru.services.v1.ListEventsRequest"> & {
2889
+ /**
2890
+ * CEL filter expression (OPTIONAL). See message documentation for examples.
2891
+ *
2892
+ * @generated from field: optional thru.common.v1.Filter filter = 1;
2893
+ */
2894
+ filter?: Filter;
2895
+ /**
2896
+ * @generated from field: optional thru.common.v1.PageRequest page = 2;
2897
+ */
2898
+ page?: PageRequest;
2899
+ /**
2900
+ * @generated from field: optional thru.common.v1.VersionContext version_context = 3;
2901
+ */
2902
+ versionContext?: VersionContext;
2903
+ /**
2904
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
2905
+ */
2906
+ minConsensus?: ConsensusStatus;
2907
+ };
2908
+ /**
2909
+ * Describes the message thru.services.v1.ListEventsRequest.
2910
+ * Use `create(ListEventsRequestSchema)` to create a new message.
2911
+ */
2912
+ declare const ListEventsRequestSchema: GenMessage<ListEventsRequest>;
2913
+ /**
2914
+ * ListEventsResponse returns paginated events.
2915
+ *
2916
+ * @generated from message thru.services.v1.ListEventsResponse
2917
+ */
2918
+ type ListEventsResponse = Message<"thru.services.v1.ListEventsResponse"> & {
2919
+ /**
2920
+ * @generated from field: repeated thru.services.v1.Event events = 1;
2921
+ */
2922
+ events: Event[];
2923
+ /**
2924
+ * @generated from field: optional thru.common.v1.PageResponse page = 2;
2925
+ */
2926
+ page?: PageResponse;
2927
+ };
2928
+ /**
2929
+ * Describes the message thru.services.v1.ListEventsResponse.
2930
+ * Use `create(ListEventsResponseSchema)` to create a new message.
2931
+ */
2932
+ declare const ListEventsResponseSchema: GenMessage<ListEventsResponse>;
2933
+ /**
2934
+ * ListTransactionsRequest lists executed transactions with CEL filtering and pagination.
2935
+ *
2936
+ * Returns transactions ordered from most recent to older (slot DESC, block_offset DESC).
2937
+ * Supports filtering on transaction metadata and execution results using CEL expressions.
2938
+ *
2939
+ * Available fields for filtering:
2940
+ * - transaction.slot (uint64): Block slot number where transaction was executed
2941
+ * - transaction.block_offset (uint32): Transaction's position within the block
2942
+ * - transaction.signature.value (bytes): Transaction signature
2943
+ *
2944
+ * Header fields (in-memory evaluation only, not SQL pushdown):
2945
+ * - transaction.header.version (uint32): Transaction format version
2946
+ * - transaction.header.fee (uint64): Transaction fee
2947
+ * - transaction.header.nonce (uint64): Sender account nonce
2948
+ * - transaction.header.start_slot (uint64): Earliest slot for execution
2949
+ * - transaction.header.expiry_after (uint32): Expiry duration in slots
2950
+ * - transaction.header.requested_compute_units (uint64): Requested compute units
2951
+ * - transaction.header.requested_memory_units (uint32): Requested memory units
2952
+ * - transaction.header.requested_state_units (uint32): Requested state units
2953
+ * - transaction.header.fee_payer_pubkey.value (bytes): Fee payer public key
2954
+ * - transaction.header.program_pubkey.value (bytes): Program public key
2955
+ * - transaction.header.fee_payer_signature.value (bytes): Fee payer signature
2956
+ *
2957
+ * Execution result fields:
2958
+ * - transaction.execution_result.vm_error (TransactionVmError enum): VM error code (0 = success)
2959
+ * - transaction.execution_result.user_error_code (uint64): User-defined error code
2960
+ * - transaction.execution_result.execution_result (uint64): Alias for user_error_code
2961
+ * - transaction.execution_result.consumed_compute_units (uint64): Compute units consumed
2962
+ * - transaction.execution_result.consumed_memory_units (uint32): Memory units consumed
2963
+ * - transaction.execution_result.consumed_state_units (uint32): State units consumed
2964
+ * - transaction.execution_result.events_count (uint32): Number of events emitted
2965
+ * - transaction.execution_result.events_size (uint32): Total size of events in bytes
2966
+ *
2967
+ * Available CEL functions:
2968
+ * - has(field): Check if optional field exists
2969
+ * - uint(value): Convert to uint type
2970
+ * - int(value): Convert to int type
2971
+ * - string(value): Convert to string type
2972
+ * - bytes(value): Convert to bytes type
2973
+ *
2974
+ * Available filter parameters (accessible via params.* in expressions):
2975
+ * - params.slot (uint64): Slot number for filtering
2976
+ * - params.u64 (uint64): Generic uint64 parameter
2977
+ * - params.pubkey (Pubkey): Public key parameter for filtering
2978
+ *
2979
+ * Filter examples:
2980
+ *
2981
+ * 1. Filter by slot range:
2982
+ * filter.expression = "transaction.slot >= uint(1000) && transaction.slot <= uint(2000)"
2983
+ *
2984
+ * 2. Filter by successful transactions (no error):
2985
+ * filter.expression = "transaction.execution_result.user_error_code == uint(0)"
2986
+ * filter.expression = "transaction.execution_result.vm_error == int(0)"
2987
+ *
2988
+ * 3. Filter by specific VM error:
2989
+ * filter.expression = "transaction.execution_result.vm_error == int(2)" // VM_REVERT
2990
+ * filter.expression = "transaction.execution_result.vm_error == int(4)" // NONCE_TOO_LOW
2991
+ * filter.expression = "transaction.execution_result.vm_error == int(5)" // NONCE_TOO_HIGH
2992
+ *
2993
+ * 4. Filter by resource usage:
2994
+ * filter.expression = "transaction.execution_result.consumed_compute_units > uint(1000)"
2995
+ * filter.expression = "transaction.execution_result.consumed_memory_units > uint(0)"
2996
+ * filter.expression = "transaction.execution_result.consumed_state_units >= uint(0)"
2997
+ *
2998
+ * 5. Filter by compute units range:
2999
+ * filter.expression = "transaction.execution_result.consumed_compute_units >= uint(0) && transaction.execution_result.consumed_compute_units < uint(1000000)"
3000
+ *
3001
+ * 6. Filter by events count:
3002
+ * filter.expression = "transaction.execution_result.events_count == uint(0)" // No events (transfers)
3003
+ * filter.expression = "transaction.execution_result.events_count > uint(0)" // Has events
3004
+ * filter.expression = "transaction.execution_result.events_count == uint(1)" // Exactly 1 event
3005
+ *
3006
+ * 7. Filter by events size:
3007
+ * filter.expression = "transaction.execution_result.events_size == uint(0)" // No events
3008
+ * filter.expression = "transaction.execution_result.events_size > uint(0)" // Has events
3009
+ * filter.expression = "transaction.execution_result.events_size >= uint(100)" // Large events
3010
+ * filter.expression = "transaction.execution_result.events_size >= uint(50) && transaction.execution_result.events_size <= uint(200)"
3011
+ *
3012
+ * 8. Filter by block offset:
3013
+ * filter.expression = "transaction.block_offset >= uint(0)"
3014
+ * filter.expression = "transaction.block_offset == uint(5)"
3015
+ *
3016
+ * 9. Combine multiple conditions with AND:
3017
+ * filter.expression = "transaction.execution_result.user_error_code == uint(0) && transaction.execution_result.consumed_compute_units > uint(0)"
3018
+ *
3019
+ * 10. Combine multiple conditions with OR:
3020
+ * filter.expression = "transaction.execution_result.user_error_code == uint(0) || transaction.execution_result.user_error_code != uint(0)"
3021
+ * filter.expression = "transaction.execution_result.vm_error == int(2) || transaction.execution_result.vm_error == int(4)"
3022
+ *
3023
+ * 11. Complex combined filters:
3024
+ * filter.expression = "(transaction.slot >= uint(0) && transaction.execution_result.user_error_code == uint(0)) || transaction.execution_result.consumed_compute_units > uint(100000)"
3025
+ *
3026
+ * 12. Check for field existence:
3027
+ * filter.expression = "has(transaction.execution_result)"
3028
+ *
3029
+ * 13. Use inequality operators:
3030
+ * filter.expression = "transaction.execution_result.consumed_compute_units < uint(1000000)"
3031
+ * filter.expression = "transaction.execution_result.consumed_compute_units <= uint(1000000)"
3032
+ * filter.expression = "transaction.execution_result.consumed_compute_units >= uint(0)"
3033
+ * filter.expression = "transaction.execution_result.user_error_code != uint(999)"
3034
+ *
3035
+ * 14. Use params.slot parameter:
3036
+ * filter.expression = "transaction.slot == params.slot"
3037
+ * filter.params["slot"].uint_value = 1234
3038
+ *
3039
+ * 15. Use params.u64 with type conversion:
3040
+ * filter.expression = "transaction.execution_result.consumed_compute_units < uint(params.u64)"
3041
+ * filter.params["u64"].uint_value = 1000000
3042
+ *
3043
+ * The return_events flag controls whether event data is included in the response:
3044
+ * - return_events = false (default): Only event counts/sizes are returned, not actual event data
3045
+ * - return_events = true: Full event data is included in execution results
3046
+ *
3047
+ * Note: All filters are pushed down to SQL for optimal performance where possible.
3048
+ *
3049
+ * @generated from message thru.services.v1.ListTransactionsRequest
3050
+ */
3051
+ type ListTransactionsRequest = Message<"thru.services.v1.ListTransactionsRequest"> & {
3052
+ /**
3053
+ * CEL filter expression (OPTIONAL). See message documentation for examples.
3054
+ *
3055
+ * @generated from field: optional thru.common.v1.Filter filter = 1;
3056
+ */
3057
+ filter?: Filter;
3058
+ /**
3059
+ * @generated from field: optional thru.common.v1.PageRequest page = 2;
3060
+ */
3061
+ page?: PageRequest;
3062
+ /**
3063
+ * Whether to include event data in results (default: false)
3064
+ *
3065
+ * @generated from field: optional bool return_events = 3;
3066
+ */
3067
+ returnEvents?: boolean;
3068
+ /**
3069
+ * @generated from field: optional thru.common.v1.VersionContext version_context = 4;
3070
+ */
3071
+ versionContext?: VersionContext;
3072
+ /**
3073
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 5;
3074
+ */
3075
+ minConsensus?: ConsensusStatus;
3076
+ };
3077
+ /**
3078
+ * Describes the message thru.services.v1.ListTransactionsRequest.
3079
+ * Use `create(ListTransactionsRequestSchema)` to create a new message.
3080
+ */
3081
+ declare const ListTransactionsRequestSchema: GenMessage<ListTransactionsRequest>;
3082
+ /**
3083
+ * ListTransactionsResponse returns paginated executed transactions.
3084
+ *
3085
+ * @generated from message thru.services.v1.ListTransactionsResponse
3086
+ */
3087
+ type ListTransactionsResponse = Message<"thru.services.v1.ListTransactionsResponse"> & {
3088
+ /**
3089
+ * @generated from field: repeated thru.core.v1.Transaction transactions = 1;
3090
+ */
3091
+ transactions: Transaction[];
3092
+ /**
3093
+ * @generated from field: optional thru.common.v1.PageResponse page = 2;
3094
+ */
3095
+ page?: PageResponse;
3096
+ };
3097
+ /**
3098
+ * Describes the message thru.services.v1.ListTransactionsResponse.
3099
+ * Use `create(ListTransactionsResponseSchema)` to create a new message.
3100
+ */
3101
+ declare const ListTransactionsResponseSchema: GenMessage<ListTransactionsResponse>;
3102
+ /**
3103
+ * GetTransactionStatusRequest fetches execution status for a transaction.
3104
+ *
3105
+ * @generated from message thru.services.v1.GetTransactionStatusRequest
3106
+ */
3107
+ type GetTransactionStatusRequest = Message<"thru.services.v1.GetTransactionStatusRequest"> & {
3108
+ /**
3109
+ * @generated from field: thru.common.v1.Signature signature = 1;
3110
+ */
3111
+ signature?: Signature;
3112
+ };
3113
+ /**
3114
+ * Describes the message thru.services.v1.GetTransactionStatusRequest.
3115
+ * Use `create(GetTransactionStatusRequestSchema)` to create a new message.
3116
+ */
3117
+ declare const GetTransactionStatusRequestSchema: GenMessage<GetTransactionStatusRequest>;
3118
+ /**
3119
+ * TransactionStatus captures status metadata for a transaction.
3120
+ *
3121
+ * @generated from message thru.services.v1.TransactionStatus
3122
+ */
3123
+ type TransactionStatus = Message<"thru.services.v1.TransactionStatus"> & {
3124
+ /**
3125
+ * @generated from field: thru.common.v1.Signature signature = 1;
3126
+ */
3127
+ signature?: Signature;
3128
+ /**
3129
+ * @generated from field: optional thru.common.v1.ConsensusStatus consensus_status = 2;
3130
+ */
3131
+ consensusStatus?: ConsensusStatus;
3132
+ /**
3133
+ * @generated from field: optional thru.core.v1.TransactionExecutionResult execution_result = 3;
3134
+ */
3135
+ executionResult?: TransactionExecutionResult;
3136
+ };
3137
+ /**
3138
+ * Describes the message thru.services.v1.TransactionStatus.
3139
+ * Use `create(TransactionStatusSchema)` to create a new message.
3140
+ */
3141
+ declare const TransactionStatusSchema: GenMessage<TransactionStatus>;
3142
+ /**
3143
+ * @generated from message thru.services.v1.GetHeightRequest
3144
+ */
3145
+ type GetHeightRequest = Message<"thru.services.v1.GetHeightRequest"> & {};
3146
+ /**
3147
+ * Describes the message thru.services.v1.GetHeightRequest.
3148
+ * Use `create(GetHeightRequestSchema)` to create a new message.
3149
+ */
3150
+ declare const GetHeightRequestSchema: GenMessage<GetHeightRequest>;
3151
+ /**
3152
+ * GetHeightResponse
3153
+ *
3154
+ * @generated from message thru.services.v1.GetHeightResponse
3155
+ */
3156
+ type GetHeightResponse = Message<"thru.services.v1.GetHeightResponse"> & {
3157
+ /**
3158
+ * @generated from field: uint64 finalized = 1;
3159
+ */
3160
+ finalized: bigint;
3161
+ /**
3162
+ * @generated from field: uint64 locally_executed = 2;
3163
+ */
3164
+ locallyExecuted: bigint;
3165
+ /**
3166
+ * @generated from field: uint64 cluster_executed = 3;
3167
+ */
3168
+ clusterExecuted: bigint;
3169
+ };
3170
+ /**
3171
+ * Describes the message thru.services.v1.GetHeightResponse.
3172
+ * Use `create(GetHeightResponseSchema)` to create a new message.
3173
+ */
3174
+ declare const GetHeightResponseSchema: GenMessage<GetHeightResponse>;
3175
+ /**
3176
+ * GetStateRootsRequest retrieves up to 257 state roots ending at a specified slot.
3177
+ * Used for transaction replay to verify state proofs against historical roots.
3178
+ * Returns state roots in ascending slot order, from (slot - 256) to slot (inclusive).
3179
+ *
3180
+ * @generated from message thru.services.v1.GetStateRootsRequest
3181
+ */
3182
+ type GetStateRootsRequest = Message<"thru.services.v1.GetStateRootsRequest"> & {
3183
+ /**
3184
+ * The slot to retrieve state roots up to (inclusive).
3185
+ * Returns up to 257 state roots ending at this slot.
3186
+ * If not specified, returns state roots ending at the latest available slot.
3187
+ *
3188
+ * @generated from field: optional uint64 slot = 1;
3189
+ */
3190
+ slot?: bigint;
3191
+ };
3192
+ /**
3193
+ * Describes the message thru.services.v1.GetStateRootsRequest.
3194
+ * Use `create(GetStateRootsRequestSchema)` to create a new message.
3195
+ */
3196
+ declare const GetStateRootsRequestSchema: GenMessage<GetStateRootsRequest>;
3197
+ /**
3198
+ * StateRootEntry represents a state root for a specific slot.
3199
+ *
3200
+ * @generated from message thru.services.v1.StateRootEntry
3201
+ */
3202
+ type StateRootEntry = Message<"thru.services.v1.StateRootEntry"> & {
3203
+ /**
3204
+ * @generated from field: uint64 slot = 1;
3205
+ */
3206
+ slot: bigint;
3207
+ /**
3208
+ * @generated from field: bytes state_root = 2;
3209
+ */
3210
+ stateRoot: Uint8Array;
3211
+ };
3212
+ /**
3213
+ * Describes the message thru.services.v1.StateRootEntry.
3214
+ * Use `create(StateRootEntrySchema)` to create a new message.
3215
+ */
3216
+ declare const StateRootEntrySchema: GenMessage<StateRootEntry>;
3217
+ /**
3218
+ * GetStateRootsResponse contains up to 257 state roots ending at the requested slot.
3219
+ *
3220
+ * @generated from message thru.services.v1.GetStateRootsResponse
3221
+ */
3222
+ type GetStateRootsResponse = Message<"thru.services.v1.GetStateRootsResponse"> & {
3223
+ /**
3224
+ * @generated from field: repeated thru.services.v1.StateRootEntry state_roots = 1;
3225
+ */
3226
+ stateRoots: StateRootEntry[];
3227
+ };
3228
+ /**
3229
+ * Describes the message thru.services.v1.GetStateRootsResponse.
3230
+ * Use `create(GetStateRootsResponseSchema)` to create a new message.
3231
+ */
3232
+ declare const GetStateRootsResponseSchema: GenMessage<GetStateRootsResponse>;
3233
+ /**
3234
+ * QueryService defines unary RPCs for accessing blockchain data.
3235
+ *
3236
+ * @generated from service thru.services.v1.QueryService
3237
+ */
3238
+ declare const QueryService: GenService<{
3239
+ /**
3240
+ * Get block heights
3241
+ *
3242
+ * @generated from rpc thru.services.v1.QueryService.GetHeight
3243
+ */
3244
+ getHeight: {
3245
+ methodKind: "unary";
3246
+ input: typeof GetHeightRequestSchema;
3247
+ output: typeof GetHeightResponseSchema;
3248
+ };
3249
+ /**
3250
+ * Get account information.
3251
+ *
3252
+ * @generated from rpc thru.services.v1.QueryService.GetAccount
3253
+ */
3254
+ getAccount: {
3255
+ methodKind: "unary";
3256
+ input: typeof GetAccountRequestSchema;
3257
+ output: typeof AccountSchema;
3258
+ };
3259
+ /**
3260
+ * Get account raw bytes.
3261
+ *
3262
+ * @generated from rpc thru.services.v1.QueryService.GetRawAccount
3263
+ */
3264
+ getRawAccount: {
3265
+ methodKind: "unary";
3266
+ input: typeof GetRawAccountRequestSchema;
3267
+ output: typeof RawAccountSchema;
3268
+ };
3269
+ /**
3270
+ * Get transaction by signature.
3271
+ *
3272
+ * @generated from rpc thru.services.v1.QueryService.GetTransaction
3273
+ */
3274
+ getTransaction: {
3275
+ methodKind: "unary";
3276
+ input: typeof GetTransactionRequestSchema;
3277
+ output: typeof TransactionSchema;
3278
+ };
3279
+ /**
3280
+ * Get raw transaction by signature.
3281
+ *
3282
+ * @generated from rpc thru.services.v1.QueryService.GetRawTransaction
3283
+ */
3284
+ getRawTransaction: {
3285
+ methodKind: "unary";
3286
+ input: typeof GetRawTransactionRequestSchema;
3287
+ output: typeof RawTransactionSchema;
3288
+ };
3289
+ /**
3290
+ * Get block by slot or hash.
3291
+ *
3292
+ * @generated from rpc thru.services.v1.QueryService.GetBlock
3293
+ */
3294
+ getBlock: {
3295
+ methodKind: "unary";
3296
+ input: typeof GetBlockRequestSchema;
3297
+ output: typeof BlockSchema;
3298
+ };
3299
+ /**
3300
+ * Get raw block bytes.
3301
+ *
3302
+ * @generated from rpc thru.services.v1.QueryService.GetRawBlock
3303
+ */
3304
+ getRawBlock: {
3305
+ methodKind: "unary";
3306
+ input: typeof GetRawBlockRequestSchema;
3307
+ output: typeof RawBlockSchema;
3308
+ };
3309
+ /**
3310
+ * List accounts using CEL-based filtering.
3311
+ *
3312
+ * @generated from rpc thru.services.v1.QueryService.ListAccounts
3313
+ */
3314
+ listAccounts: {
3315
+ methodKind: "unary";
3316
+ input: typeof ListAccountsRequestSchema;
3317
+ output: typeof ListAccountsResponseSchema;
3318
+ };
3319
+ /**
3320
+ * List blocks using pagination and filtering. By default returns blocks ordered from latest slot to the first one.
3321
+ *
3322
+ * @generated from rpc thru.services.v1.QueryService.ListBlocks
3323
+ */
3324
+ listBlocks: {
3325
+ methodKind: "unary";
3326
+ input: typeof ListBlocksRequestSchema;
3327
+ output: typeof ListBlocksResponseSchema;
3328
+ };
3329
+ /**
3330
+ * List executed transaction signatures involving an account.
3331
+ *
3332
+ * @generated from rpc thru.services.v1.QueryService.ListTransactionsForAccount
3333
+ */
3334
+ listTransactionsForAccount: {
3335
+ methodKind: "unary";
3336
+ input: typeof ListTransactionsForAccountRequestSchema;
3337
+ output: typeof ListTransactionsForAccountResponseSchema;
3338
+ };
3339
+ /**
3340
+ * Get a specific event by ID.
3341
+ *
3342
+ * @generated from rpc thru.services.v1.QueryService.GetEvent
3343
+ */
3344
+ getEvent: {
3345
+ methodKind: "unary";
3346
+ input: typeof GetEventRequestSchema;
3347
+ output: typeof EventSchema;
3348
+ };
3349
+ /**
3350
+ * List events with CEL filtering and pagination. Returns events ordered from most recent to older.
3351
+ *
3352
+ * @generated from rpc thru.services.v1.QueryService.ListEvents
3353
+ */
3354
+ listEvents: {
3355
+ methodKind: "unary";
3356
+ input: typeof ListEventsRequestSchema;
3357
+ output: typeof ListEventsResponseSchema;
3358
+ };
3359
+ /**
3360
+ * List executed transactions with CEL filtering and pagination. Returns transactions ordered from most recent to older.
3361
+ *
3362
+ * @generated from rpc thru.services.v1.QueryService.ListTransactions
3363
+ */
3364
+ listTransactions: {
3365
+ methodKind: "unary";
3366
+ input: typeof ListTransactionsRequestSchema;
3367
+ output: typeof ListTransactionsResponseSchema;
3368
+ };
3369
+ /**
3370
+ * Get derived transaction status metadata.
3371
+ *
3372
+ * @generated from rpc thru.services.v1.QueryService.GetTransactionStatus
3373
+ */
3374
+ getTransactionStatus: {
3375
+ methodKind: "unary";
3376
+ input: typeof GetTransactionStatusRequestSchema;
3377
+ output: typeof TransactionStatusSchema;
3378
+ };
3379
+ /**
3380
+ * Generate an account state proof snapshot.
3381
+ *
3382
+ * @generated from rpc thru.services.v1.QueryService.GenerateStateProof
3383
+ */
3384
+ generateStateProof: {
3385
+ methodKind: "unary";
3386
+ input: typeof GenerateStateProofRequestSchema;
3387
+ output: typeof GenerateStateProofResponseSchema;
3388
+ };
3389
+ /**
3390
+ * Get component version strings.
3391
+ *
3392
+ * @generated from rpc thru.services.v1.QueryService.GetVersion
3393
+ */
3394
+ getVersion: {
3395
+ methodKind: "unary";
3396
+ input: typeof GetVersionRequestSchema;
3397
+ output: typeof GetVersionResponseSchema;
3398
+ };
3399
+ /**
3400
+ * Get state roots for a range of slots.
3401
+ * Used for transaction replay to verify state proofs against historical roots.
3402
+ *
3403
+ * @generated from rpc thru.services.v1.QueryService.GetStateRoots
3404
+ */
3405
+ getStateRoots: {
3406
+ methodKind: "unary";
3407
+ input: typeof GetStateRootsRequestSchema;
3408
+ output: typeof GetStateRootsResponseSchema;
3409
+ };
3410
+ }>;
3411
+
3412
+ /**
3413
+ * Describes the file thru/services/v1/streaming_service.proto.
3414
+ */
3415
+ declare const file_thru_services_v1_streaming_service: GenFile;
3416
+ /**
3417
+ * StreamBlocksRequest subscribes to real-time block updates.
3418
+ *
3419
+ * Filter expressions support the following params:
3420
+ *
3421
+ * - params.slot (int64): Slot number for comparison
3422
+ * Example: block.block.header.slot == params.slot
3423
+ *
3424
+ * - params.min_slot (int64): Minimum slot for range filtering
3425
+ * Example: block.block.header.slot >= params.min_slot
3426
+ *
3427
+ * - params.start_slot (int64): Starting slot for filtering
3428
+ * Example: block.block.header.slot >= params.start_slot
3429
+ *
3430
+ * - params.u64 (int64): Generic 64-bit value for numeric comparisons
3431
+ * Examples:
3432
+ * block.block.header.max_compute_units > params.u64
3433
+ * block.block.header.bond_amount_lock_up >= params.u64
3434
+ *
3435
+ * - params.producer (bytes|Pubkey): Producer pubkey for filtering
3436
+ * Examples:
3437
+ * block.block.header.producer.value == params.producer
3438
+ * has(block.block.header.producer) && block.block.header.producer.value == params.producer
3439
+ *
3440
+ * Available block header fields:
3441
+ * block.block.header.slot, block.block.header.version,
3442
+ * block.block.header.start_slot, block.block.header.expiry_after,
3443
+ * block.block.header.max_block_size, block.block.header.max_compute_units,
3444
+ * block.block.header.max_state_units, block.block.header.bond_amount_lock_up,
3445
+ * block.block.header.producer, block.block.header.producer.value
3446
+ *
3447
+ * Available block footer fields:
3448
+ * block.block.footer.status, block.block.footer.consumed_compute_units,
3449
+ * block.block.footer.consumed_state_units, block.block.footer.attestor_payment
3450
+ *
3451
+ * Available consensus status field:
3452
+ * block.block.consensus_status
3453
+ *
3454
+ * Filter expression examples:
3455
+ *
3456
+ * 1. Filter by specific slot:
3457
+ * Expression: "block.block.header.slot == params.slot"
3458
+ * Params: {"slot": 12345}
3459
+ *
3460
+ * 2. Filter by slot range:
3461
+ * Expression: "block.block.header.slot >= params.min_slot"
3462
+ * Params: {"min_slot": 1000}
3463
+ *
3464
+ * 3. Filter by block version:
3465
+ * Expression: "block.block.header.version >= uint(0)"
3466
+ *
3467
+ * 4. Filter by specific producer:
3468
+ * Expression: "has(block.block.header.producer) && block.block.header.producer.value == params.producer"
3469
+ * Params: {"producer": <32-byte pubkey>}
3470
+ *
3471
+ * 5. Filter by max compute units:
3472
+ * Expression: "block.block.header.max_compute_units > uint(0)"
3473
+ *
3474
+ * 6. Filter by max state units:
3475
+ * Expression: "block.block.header.max_state_units > uint(0)"
3476
+ *
3477
+ * 7. Filter by bond amount lock-up:
3478
+ * Expression: "block.block.header.bond_amount_lock_up >= uint(0)"
3479
+ *
3480
+ * 8. Filter by footer status:
3481
+ * Expression: "has(block.block.footer) && block.block.footer.status == int(1)"
3482
+ * Note: EXECUTION_STATUS_PENDING = 1, EXECUTION_STATUS_EXECUTED = 2
3483
+ *
3484
+ * 9. Filter by consumed compute units:
3485
+ * Expression: "has(block.block.footer) && block.block.footer.consumed_compute_units > uint(0)"
3486
+ *
3487
+ * 10. Filter by consumed state units:
3488
+ * Expression: "has(block.block.footer) && block.block.footer.consumed_state_units > uint(0)"
3489
+ *
3490
+ * 11. Filter by consensus status:
3491
+ * Expression: "block.block.consensus_status == int(2)"
3492
+ * Note: CONSENSUS_STATUS_UNSPECIFIED = 0, CONSENSUS_STATUS_OBSERVED = 1,
3493
+ * CONSENSUS_STATUS_INCLUDED = 2
3494
+ *
3495
+ * 12. Check for optional fields presence:
3496
+ * Expression: "has(block.block.header) && has(block.block.footer)"
3497
+ *
3498
+ * 13. Combined filters (multiple conditions):
3499
+ * Expression: "block.block.header.slot >= params.min_slot && has(block.block.footer) && block.block.footer.consumed_compute_units > uint(0)"
3500
+ * Params: {"min_slot": 1000}
3501
+ *
3502
+ * 14. Numeric comparison with params:
3503
+ * Expression: "block.block.header.max_compute_units > params.u64"
3504
+ * Params: {"u64": 1000000}
3505
+ *
3506
+ * @generated from message thru.services.v1.StreamBlocksRequest
3507
+ */
3508
+ type StreamBlocksRequest = Message<"thru.services.v1.StreamBlocksRequest"> & {
3509
+ /**
3510
+ * @generated from field: optional uint64 start_slot = 1;
3511
+ */
3512
+ startSlot?: bigint;
3513
+ /**
3514
+ * @generated from field: optional thru.common.v1.Filter filter = 2;
3515
+ */
3516
+ filter?: Filter;
3517
+ /**
3518
+ * @generated from field: optional thru.core.v1.BlockView view = 3;
3519
+ */
3520
+ view?: BlockView;
3521
+ /**
3522
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4;
3523
+ */
3524
+ minConsensus?: ConsensusStatus;
3525
+ };
3526
+ /**
3527
+ * Describes the message thru.services.v1.StreamBlocksRequest.
3528
+ * Use `create(StreamBlocksRequestSchema)` to create a new message.
3529
+ */
3530
+ declare const StreamBlocksRequestSchema: GenMessage<StreamBlocksRequest>;
3531
+ /**
3532
+ * StreamBlocksResponse delivers block updates.
3533
+ *
3534
+ * @generated from message thru.services.v1.StreamBlocksResponse
3535
+ */
3536
+ type StreamBlocksResponse = Message<"thru.services.v1.StreamBlocksResponse"> & {
3537
+ /**
3538
+ * @generated from field: thru.core.v1.Block block = 1;
3539
+ */
3540
+ block?: Block;
3541
+ };
3542
+ /**
3543
+ * Describes the message thru.services.v1.StreamBlocksResponse.
3544
+ * Use `create(StreamBlocksResponseSchema)` to create a new message.
3545
+ */
3546
+ declare const StreamBlocksResponseSchema: GenMessage<StreamBlocksResponse>;
3547
+ /**
3548
+ * StreamAccountUpdatesRequest subscribes to account delta events.
3549
+ *
3550
+ * Filter expressions support the following params:
3551
+ *
3552
+ * - params.min_slot (uint64): Minimum slot for filtering updates
3553
+ * Example: account_update.slot >= params.min_slot
3554
+ *
3555
+ * - params.min_balance (uint64): Minimum balance for filtering
3556
+ * Example: snapshot.meta.balance >= params.min_balance
3557
+ *
3558
+ * - params.owner (bytes|Pubkey): Owner pubkey for filtering
3559
+ * Examples:
3560
+ * snapshot.meta.owner.value == params.owner
3561
+ * account_update.meta.owner.value == params.owner
3562
+ *
3563
+ * - params.address (bytes|Pubkey): Account address for filtering
3564
+ * Example: account_address.value == params.address
3565
+ * Note: Use account_address for unified filtering across both snapshot and update messages
3566
+ *
3567
+ * - params.addresses (BytesList): List of addresses for multi-account filtering
3568
+ * Example: account_address.value in params.addresses
3569
+ * Note: Use the 'in' operator to filter by multiple addresses in a single subscription
3570
+ *
3571
+ * - params.min_nonce (uint64): Minimum nonce for filtering
3572
+ * Example: snapshot.meta.nonce >= params.min_nonce
3573
+ *
3574
+ * - params.min_seq (uint64): Minimum sequence number for filtering
3575
+ * Example: snapshot.meta.seq >= params.min_seq
3576
+ *
3577
+ * - params.min_data_size (uint32): Minimum data size for filtering
3578
+ * Example: snapshot.meta.data_size >= params.min_data_size
3579
+ *
3580
+ * Available snapshot fields (thru.core.v1.Account):
3581
+ * snapshot.address, snapshot.address.value (bytes),
3582
+ * snapshot.meta.balance (uint64), snapshot.meta.seq (uint64),
3583
+ * snapshot.meta.nonce (uint64), snapshot.meta.data_size (uint32),
3584
+ * snapshot.meta.version (uint32), snapshot.meta.flags (AccountFlags),
3585
+ * snapshot.meta.flags.is_program (bool), snapshot.meta.flags.is_privileged (bool),
3586
+ * snapshot.meta.flags.is_uncompressable (bool), snapshot.meta.flags.is_ephemeral (bool),
3587
+ * snapshot.meta.flags.is_deleted (bool), snapshot.meta.flags.is_new (bool),
3588
+ * snapshot.meta.flags.is_compressed (bool),
3589
+ * snapshot.meta.owner, snapshot.meta.owner.value (bytes)
3590
+ *
3591
+ * Available account_update fields (AccountUpdate):
3592
+ * account_update.slot (uint64), account_update.delete (bool),
3593
+ * account_update.meta.balance (uint64), account_update.meta.seq (uint64),
3594
+ * account_update.meta.nonce (uint64), account_update.meta.data_size (uint32),
3595
+ * account_update.meta.version (uint32), account_update.meta.flags (AccountFlags),
3596
+ * account_update.meta.flags.is_program (bool), account_update.meta.flags.is_privileged (bool),
3597
+ * account_update.meta.flags.is_uncompressable (bool), account_update.meta.flags.is_ephemeral (bool),
3598
+ * account_update.meta.flags.is_deleted (bool), account_update.meta.flags.is_new (bool),
3599
+ * account_update.meta.flags.is_compressed (bool),
3600
+ * account_update.meta.owner, account_update.meta.owner.value (bytes)
3601
+ *
3602
+ * Available unified fields (work for both snapshot and update messages):
3603
+ * account_address, account_address.value (bytes) - extracted from whichever message type is present
3604
+ *
3605
+ * Filter expression examples:
3606
+ *
3607
+ * 1. Filter by minimum balance (snapshot or update):
3608
+ * Expression: "(has(snapshot.meta) && snapshot.meta.balance >= uint(1000000)) || (has(account_update.meta) && account_update.meta.balance >= uint(1000000))"
3609
+ *
3610
+ * 2. Filter by account owner using params:
3611
+ * Expression: "(has(snapshot.meta) && has(snapshot.meta.owner) && snapshot.meta.owner.value == params.owner) || (has(account_update.meta) && has(account_update.meta.owner) && account_update.meta.owner.value == params.owner)"
3612
+ * Params: {"owner": <32-byte pubkey>}
3613
+ *
3614
+ * 3. Filter by specific account address (works for both snapshot and update messages):
3615
+ * Expression: "account_address.value == params.address"
3616
+ * Params: {"address": <32-byte pubkey>}
3617
+ *
3618
+ * 4. Filter by minimum slot for updates:
3619
+ * Expression: "has(account_update.meta) && account_update.slot >= params.min_slot"
3620
+ * Params: {"min_slot": 1000}
3621
+ *
3622
+ * 5. Filter by nonce greater than value:
3623
+ * Expression: "(has(snapshot.meta) && snapshot.meta.nonce >= uint(5)) || (has(account_update.meta) && account_update.meta.nonce >= uint(5))"
3624
+ *
3625
+ * 6. Filter by sequence number:
3626
+ * Expression: "(has(snapshot.meta) && snapshot.meta.seq >= uint(100)) || (has(account_update.meta) && account_update.meta.seq >= uint(100))"
3627
+ *
3628
+ * 7. Filter by data size:
3629
+ * Expression: "(has(snapshot.meta) && snapshot.meta.data_size >= uint(1024)) || (has(account_update.meta) && account_update.meta.data_size >= uint(1024))"
3630
+ *
3631
+ * 8. Filter by account version:
3632
+ * Expression: "(has(snapshot.meta) && snapshot.meta.version >= uint(1)) || (has(account_update.meta) && account_update.meta.version >= uint(1))"
3633
+ *
3634
+ * 9. Filter by account flags (check if account is a program):
3635
+ * Expression: "(has(snapshot.meta) && has(snapshot.meta.flags) && snapshot.meta.flags.is_program) || (has(account_update.meta) && has(account_update.meta.flags) && account_update.meta.flags.is_program)"
3636
+ *
3637
+ * 10. Filter by privileged flag:
3638
+ * Expression: "(has(snapshot.meta) && has(snapshot.meta.flags) && snapshot.meta.flags.is_privileged) || (has(account_update.meta) && has(account_update.meta.flags) && account_update.meta.flags.is_privileged)"
3639
+ *
3640
+ * 11. Filter non-delete updates:
3641
+ * Expression: "has(snapshot.meta) || (has(account_update.meta) && (!has(account_update.delete) || !account_update.delete))"
3642
+ *
3643
+ * 12. Check for snapshot or update presence:
3644
+ * Expression: "has(snapshot.meta) || has(account_update.meta)"
3645
+ *
3646
+ * 13. Combined filters (multiple conditions):
3647
+ * Expression: "has(snapshot.meta) || (has(account_update.meta) && account_update.slot >= params.min_slot && account_update.meta.balance >= params.min_balance)"
3648
+ * Params: {"min_slot": 1000, "min_balance": 1000000}
3649
+ *
3650
+ * 14. Filter by minimum balance using params:
3651
+ * Expression: "(has(snapshot.meta) && snapshot.meta.balance >= params.min_balance) || (has(account_update.meta) && account_update.meta.balance >= params.min_balance)"
3652
+ * Params: {"min_balance": 5000000000}
3653
+ *
3654
+ * Note: The response contains either a snapshot (initial state), an update (delta),
3655
+ * or a BlockFinished message. Filters should handle both snapshot and update cases
3656
+ * using OR logic to match either message type.
3657
+ *
3658
+ * To filter by specific account address (recommended - works for both message types):
3659
+ * Expression: "account_address.value == params.address"
3660
+ * Params: {"address": <32-byte pubkey>}
3661
+ *
3662
+ * To filter by owner (program):
3663
+ * Expression: "(has(snapshot.meta.owner) && snapshot.meta.owner.value == params.owner) || (has(account_update.meta.owner) && account_update.meta.owner.value == params.owner)"
3664
+ * Params: {"owner": <32-byte program pubkey>}
3665
+ *
3666
+ * To filter by multiple account addresses (recommended for multi-account subscriptions):
3667
+ * Expression: "account_address.value in params.addresses"
3668
+ * Params: {"addresses": BytesList{values: [<pubkey1>, <pubkey2>, ...]}}
3669
+ * Note: Use BytesList parameter type with the 'in' operator for efficient multi-address filtering
3670
+ *
3671
+ * @generated from message thru.services.v1.StreamAccountUpdatesRequest
3672
+ */
3673
+ type StreamAccountUpdatesRequest = Message<"thru.services.v1.StreamAccountUpdatesRequest"> & {
3674
+ /**
3675
+ * @generated from field: optional thru.core.v1.AccountView view = 2;
3676
+ */
3677
+ view?: AccountView;
3678
+ /**
3679
+ * @generated from field: optional thru.common.v1.Filter filter = 4;
3680
+ */
3681
+ filter?: Filter;
3682
+ };
3683
+ /**
3684
+ * Describes the message thru.services.v1.StreamAccountUpdatesRequest.
3685
+ * Use `create(StreamAccountUpdatesRequestSchema)` to create a new message.
3686
+ */
3687
+ declare const StreamAccountUpdatesRequestSchema: GenMessage<StreamAccountUpdatesRequest>;
3688
+ /**
3689
+ * AccountUpdate describes a delta for an account.
3690
+ *
3691
+ * @generated from message thru.services.v1.AccountUpdate
3692
+ */
3693
+ type AccountUpdate = Message<"thru.services.v1.AccountUpdate"> & {
3694
+ /**
3695
+ * @generated from field: uint64 slot = 1;
3696
+ */
3697
+ slot: bigint;
3698
+ /**
3699
+ * @generated from field: optional thru.core.v1.AccountPage page = 2;
3700
+ */
3701
+ page?: AccountPage;
3702
+ /**
3703
+ * @generated from field: optional thru.core.v1.AccountMeta meta = 3;
3704
+ */
3705
+ meta?: AccountMeta;
3706
+ /**
3707
+ * @generated from field: optional bool delete = 4;
3708
+ */
3709
+ delete?: boolean;
3710
+ /**
3711
+ * Account address for identifying the account in multi-account streams.
3712
+ *
3713
+ * @generated from field: thru.common.v1.Pubkey address = 5;
3714
+ */
3715
+ address?: Pubkey;
3716
+ };
3717
+ /**
3718
+ * Describes the message thru.services.v1.AccountUpdate.
3719
+ * Use `create(AccountUpdateSchema)` to create a new message.
3720
+ */
3721
+ declare const AccountUpdateSchema: GenMessage<AccountUpdate>;
3722
+ /**
3723
+ * BlockFinished is sent when block's execution is complete.
3724
+ *
3725
+ * @generated from message thru.services.v1.BlockFinished
3726
+ */
3727
+ type BlockFinished = Message<"thru.services.v1.BlockFinished"> & {
3728
+ /**
3729
+ * @generated from field: uint64 slot = 1;
3730
+ */
3731
+ slot: bigint;
3732
+ };
3733
+ /**
3734
+ * Describes the message thru.services.v1.BlockFinished.
3735
+ * Use `create(BlockFinishedSchema)` to create a new message.
3736
+ */
3737
+ declare const BlockFinishedSchema: GenMessage<BlockFinished>;
3738
+ /**
3739
+ * StreamAccountUpdatesResponse contains either an initial snapshot or a delta.
3740
+ *
3741
+ * @generated from message thru.services.v1.StreamAccountUpdatesResponse
3742
+ */
3743
+ type StreamAccountUpdatesResponse = Message<"thru.services.v1.StreamAccountUpdatesResponse"> & {
3744
+ /**
3745
+ * @generated from oneof thru.services.v1.StreamAccountUpdatesResponse.message
3746
+ */
3747
+ message: {
3748
+ /**
3749
+ * @generated from field: thru.core.v1.Account snapshot = 1;
3750
+ */
3751
+ value: Account;
3752
+ case: "snapshot";
3753
+ } | {
3754
+ /**
3755
+ * @generated from field: thru.services.v1.AccountUpdate update = 2;
3756
+ */
3757
+ value: AccountUpdate;
3758
+ case: "update";
3759
+ } | {
3760
+ /**
3761
+ * @generated from field: thru.services.v1.BlockFinished finished = 3;
3762
+ */
3763
+ value: BlockFinished;
3764
+ case: "finished";
3765
+ } | {
3766
+ case: undefined;
3767
+ value?: undefined;
3768
+ };
3769
+ };
3770
+ /**
3771
+ * Describes the message thru.services.v1.StreamAccountUpdatesResponse.
3772
+ * Use `create(StreamAccountUpdatesResponseSchema)` to create a new message.
3773
+ */
3774
+ declare const StreamAccountUpdatesResponseSchema: GenMessage<StreamAccountUpdatesResponse>;
3775
+ /**
3776
+ * StreamTransactionsRequest subscribes to transaction confirmations.
3777
+ *
3778
+ * Filter expressions support the following params:
3779
+ *
3780
+ * - params.min_slot (uint64): Minimum slot for filtering transactions
3781
+ * Example: transaction.slot >= params.min_slot
3782
+ *
3783
+ * - params.max_slot (uint64): Maximum slot for filtering transactions
3784
+ * Example: transaction.slot <= params.max_slot
3785
+ *
3786
+ * - params.slot (uint64): Specific slot for exact match filtering
3787
+ * Example: transaction.slot == params.slot
3788
+ *
3789
+ * - params.min_fee (uint64): Minimum fee for filtering transactions
3790
+ * Example: transaction.header.fee >= params.min_fee
3791
+ *
3792
+ * - params.fee_payer (bytes|Pubkey): Fee payer pubkey for filtering
3793
+ * Example: transaction.header.fee_payer_pubkey.value == params.fee_payer
3794
+ *
3795
+ * - params.signature (bytes|Signature): Transaction signature for filtering
3796
+ * Example: transaction.signature.value == params.signature
3797
+ *
3798
+ * Available transaction fields (thru.core.v1.Transaction):
3799
+ * transaction.signature, transaction.signature.value (bytes),
3800
+ * transaction.slot (uint64), transaction.block_offset (uint32),
3801
+ * transaction.header, transaction.header.version (uint32),
3802
+ * transaction.header.fee (uint64),
3803
+ * transaction.header.fee_payer_pubkey, transaction.header.fee_payer_pubkey.value (bytes),
3804
+ * transaction.execution_result, transaction.execution_result.user_error_code (uint32),
3805
+ * transaction.execution_result.vm_error (int32)
3806
+ *
3807
+ * Available consensus_status field:
3808
+ * consensus_status (int32) - Current consensus status of the transaction
3809
+ * Values: CONSENSUS_STATUS_UNSPECIFIED = 0, CONSENSUS_STATUS_OBSERVED = 1,
3810
+ * CONSENSUS_STATUS_INCLUDED = 2
3811
+ *
3812
+ * Filter expression examples:
3813
+ *
3814
+ * 1. Filter by minimum slot:
3815
+ * Expression: "has(transaction.slot) && transaction.slot >= params.min_slot"
3816
+ * Params: {"min_slot": 1000}
3817
+ *
3818
+ * 2. Filter by slot range:
3819
+ * Expression: "has(transaction.slot) && transaction.slot >= params.min_slot && transaction.slot <= params.max_slot"
3820
+ * Params: {"min_slot": 1000, "max_slot": 2000}
3821
+ *
3822
+ * 3. Filter by specific slot:
3823
+ * Expression: "has(transaction.slot) && transaction.slot == params.slot"
3824
+ * Params: {"slot": 12345}
3825
+ *
3826
+ * 4. Filter by minimum fee:
3827
+ * Expression: "has(transaction.header) && transaction.header.fee >= params.min_fee"
3828
+ * Params: {"min_fee": 5000}
3829
+ *
3830
+ * 5. Filter by fee payer:
3831
+ * Expression: "has(transaction.header.fee_payer_pubkey) && transaction.header.fee_payer_pubkey.value == params.fee_payer"
3832
+ * Params: {"fee_payer": <32-byte pubkey>}
3833
+ *
3834
+ * 6. Filter by transaction signature:
3835
+ * Expression: "has(transaction.signature) && transaction.signature.value == params.signature"
3836
+ * Params: {"signature": <64-byte signature>}
3837
+ *
3838
+ * 7. Filter by header version:
3839
+ * Expression: "has(transaction.header) && transaction.header.version >= uint(0)"
3840
+ *
3841
+ * 8. Filter by successful execution:
3842
+ * Expression: "has(transaction.execution_result) && transaction.execution_result.vm_error == int(0)"
3843
+ *
3844
+ * 9. Filter by user error code:
3845
+ * Expression: "has(transaction.execution_result) && transaction.execution_result.user_error_code == uint(0)"
3846
+ *
3847
+ * 10. Filter by consensus status:
3848
+ * Expression: "consensus_status >= int(2)"
3849
+ * Note: Use >= int(2) for CONSENSUS_STATUS_INCLUDED and above
3850
+ *
3851
+ * 11. Check for execution result presence:
3852
+ * Expression: "has(transaction.execution_result)"
3853
+ *
3854
+ * 12. Filter by transaction with header and slot:
3855
+ * Expression: "has(transaction.slot) && transaction.slot >= uint(0) && has(transaction.header)"
3856
+ *
3857
+ * 13. Combined filters (slot, fee, and status):
3858
+ * Expression: "has(transaction.slot) && transaction.slot >= params.min_slot && has(transaction.header) && transaction.header.fee >= params.min_fee && consensus_status >= int(2)"
3859
+ * Params: {"min_slot": 1000, "min_fee": 5000}
3860
+ *
3861
+ * 14. Filter successful transactions with minimum fee:
3862
+ * Expression: "has(transaction.execution_result) && transaction.execution_result.vm_error == int(0) && has(transaction.header) && transaction.header.fee >= params.min_fee"
3863
+ * Params: {"min_fee": 10000}
3864
+ *
3865
+ * Note: The min_consensus field in the request provides built-in consensus filtering
3866
+ * without requiring a CEL expression. Use it in combination with filter expressions
3867
+ * for more complex filtering logic.
3868
+ *
3869
+ * @generated from message thru.services.v1.StreamTransactionsRequest
3870
+ */
3871
+ type StreamTransactionsRequest = Message<"thru.services.v1.StreamTransactionsRequest"> & {
3872
+ /**
3873
+ * @generated from field: optional thru.common.v1.Filter filter = 1;
3874
+ */
3875
+ filter?: Filter;
3876
+ /**
3877
+ * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 2;
3878
+ */
3879
+ minConsensus?: ConsensusStatus;
3880
+ };
3881
+ /**
3882
+ * Describes the message thru.services.v1.StreamTransactionsRequest.
3883
+ * Use `create(StreamTransactionsRequestSchema)` to create a new message.
3884
+ */
3885
+ declare const StreamTransactionsRequestSchema: GenMessage<StreamTransactionsRequest>;
3886
+ /**
3887
+ * StreamTransactionsResponse delivers transaction events.
3888
+ *
3889
+ * @generated from message thru.services.v1.StreamTransactionsResponse
3890
+ */
3891
+ type StreamTransactionsResponse = Message<"thru.services.v1.StreamTransactionsResponse"> & {
3892
+ /**
3893
+ * @generated from field: thru.core.v1.Transaction transaction = 1;
3894
+ */
3895
+ transaction?: Transaction;
3896
+ };
3897
+ /**
3898
+ * Describes the message thru.services.v1.StreamTransactionsResponse.
3899
+ * Use `create(StreamTransactionsResponseSchema)` to create a new message.
3900
+ */
3901
+ declare const StreamTransactionsResponseSchema: GenMessage<StreamTransactionsResponse>;
3902
+ /**
3903
+ * StreamEventsRequest subscribes to chain events.
3904
+ *
3905
+ * Filter expressions support the following params:
3906
+ *
3907
+ * - params.prefix (bytes): Byte prefix for payload filtering
3908
+ * Example: bytesPrefix(event.payload, params.prefix)
3909
+ *
3910
+ * - params.slot (int64): Slot number for comparison
3911
+ * Example: event.slot >= params.slot
3912
+ *
3913
+ * - params.u64 (int64): Generic 64-bit value for payload extraction
3914
+ * Examples:
3915
+ * first8Bytes(event.payload) == params.u64
3916
+ * first4Bytes(event.payload) == params.u64
3917
+ * first1Byte(event.payload) == params.u64
3918
+ *
3919
+ * - params.signature (bytes|Signature|TsSignature): Signature for comparison
3920
+ * Examples:
3921
+ * event.signature.value == params.signature // bytes type
3922
+ * bytesPrefix(event.signature.value, params.signature)
3923
+ * Note: Signature and TsSignature types are auto-converted to bytes
3924
+ *
3925
+ * - params.address (bytes|Pubkey|TaPubkey): Address/pubkey for comparison
3926
+ * Examples:
3927
+ * event.program.value == params.address // bytes type
3928
+ * bytesPrefix(event.program.value, params.address)
3929
+ * Note: Pubkey and TaPubkey types are auto-converted to bytes
3930
+ *
3931
+ * - params.timestamp (int64): Timestamp in seconds for comparison
3932
+ * Example: int(event.timestamp) > params.timestamp
3933
+ *
3934
+ * Available event fields:
3935
+ * event.event_id (string), event.slot (uint64), event.payload (bytes),
3936
+ * event.call_idx (uint32), event.signature (Signature),
3937
+ * event.signature.value (bytes), event.program (Pubkey),
3938
+ * event.program.value (bytes), event.timestamp (Timestamp)
3939
+ *
3940
+ * Note: Unlike ListEventsRequest in QueryService, StreamEventsRequest does NOT support:
3941
+ * event.block_offset, event.program_idx, event.payload_size, event.transaction_signature
3942
+ *
3943
+ * Available filter functions:
3944
+ * - has(field): Check if optional field exists
3945
+ * Example: has(event.program) && has(event.signature)
3946
+ *
3947
+ * - startsWith(string, prefix): Check if string starts with prefix
3948
+ * Example: event.event_id.startsWith("ts")
3949
+ *
3950
+ * - bytesPrefix(bytes, prefix): Check if bytes start with prefix
3951
+ * Examples:
3952
+ * bytesPrefix(event.payload, b"\x01\x00\x00\x00\x00\x00\x00\x00")
3953
+ * bytesPrefix(event.payload, params.prefix)
3954
+ * bytesPrefix(event.program.value, params.address)
3955
+ * bytesPrefix(event.signature.value, params.signature)
3956
+ *
3957
+ * - first1Byte(bytes): Extract first byte as uint
3958
+ * Example: first1Byte(event.payload) == uint(1)
3959
+ *
3960
+ * - first4Bytes(bytes): Extract first 4 bytes as little-endian uint32
3961
+ * Example: first4Bytes(event.payload) == uint(2)
3962
+ *
3963
+ * - first8Bytes(bytes): Extract first 8 bytes as little-endian uint64
3964
+ * Example: first8Bytes(event.payload) == uint(6)
3965
+ *
3966
+ * - uint(value): Convert value to uint for comparison
3967
+ * - int(value): Convert value to int (used for timestamps)
3968
+ *
3969
+ * Filter expression examples:
3970
+ *
3971
+ * 1. Filter by payload type using first1Byte (MESSAGE event type = 1):
3972
+ * Expression: "first1Byte(event.payload) == uint(1)"
3973
+ *
3974
+ * 2. Filter by payload type using first4Bytes (COUNTER event type = 2):
3975
+ * Expression: "first4Bytes(event.payload) == uint(2)"
3976
+ *
3977
+ * 3. Filter by payload type using first8Bytes (PATTERN event type = 6):
3978
+ * Expression: "first8Bytes(event.payload) == uint(6)"
3979
+ *
3980
+ * 4. Filter by payload prefix with params:
3981
+ * Expression: "bytesPrefix(event.payload, params.prefix)"
3982
+ * Params: {"prefix": <bytes, e.g., 0x01000000...>}
3983
+ *
3984
+ * 5. Filter by slot using params:
3985
+ * Expression: "event.slot >= params.slot"
3986
+ * Params: {"slot": 1000}
3987
+ *
3988
+ * 6. Filter by program address (exact match):
3989
+ * Expression: "event.program.value == params.address"
3990
+ * Params: {"address": <32-byte pubkey as bytes, Pubkey, or TaPubkey>}
3991
+ *
3992
+ * 7. Filter by program address (prefix match):
3993
+ * Expression: "bytesPrefix(event.program.value, params.address)"
3994
+ * Params: {"address": <pubkey prefix bytes>}
3995
+ *
3996
+ * 8. Filter by transaction signature (exact match):
3997
+ * Expression: "event.signature.value == params.signature"
3998
+ * Params: {"signature": <64-byte signature as bytes, Signature, or TsSignature>}
3999
+ *
4000
+ * 9. Filter by transaction signature (prefix match):
4001
+ * Expression: "bytesPrefix(event.signature.value, params.signature)"
4002
+ * Params: {"signature": <signature prefix bytes>}
4003
+ *
4004
+ * 10. Filter by call_idx (0 = main program, 1+ = CPI calls):
4005
+ * Expression: "event.call_idx == uint(0)"
4006
+ * Expression: "event.call_idx == uint(1)"
4007
+ *
4008
+ * 11. Filter by event_id prefix:
4009
+ * Expression: "event.event_id.startsWith(\"ts\")"
4010
+ *
4011
+ * 12. Filter by timestamp (events in last hour):
4012
+ * Expression: "has(event.timestamp) && int(event.timestamp) > int(1700000000)"
4013
+ *
4014
+ * 13. Filter by timestamp using params:
4015
+ * Expression: "has(event.timestamp) && int(event.timestamp) > params.timestamp"
4016
+ * Params: {"timestamp": 1700000000}
4017
+ *
4018
+ * 14. Check field existence:
4019
+ * Expression: "has(event.program) && has(event.signature)"
4020
+ *
4021
+ * 15. Filter using params.u64 with first8Bytes:
4022
+ * Expression: "first8Bytes(event.payload) == params.u64"
4023
+ * Params: {"u64": 6}
4024
+ *
4025
+ * 16. Filter using params.u64 with first4Bytes:
4026
+ * Expression: "first4Bytes(event.payload) == params.u64"
4027
+ * Params: {"u64": 2}
4028
+ *
4029
+ * 17. Filter using params.u64 with first1Byte:
4030
+ * Expression: "first1Byte(event.payload) == params.u64"
4031
+ * Params: {"u64": 1}
4032
+ *
4033
+ * 18. Combined filter (slot + payload type + call_idx):
4034
+ * Expression: "event.slot > uint(1000) && first1Byte(event.payload) == uint(1) && event.call_idx == uint(0)"
4035
+ *
4036
+ * 19. Combined filter (call_idx + program address):
4037
+ * Expression: "event.call_idx == uint(1) && event.program.value == params.address"
4038
+ * Params: {"address": <32-byte CPI target program pubkey>}
4039
+ *
4040
+ * 20. Timestamp range filter:
4041
+ * Expression: "has(event.timestamp) && int(event.timestamp) > int(1700000000) && int(event.timestamp) < int(1700100000)"
4042
+ *
4043
+ * @generated from message thru.services.v1.StreamEventsRequest
4044
+ */
4045
+ type StreamEventsRequest = Message<"thru.services.v1.StreamEventsRequest"> & {
4046
+ /**
4047
+ * @generated from field: optional thru.common.v1.Filter filter = 1;
4048
+ */
4049
+ filter?: Filter;
4050
+ };
4051
+ /**
4052
+ * Describes the message thru.services.v1.StreamEventsRequest.
4053
+ * Use `create(StreamEventsRequestSchema)` to create a new message.
4054
+ */
4055
+ declare const StreamEventsRequestSchema: GenMessage<StreamEventsRequest>;
4056
+ /**
4057
+ * StreamEventsResponse delivers event payloads.
4058
+ *
4059
+ * @generated from message thru.services.v1.StreamEventsResponse
4060
+ */
4061
+ type StreamEventsResponse = Message<"thru.services.v1.StreamEventsResponse"> & {
4062
+ /**
4063
+ * @generated from field: string event_id = 1;
4064
+ */
4065
+ eventId: string;
4066
+ /**
4067
+ * @generated from field: optional bytes payload = 2;
4068
+ */
4069
+ payload?: Uint8Array;
4070
+ /**
4071
+ * @generated from field: optional google.protobuf.Timestamp timestamp = 3;
4072
+ */
4073
+ timestamp?: Timestamp;
4074
+ /**
4075
+ * @generated from field: thru.common.v1.Pubkey program = 4;
4076
+ */
4077
+ program?: Pubkey;
4078
+ /**
4079
+ * @generated from field: uint32 call_idx = 5;
4080
+ */
4081
+ callIdx: number;
4082
+ /**
4083
+ * @generated from field: thru.common.v1.Signature signature = 6;
4084
+ */
4085
+ signature?: Signature;
4086
+ /**
4087
+ * @generated from field: uint64 slot = 7;
4088
+ */
4089
+ slot: bigint;
4090
+ };
4091
+ /**
4092
+ * Describes the message thru.services.v1.StreamEventsResponse.
4093
+ * Use `create(StreamEventsResponseSchema)` to create a new message.
4094
+ */
4095
+ declare const StreamEventsResponseSchema: GenMessage<StreamEventsResponse>;
4096
+ /**
4097
+ * TrackTransactionRequest subscribes to status updates for a transaction.
4098
+ *
4099
+ * @generated from message thru.services.v1.TrackTransactionRequest
4100
+ */
4101
+ type TrackTransactionRequest = Message<"thru.services.v1.TrackTransactionRequest"> & {
4102
+ /**
4103
+ * @generated from field: thru.common.v1.Signature signature = 1;
4104
+ */
4105
+ signature?: Signature;
4106
+ /**
4107
+ * @generated from field: optional google.protobuf.Duration timeout = 2;
4108
+ */
4109
+ timeout?: Duration;
4110
+ };
4111
+ /**
4112
+ * Describes the message thru.services.v1.TrackTransactionRequest.
4113
+ * Use `create(TrackTransactionRequestSchema)` to create a new message.
4114
+ */
4115
+ declare const TrackTransactionRequestSchema: GenMessage<TrackTransactionRequest>;
4116
+ /**
4117
+ * TrackTransactionResponse reports status transitions for a transaction.
4118
+ *
4119
+ * @generated from message thru.services.v1.TrackTransactionResponse
4120
+ */
4121
+ type TrackTransactionResponse = Message<"thru.services.v1.TrackTransactionResponse"> & {
4122
+ /**
4123
+ * @generated from field: thru.common.v1.Signature signature = 1;
4124
+ */
4125
+ signature?: Signature;
4126
+ /**
4127
+ * @generated from field: thru.common.v1.ConsensusStatus consensus_status = 2;
4128
+ */
4129
+ consensusStatus: ConsensusStatus;
4130
+ /**
4131
+ * @generated from field: thru.core.v1.TransactionExecutionResult execution_result = 3;
4132
+ */
4133
+ executionResult?: TransactionExecutionResult;
4134
+ };
4135
+ /**
4136
+ * Describes the message thru.services.v1.TrackTransactionResponse.
4137
+ * Use `create(TrackTransactionResponseSchema)` to create a new message.
4138
+ */
4139
+ declare const TrackTransactionResponseSchema: GenMessage<TrackTransactionResponse>;
4140
+ /**
4141
+ * StreamHeightRequest subscribes to real-time height updates.
4142
+ *
4143
+ * @generated from message thru.services.v1.StreamHeightRequest
4144
+ */
4145
+ type StreamHeightRequest = Message<"thru.services.v1.StreamHeightRequest"> & {};
4146
+ /**
4147
+ * Describes the message thru.services.v1.StreamHeightRequest.
4148
+ * Use `create(StreamHeightRequestSchema)` to create a new message.
4149
+ */
4150
+ declare const StreamHeightRequestSchema: GenMessage<StreamHeightRequest>;
4151
+ /**
4152
+ * StreamHeightResponse delivers height update events.
4153
+ *
4154
+ * @generated from message thru.services.v1.StreamHeightResponse
4155
+ */
4156
+ type StreamHeightResponse = Message<"thru.services.v1.StreamHeightResponse"> & {
4157
+ /**
4158
+ * @generated from field: uint64 finalized = 1;
4159
+ */
4160
+ finalized: bigint;
4161
+ /**
4162
+ * @generated from field: uint64 locally_executed = 2;
4163
+ */
4164
+ locallyExecuted: bigint;
4165
+ /**
4166
+ * @generated from field: uint64 cluster_executed = 3;
4167
+ */
4168
+ clusterExecuted: bigint;
4169
+ };
4170
+ /**
4171
+ * Describes the message thru.services.v1.StreamHeightResponse.
4172
+ * Use `create(StreamHeightResponseSchema)` to create a new message.
4173
+ */
4174
+ declare const StreamHeightResponseSchema: GenMessage<StreamHeightResponse>;
4175
+ /**
4176
+ * StreamingService serves server-streaming gRPC APIs for real-time data.
4177
+ *
4178
+ * @generated from service thru.services.v1.StreamingService
4179
+ */
4180
+ declare const StreamingService: GenService<{
4181
+ /**
4182
+ * @generated from rpc thru.services.v1.StreamingService.StreamBlocks
4183
+ */
4184
+ streamBlocks: {
4185
+ methodKind: "server_streaming";
4186
+ input: typeof StreamBlocksRequestSchema;
4187
+ output: typeof StreamBlocksResponseSchema;
4188
+ };
4189
+ /**
4190
+ * @generated from rpc thru.services.v1.StreamingService.StreamAccountUpdates
4191
+ */
4192
+ streamAccountUpdates: {
4193
+ methodKind: "server_streaming";
4194
+ input: typeof StreamAccountUpdatesRequestSchema;
4195
+ output: typeof StreamAccountUpdatesResponseSchema;
4196
+ };
4197
+ /**
4198
+ * @generated from rpc thru.services.v1.StreamingService.StreamTransactions
4199
+ */
4200
+ streamTransactions: {
4201
+ methodKind: "server_streaming";
4202
+ input: typeof StreamTransactionsRequestSchema;
4203
+ output: typeof StreamTransactionsResponseSchema;
4204
+ };
4205
+ /**
4206
+ * @generated from rpc thru.services.v1.StreamingService.StreamEvents
4207
+ */
4208
+ streamEvents: {
4209
+ methodKind: "server_streaming";
4210
+ input: typeof StreamEventsRequestSchema;
4211
+ output: typeof StreamEventsResponseSchema;
4212
+ };
4213
+ /**
4214
+ * @generated from rpc thru.services.v1.StreamingService.TrackTransaction
4215
+ */
4216
+ trackTransaction: {
4217
+ methodKind: "server_streaming";
4218
+ input: typeof TrackTransactionRequestSchema;
4219
+ output: typeof TrackTransactionResponseSchema;
4220
+ };
4221
+ /**
4222
+ * @generated from rpc thru.services.v1.StreamingService.StreamHeight
4223
+ */
4224
+ streamHeight: {
4225
+ methodKind: "server_streaming";
4226
+ input: typeof StreamHeightRequestSchema;
4227
+ output: typeof StreamHeightResponseSchema;
4228
+ };
4229
+ }>;
4230
+
4231
+ export { type Account, type AccountData, AccountDataSchema, type AccountFlags, AccountFlagsSchema, type AccountMeta, AccountMetaSchema, type AccountPage, AccountPageSchema, AccountSchema, type AccountUpdate, AccountUpdateSchema, AccountView, AccountViewSchema, type BatchSendTransactionsRequest, BatchSendTransactionsRequestSchema, type BatchSendTransactionsResponse, BatchSendTransactionsResponseSchema, type Block, type BlockFinished, BlockFinishedSchema, type BlockFooter, BlockFooterSchema, type BlockHash, BlockHashSchema, type BlockHeader, BlockHeaderSchema, BlockSchema, BlockView, BlockViewSchema, type BytesList, BytesListSchema, type CelFilterValidation, CelFilterValidationSchema, CommandService, ConsensusStatus, ConsensusStatusSchema, type CurrentOrHistoricalVersion, CurrentOrHistoricalVersionSchema, type CurrentVersion, CurrentVersionSchema, type DataSlice, DataSliceSchema, type ErrorDetail, ErrorDetailSchema, ErrorType, ErrorTypeSchema, type Event, EventSchema, ExecutionStatus, ExecutionStatusSchema, type Filter, type FilterParamValue, FilterParamValueSchema, FilterSchema, type GenerateStateProofRequest, GenerateStateProofRequestSchema, type GenerateStateProofResponse, GenerateStateProofResponseSchema, type GetAccountRequest, GetAccountRequestSchema, type GetBlockRequest, GetBlockRequestSchema, type GetEventRequest, GetEventRequestSchema, type GetHeightRequest, GetHeightRequestSchema, type GetHeightResponse, GetHeightResponseSchema, type GetRawAccountRequest, GetRawAccountRequestSchema, type GetRawBlockRequest, GetRawBlockRequestSchema, type GetRawTransactionRequest, GetRawTransactionRequestSchema, type GetStateRootsRequest, GetStateRootsRequestSchema, type GetStateRootsResponse, GetStateRootsResponseSchema, type GetTransactionRequest, GetTransactionRequestSchema, type GetTransactionStatusRequest, GetTransactionStatusRequestSchema, type GetVersionRequest, GetVersionRequestSchema, type GetVersionResponse, GetVersionResponseSchema, type Hash, HashSchema, type ListAccountsRequest, ListAccountsRequestSchema, type ListAccountsResponse, ListAccountsResponseSchema, type ListBlocksRequest, ListBlocksRequestSchema, type ListBlocksResponse, ListBlocksResponseSchema, type ListEventsRequest, ListEventsRequestSchema, type ListEventsResponse, ListEventsResponseSchema, type ListTransactionsForAccountRequest, ListTransactionsForAccountRequestSchema, type ListTransactionsForAccountResponse, ListTransactionsForAccountResponseSchema, type ListTransactionsRequest, ListTransactionsRequestSchema, type ListTransactionsResponse, ListTransactionsResponseSchema, type PageRequest, PageRequestSchema, type PageResponse, PageResponseSchema, type Pubkey, type PubkeyList, PubkeyListSchema, PubkeySchema, QueryService, type RawAccount, RawAccountSchema, type RawBlock, RawBlockSchema, type RawTransaction, RawTransactionSchema, type SendAndTrackTxnRequest, SendAndTrackTxnRequestSchema, type SendAndTrackTxnResponse, SendAndTrackTxnResponseSchema, type SendTransactionRequest, SendTransactionRequestSchema, type SendTransactionResponse, SendTransactionResponseSchema, type Signature, SignatureSchema, type StateProof, type StateProofRequest, StateProofRequestSchema, StateProofSchema, StateProofType, StateProofTypeSchema, type StateRootEntry, StateRootEntrySchema, type StreamAccountUpdatesRequest, StreamAccountUpdatesRequestSchema, type StreamAccountUpdatesResponse, StreamAccountUpdatesResponseSchema, type StreamBlocksRequest, StreamBlocksRequestSchema, type StreamBlocksResponse, StreamBlocksResponseSchema, type StreamEventsRequest, StreamEventsRequestSchema, type StreamEventsResponse, StreamEventsResponseSchema, type StreamHeightRequest, StreamHeightRequestSchema, type StreamHeightResponse, StreamHeightResponseSchema, type StreamTransactionsRequest, StreamTransactionsRequestSchema, type StreamTransactionsResponse, StreamTransactionsResponseSchema, StreamingService, SubmissionStatus, SubmissionStatusSchema, type TaPubkey, TaPubkeySchema, type TrackTransactionRequest, TrackTransactionRequestSchema, type TrackTransactionResponse, TrackTransactionResponseSchema, type Transaction, type TransactionEvent, TransactionEventSchema, type TransactionExecutionResult, TransactionExecutionResultSchema, type TransactionHeader, TransactionHeaderSchema, TransactionSchema, type TransactionStatus, TransactionStatusSchema, TransactionView, TransactionViewSchema, TransactionVmError, TransactionVmErrorSchema, type TsSignature, TsSignatureSchema, type VersionContext, type VersionContextMetadata, VersionContextMetadataSchema, VersionContextSchema, file_thru_common_v1_consensus, file_thru_common_v1_errors, file_thru_common_v1_filters, file_thru_common_v1_pagination, file_thru_common_v1_primitives, file_thru_core_v1_account, file_thru_core_v1_block, file_thru_core_v1_state, file_thru_core_v1_transaction, file_thru_core_v1_types, file_thru_services_v1_command_service, file_thru_services_v1_query_service, file_thru_services_v1_streaming_service };