import { GenMessage, GenFile, GenEnum, GenService } from '@bufbuild/protobuf/codegenv2'; import { P as Pubkey, S as Signature, T as TaPubkey, x as TsSignature, C as ConsensusStatus, V as VersionContext, j as AccountView, R as RawAccount, D as DataSlice, A as Account, i as AccountSchema, s as RawAccountSchema } from './account_pb-nVy1q-D5.cjs'; import { Timestamp, Duration } from '@bufbuild/protobuf/wkt'; import { Message } from '@bufbuild/protobuf'; /** * Describes the file thru/common/v1/filters.proto. */ declare const file_thru_common_v1_filters: GenFile; /** * Filter represents a CEL-based expression applied to query or stream results. * * @generated from message thru.common.v1.Filter */ type Filter = Message<"thru.common.v1.Filter"> & { /** * CEL expression applied server-side. Empty expressions are treated as no-op. * * @generated from field: optional string expression = 1; */ expression?: string | undefined; /** * Named parameter bindings for expression parameterization. * * @generated from field: map params = 2; */ params: { [key: string]: FilterParamValue; }; }; /** * Describes the message thru.common.v1.Filter. * Use `create(FilterSchema)` to create a new message. */ declare const FilterSchema: GenMessage; /** * FilterParamValue carries strongly-typed CEL parameter bindings. * * @generated from message thru.common.v1.FilterParamValue */ type FilterParamValue = Message<"thru.common.v1.FilterParamValue"> & { /** * @generated from oneof thru.common.v1.FilterParamValue.kind */ kind: { /** * @generated from field: string string_value = 1; */ value: string; case: "stringValue"; } | { /** * @generated from field: bytes bytes_value = 2; */ value: Uint8Array; case: "bytesValue"; } | { /** * @generated from field: bool bool_value = 3; */ value: boolean; case: "boolValue"; } | { /** * @generated from field: sint64 int_value = 4; */ value: bigint; case: "intValue"; } | { /** * @generated from field: uint64 uint_value = 5; */ value: bigint; case: "uintValue"; } | { /** * @generated from field: double double_value = 6; */ value: number; case: "doubleValue"; } | { /** * @generated from field: thru.common.v1.Pubkey pubkey_value = 7; */ value: Pubkey; case: "pubkeyValue"; } | { /** * @generated from field: thru.common.v1.Signature signature_value = 8; */ value: Signature; case: "signatureValue"; } | { /** * @generated from field: thru.common.v1.TaPubkey ta_pubkey_value = 9; */ value: TaPubkey; case: "taPubkeyValue"; } | { /** * @generated from field: thru.common.v1.TsSignature ts_signature_value = 10; */ value: TsSignature; case: "tsSignatureValue"; } | { /** * @generated from field: thru.common.v1.BytesList bytes_list_value = 11; */ value: BytesList; case: "bytesListValue"; } | { /** * @generated from field: thru.common.v1.PubkeyList pubkey_list_value = 12; */ value: PubkeyList; case: "pubkeyListValue"; } | { case: undefined; value?: undefined; }; }; /** * Describes the message thru.common.v1.FilterParamValue. * Use `create(FilterParamValueSchema)` to create a new message. */ declare const FilterParamValueSchema: GenMessage; /** * BytesList holds a list of byte arrays for multi-value CEL filtering. * * @generated from message thru.common.v1.BytesList */ type BytesList = Message<"thru.common.v1.BytesList"> & { /** * @generated from field: repeated bytes values = 1; */ values: Uint8Array[]; }; /** * Describes the message thru.common.v1.BytesList. * Use `create(BytesListSchema)` to create a new message. */ declare const BytesListSchema: GenMessage; /** * PubkeyList holds a list of pubkeys for multi-value CEL filtering. * * @generated from message thru.common.v1.PubkeyList */ type PubkeyList = Message<"thru.common.v1.PubkeyList"> & { /** * @generated from field: repeated thru.common.v1.Pubkey values = 1; */ values: Pubkey[]; }; /** * Describes the message thru.common.v1.PubkeyList. * Use `create(PubkeyListSchema)` to create a new message. */ declare const PubkeyListSchema: GenMessage; /** * CelFilterValidation describes the validation configuration returned to * clients to help them build safe filter expressions. * * @generated from message thru.common.v1.CelFilterValidation */ type CelFilterValidation = Message<"thru.common.v1.CelFilterValidation"> & { /** * List of allowed CEL function names for a specific request type. * * @generated from field: repeated string allowed_functions = 1; */ allowedFunctions: string[]; /** * List of allowed field names accessible to the CEL expression. * * @generated from field: repeated string allowed_fields = 2; */ allowedFields: string[]; /** * Maximum AST node count permitted for a CEL expression. * * @generated from field: optional uint32 max_complexity = 3; */ maxComplexity?: number | undefined; }; /** * Describes the message thru.common.v1.CelFilterValidation. * Use `create(CelFilterValidationSchema)` to create a new message. */ declare const CelFilterValidationSchema: GenMessage; /** * Describes the file thru/common/v1/pagination.proto. */ declare const file_thru_common_v1_pagination: GenFile; /** * PageRequest contains pagination parameters for listing RPCs. * * @generated from message thru.common.v1.PageRequest */ type PageRequest = Message<"thru.common.v1.PageRequest"> & { /** * Maximum number of items to return in a single response. * * @generated from field: optional uint32 page_size = 1; */ pageSize?: number | undefined; /** * Token identifying the position to resume from. * * @generated from field: optional string page_token = 2; */ pageToken?: string | undefined; /** * Optional ordering specification in "field [asc|desc]" form. * * @generated from field: optional string order_by = 3; */ orderBy?: string | undefined; }; /** * Describes the message thru.common.v1.PageRequest. * Use `create(PageRequestSchema)` to create a new message. */ declare const PageRequestSchema: GenMessage; /** * PageResponse captures pagination metadata returned with list results. * * @generated from message thru.common.v1.PageResponse */ type PageResponse = Message<"thru.common.v1.PageResponse"> & { /** * Token to retrieve the next page of results, if any. * * @generated from field: optional string next_page_token = 1; */ nextPageToken?: string | undefined; /** * Total number of items available when known. * * @generated from field: optional uint64 total_size = 2; */ totalSize?: bigint | undefined; }; /** * Describes the message thru.common.v1.PageResponse. * Use `create(PageResponseSchema)` to create a new message. */ declare const PageResponseSchema: GenMessage; /** * Describes the file thru/core/v1/types.proto. */ declare const file_thru_core_v1_types: GenFile; /** * Hash represents a 32-byte hash value. * * @generated from message thru.core.v1.Hash */ type Hash = Message<"thru.core.v1.Hash"> & { /** * 32-byte hash buffer. * * @generated from field: bytes value = 1; */ value: Uint8Array; }; /** * Describes the message thru.core.v1.Hash. * Use `create(HashSchema)` to create a new message. */ declare const HashSchema: GenMessage; /** * BlockHash represents a 32-byte hash for block identifiers. * * @generated from message thru.core.v1.BlockHash */ type BlockHash = Message<"thru.core.v1.BlockHash"> & { /** * 32-byte block hash buffer. * * @generated from field: bytes value = 1; */ value: Uint8Array; }; /** * Describes the message thru.core.v1.BlockHash. * Use `create(BlockHashSchema)` to create a new message. */ declare const BlockHashSchema: GenMessage; /** * Describes the file thru/core/v1/block.proto. */ declare const file_thru_core_v1_block: GenFile; /** * BlockHeader describes metadata about a block. * * @generated from message thru.core.v1.BlockHeader */ type BlockHeader = Message<"thru.core.v1.BlockHeader"> & { /** * @generated from field: uint64 slot = 1; */ slot: bigint; /** * @generated from field: thru.core.v1.BlockHash block_hash = 2; */ blockHash?: BlockHash | undefined; /** * @generated from field: thru.common.v1.Signature header_signature = 3; */ headerSignature?: Signature | undefined; /** * @generated from field: uint32 version = 4; */ version: number; /** * @generated from field: thru.common.v1.Pubkey producer = 5; */ producer?: Pubkey | undefined; /** * @generated from field: google.protobuf.Timestamp expiry_timestamp = 6; */ expiryTimestamp?: Timestamp | undefined; /** * @generated from field: uint64 start_slot = 7; */ startSlot: bigint; /** * @generated from field: uint32 expiry_after = 8; */ expiryAfter: number; /** * @generated from field: uint32 max_block_size = 9; */ maxBlockSize: number; /** * @generated from field: uint64 max_compute_units = 10; */ maxComputeUnits: bigint; /** * @generated from field: uint32 max_state_units = 11; */ maxStateUnits: number; /** * @generated from field: uint64 bond_amount_lock_up = 12; */ bondAmountLockUp: bigint; /** * @generated from field: google.protobuf.Timestamp block_time = 13; */ blockTime?: Timestamp | undefined; /** * @generated from field: uint64 weight_slot = 14; */ weightSlot: bigint; /** * @generated from field: uint32 chain_id = 15; */ chainId: number; }; /** * Describes the message thru.core.v1.BlockHeader. * Use `create(BlockHeaderSchema)` to create a new message. */ declare const BlockHeaderSchema: GenMessage; /** * BlockFooter captures execution result metadata for a block. * * @generated from message thru.core.v1.BlockFooter */ type BlockFooter = Message<"thru.core.v1.BlockFooter"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; /** * @generated from field: thru.core.v1.ExecutionStatus status = 2; */ status: ExecutionStatus; /** * @generated from field: uint64 consumed_compute_units = 3; */ consumedComputeUnits: bigint; /** * @generated from field: uint32 consumed_state_units = 4; */ consumedStateUnits: number; /** * @generated from field: uint64 attestor_payment = 5; */ attestorPayment: bigint; }; /** * Describes the message thru.core.v1.BlockFooter. * Use `create(BlockFooterSchema)` to create a new message. */ declare const BlockFooterSchema: GenMessage; /** * Block represents a fully decoded block resource. * * @generated from message thru.core.v1.Block */ type Block = Message<"thru.core.v1.Block"> & { /** * @generated from field: thru.core.v1.BlockHeader header = 1; */ header?: BlockHeader | undefined; /** * @generated from field: optional thru.core.v1.BlockFooter footer = 2; */ footer?: BlockFooter | undefined; /** * @generated from field: optional bytes body = 3; */ body?: Uint8Array | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus consensus_status = 4; */ consensusStatus?: ConsensusStatus | undefined; }; /** * Describes the message thru.core.v1.Block. * Use `create(BlockSchema)` to create a new message. */ declare const BlockSchema: GenMessage; /** * RawBlock captures raw block bytes for direct access. * * @generated from message thru.core.v1.RawBlock */ type RawBlock = Message<"thru.core.v1.RawBlock"> & { /** * @generated from field: uint64 slot = 1; */ slot: bigint; /** * @generated from field: bytes raw_block = 2; */ rawBlock: Uint8Array; }; /** * Describes the message thru.core.v1.RawBlock. * Use `create(RawBlockSchema)` to create a new message. */ declare const RawBlockSchema: GenMessage; /** * BlockView controls how much of a block resource is returned. * * @generated from enum thru.core.v1.BlockView */ declare enum BlockView { /** * @generated from enum value: BLOCK_VIEW_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: BLOCK_VIEW_HEADER_ONLY = 1; */ HEADER_ONLY = 1, /** * @generated from enum value: BLOCK_VIEW_HEADER_AND_FOOTER = 2; */ HEADER_AND_FOOTER = 2, /** * @generated from enum value: BLOCK_VIEW_BODY_ONLY = 3; */ BODY_ONLY = 3, /** * @generated from enum value: BLOCK_VIEW_FULL = 4; */ FULL = 4 } /** * Describes the enum thru.core.v1.BlockView. */ declare const BlockViewSchema: GenEnum; /** * ExecutionStatus enumerates block execution results. * * @generated from enum thru.core.v1.ExecutionStatus */ declare enum ExecutionStatus { /** * @generated from enum value: EXECUTION_STATUS_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: EXECUTION_STATUS_PENDING = 1; */ PENDING = 1, /** * @generated from enum value: EXECUTION_STATUS_EXECUTED = 2; */ EXECUTED = 2, /** * @generated from enum value: EXECUTION_STATUS_FAILED = 3; */ FAILED = 3 } /** * Describes the enum thru.core.v1.ExecutionStatus. */ declare const ExecutionStatusSchema: GenEnum; /** * Describes the file thru/core/v1/node.proto. */ declare const file_thru_core_v1_node: GenFile; /** * NodeContact represents a network contact address for a node. * * @generated from message thru.core.v1.NodeContact */ type NodeContact = Message<"thru.core.v1.NodeContact"> & { /** * IPv4 address as 32-bit integer (network byte order). * * @generated from field: uint32 ip4_addr = 1; */ ip4Addr: number; /** * Port number. * * @generated from field: uint32 port = 2; */ port: number; }; /** * Describes the message thru.core.v1.NodeContact. * Use `create(NodeContactSchema)` to create a new message. */ declare const NodeContactSchema: GenMessage; /** * NodeProtocol represents a protocol supported by a node contact. * * @generated from message thru.core.v1.NodeProtocol */ type NodeProtocol = Message<"thru.core.v1.NodeProtocol"> & { /** * Index into the contacts array. * * @generated from field: uint32 contact_idx = 1; */ contactIdx: number; /** * Protocol identifier (discovery=1, block_dissem=2, consensus=3, snapshot=4, repair=5, transaction=6). * * @generated from field: uint32 protocol_id = 2; */ protocolId: number; }; /** * Describes the message thru.core.v1.NodeProtocol. * Use `create(NodeProtocolSchema)` to create a new message. */ declare const NodeProtocolSchema: GenMessage; /** * NodeRecord represents a node's signed identity and network information. * * @generated from message thru.core.v1.NodeRecord */ type NodeRecord = Message<"thru.core.v1.NodeRecord"> & { /** * Record version. * * @generated from field: uint32 version = 1; */ version: number; /** * Chain identifier. * * @generated from field: uint32 chain_id = 2; */ chainId: number; /** * Sequence number (incremented on each record update). * * @generated from field: uint64 seqnum = 3; */ seqnum: bigint; /** * Node's ED25519 public key. * * @generated from field: thru.common.v1.Pubkey pubkey = 4; */ pubkey?: Pubkey | undefined; /** * Network contact addresses. * * @generated from field: repeated thru.core.v1.NodeContact contacts = 5; */ contacts: NodeContact[]; /** * Protocols supported at each contact. * * @generated from field: repeated thru.core.v1.NodeProtocol protocols = 6; */ protocols: NodeProtocol[]; /** * ED25519 signature over the record. * * @generated from field: bytes signature = 7; */ signature: Uint8Array; /** * True if this is the responding node's own record. * * @generated from field: bool is_own = 8; */ isOwn: boolean; }; /** * Describes the message thru.core.v1.NodeRecord. * Use `create(NodeRecordSchema)` to create a new message. */ declare const NodeRecordSchema: GenMessage; /** * Describes the file thru/core/v1/state.proto. */ declare const file_thru_core_v1_state: GenFile; /** * StateProofRequest describes a request to generate an account state proof. * * @generated from message thru.core.v1.StateProofRequest */ type StateProofRequest = Message<"thru.core.v1.StateProofRequest"> & { /** * @generated from field: thru.common.v1.Pubkey address = 1; */ address?: Pubkey | undefined; /** * @generated from field: thru.core.v1.StateProofType proof_type = 2; */ proofType: StateProofType; /** * @generated from field: optional uint64 target_slot = 3; */ targetSlot?: bigint | undefined; }; /** * Describes the message thru.core.v1.StateProofRequest. * Use `create(StateProofRequestSchema)` to create a new message. */ declare const StateProofRequestSchema: GenMessage; /** * StateProof returns binary proof data along with context. * * @generated from message thru.core.v1.StateProof */ type StateProof = Message<"thru.core.v1.StateProof"> & { /** * @generated from field: bytes proof = 1; */ proof: Uint8Array; /** * @generated from field: uint64 slot = 2; */ slot: bigint; }; /** * Describes the message thru.core.v1.StateProof. * Use `create(StateProofSchema)` to create a new message. */ declare const StateProofSchema: GenMessage; /** * StateProofType selects the type of state proof to generate. * * @generated from enum thru.core.v1.StateProofType */ declare enum StateProofType { /** * @generated from enum value: STATE_PROOF_TYPE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: STATE_PROOF_TYPE_CREATING = 1; */ CREATING = 1, /** * @generated from enum value: STATE_PROOF_TYPE_UPDATING = 2; */ UPDATING = 2, /** * @generated from enum value: STATE_PROOF_TYPE_EXISTING = 3; */ EXISTING = 3 } /** * Describes the enum thru.core.v1.StateProofType. */ declare const StateProofTypeSchema: GenEnum; /** * Describes the file thru/core/v1/transaction.proto. */ declare const file_thru_core_v1_transaction: GenFile; /** * TransactionHeader carries structured metadata for a transaction. * * @generated from message thru.core.v1.TransactionHeader */ type TransactionHeader = Message<"thru.core.v1.TransactionHeader"> & { /** * @generated from field: thru.common.v1.Signature fee_payer_signature = 1; */ feePayerSignature?: Signature | undefined; /** * @generated from field: uint32 version = 2; */ version: number; /** * @generated from field: uint32 flags = 3; */ flags: number; /** * @generated from field: uint32 readwrite_accounts_count = 4; */ readwriteAccountsCount: number; /** * @generated from field: uint32 readonly_accounts_count = 5; */ readonlyAccountsCount: number; /** * @generated from field: uint32 instruction_data_size = 6; */ instructionDataSize: number; /** * @generated from field: uint32 requested_compute_units = 7; */ requestedComputeUnits: number; /** * @generated from field: uint32 requested_state_units = 8; */ requestedStateUnits: number; /** * @generated from field: uint32 requested_memory_units = 9; */ requestedMemoryUnits: number; /** * @generated from field: uint32 expiry_after = 10; */ expiryAfter: number; /** * @generated from field: uint64 fee = 11; */ fee: bigint; /** * @generated from field: uint64 nonce = 12; */ nonce: bigint; /** * @generated from field: uint64 start_slot = 13; */ startSlot: bigint; /** * @generated from field: thru.common.v1.Pubkey fee_payer_pubkey = 14; */ feePayerPubkey?: Pubkey | undefined; /** * @generated from field: thru.common.v1.Pubkey program_pubkey = 15; */ programPubkey?: Pubkey | undefined; /** * Chain identifier to prevent transaction replay across different chains. * * @generated from field: uint32 chain_id = 16; */ chainId: number; }; /** * Describes the message thru.core.v1.TransactionHeader. * Use `create(TransactionHeaderSchema)` to create a new message. */ declare const TransactionHeaderSchema: GenMessage; /** * TransactionExecutionResult captures execution outcomes. * * @generated from message thru.core.v1.TransactionExecutionResult */ type TransactionExecutionResult = Message<"thru.core.v1.TransactionExecutionResult"> & { /** * @generated from field: uint32 consumed_compute_units = 1; */ consumedComputeUnits: number; /** * @generated from field: uint32 consumed_memory_units = 2; */ consumedMemoryUnits: number; /** * @generated from field: uint32 consumed_state_units = 3; */ consumedStateUnits: number; /** * @generated from field: uint64 user_error_code = 4; */ userErrorCode: bigint; /** * @generated from field: thru.core.v1.TransactionVmError vm_error = 5; */ vmError: TransactionVmError; /** * @generated from field: uint64 execution_result = 6; */ executionResult: bigint; /** * @generated from field: uint32 pages_used = 7; */ pagesUsed: number; /** * @generated from field: uint32 events_count = 8; */ eventsCount: number; /** * @generated from field: uint32 events_size = 9; */ eventsSize: number; /** * @generated from field: repeated thru.common.v1.Pubkey readwrite_accounts = 10; */ readwriteAccounts: Pubkey[]; /** * @generated from field: repeated thru.common.v1.Pubkey readonly_accounts = 11; */ readonlyAccounts: Pubkey[]; /** * @generated from field: repeated thru.core.v1.TransactionEvent events = 12; */ events: TransactionEvent[]; /** * Account index of the program that caused the error (revert, fault, etc.). * Only meaningful when vm_error indicates a failure. * * @generated from field: uint32 error_program_acc_idx = 13; */ errorProgramAccIdx: number; /** * The nonce the runtime requires for the next transaction from this fee * payer, as of this transaction's execution. Populated ONLY when vm_error is * TRANSACTION_VM_ERROR_NONCE_TOO_LOW or TRANSACTION_VM_ERROR_NONCE_TOO_HIGH; * absent otherwise. A nonce reject does not advance the nonce, so retrying * with this value is correct. * * This is not necessarily the account's live nonce by the time you read it: * another transaction from the same fee payer may have landed since. Treat it * as a correction to retry against, not a reservation. For a fee payer * restored by a creation state proof it is 0, and no account exists yet. * * @generated from field: optional uint64 fee_payer_expected_nonce = 14; */ feePayerExpectedNonce?: bigint | undefined; }; /** * Describes the message thru.core.v1.TransactionExecutionResult. * Use `create(TransactionExecutionResultSchema)` to create a new message. */ declare const TransactionExecutionResultSchema: GenMessage; /** * TransactionEvent describes an event emitted during transaction execution. * * @generated from message thru.core.v1.TransactionEvent */ type TransactionEvent = Message<"thru.core.v1.TransactionEvent"> & { /** * @generated from field: string event_id = 1; */ eventId: string; /** * @generated from field: uint32 call_idx = 2; */ callIdx: number; /** * @generated from field: uint32 program_idx = 3; */ programIdx: number; /** * @generated from field: thru.common.v1.Pubkey program = 4; */ program?: Pubkey | undefined; /** * @generated from field: bytes payload = 5; */ payload: Uint8Array; }; /** * Describes the message thru.core.v1.TransactionEvent. * Use `create(TransactionEventSchema)` to create a new message. */ declare const TransactionEventSchema: GenMessage; /** * Transaction describes a fully decoded transaction resource. * * @generated from message thru.core.v1.Transaction */ type Transaction = Message<"thru.core.v1.Transaction"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; /** * @generated from field: thru.core.v1.TransactionHeader header = 2; */ header?: TransactionHeader | undefined; /** * @generated from field: optional bytes body = 3; */ body?: Uint8Array | undefined; /** * @generated from field: optional thru.core.v1.TransactionExecutionResult execution_result = 4; */ executionResult?: TransactionExecutionResult | undefined; /** * @generated from field: optional uint64 slot = 5; */ slot?: bigint | undefined; /** * @generated from field: optional uint32 block_offset = 6; */ blockOffset?: number | undefined; }; /** * Describes the message thru.core.v1.Transaction. * Use `create(TransactionSchema)` to create a new message. */ declare const TransactionSchema: GenMessage; /** * RawTransaction provides direct access to serialized transaction bytes. * * @generated from message thru.core.v1.RawTransaction */ type RawTransaction = Message<"thru.core.v1.RawTransaction"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; /** * @generated from field: bytes raw_transaction = 2; */ rawTransaction: Uint8Array; }; /** * Describes the message thru.core.v1.RawTransaction. * Use `create(RawTransactionSchema)` to create a new message. */ declare const RawTransactionSchema: GenMessage; /** * TransactionView controls how transactions are materialized in responses. * * @generated from enum thru.core.v1.TransactionView */ declare enum TransactionView { /** * @generated from enum value: TRANSACTION_VIEW_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: TRANSACTION_VIEW_SIGNATURE_ONLY = 1; */ SIGNATURE_ONLY = 1, /** * @generated from enum value: TRANSACTION_VIEW_HEADER_ONLY = 2; */ HEADER_ONLY = 2, /** * @generated from enum value: TRANSACTION_VIEW_HEADER_AND_BODY = 3; */ HEADER_AND_BODY = 3, /** * @generated from enum value: TRANSACTION_VIEW_FULL = 4; */ FULL = 4 } /** * Describes the enum thru.core.v1.TransactionView. */ declare const TransactionViewSchema: GenEnum; /** * TransactionVmError enumerates runtime error codes returned by the executor. * * @generated from enum thru.core.v1.TransactionVmError */ declare enum TransactionVmError { /** * TN_RUNTIME_TXN_EXECUTE_SUCCESS * * @generated from enum value: TRANSACTION_VM_EXECUTE_SUCCESS = 0; */ TRANSACTION_VM_EXECUTE_SUCCESS = 0, /** * TN_RUNTIME_TXN_ERR_INVALID_FORMAT * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FORMAT = -255; */ TRANSACTION_VM_ERROR_INVALID_FORMAT = -255, /** * TN_RUNTIME_TXN_ERR_INVALID_VERSION * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_VERSION = -254; */ TRANSACTION_VM_ERROR_INVALID_VERSION = -254, /** * TN_RUNTIME_TXN_ERR_INVALID_FLAGS * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FLAGS = -253; */ TRANSACTION_VM_ERROR_INVALID_FLAGS = -253, /** * TN_RUNTIME_TXN_ERR_INVALID_SIGNATURE * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_SIGNATURE = -252; */ TRANSACTION_VM_ERROR_INVALID_SIGNATURE = -252, /** * TN_RUNTIME_TXN_ERR_DUPLICATE_ACCOUNT * * @generated from enum value: TRANSACTION_VM_ERROR_DUPLICATE_ACCOUNT = -251; */ TRANSACTION_VM_ERROR_DUPLICATE_ACCOUNT = -251, /** * TN_RUNTIME_TXN_ERR_UNSORTED_ACCOUNTS * * @generated from enum value: TRANSACTION_VM_ERROR_UNSORTED_ACCOUNTS = -250; */ TRANSACTION_VM_ERROR_UNSORTED_ACCOUNTS = -250, /** * TN_RUNTIME_TXN_ERR_UNSORTED_READWRITE_ACCOUNTS * * @generated from enum value: TRANSACTION_VM_ERROR_UNSORTED_READWRITE_ACCOUNTS = -249; */ TRANSACTION_VM_ERROR_UNSORTED_READWRITE_ACCOUNTS = -249, /** * TN_RUNTIME_TXN_ERR_UNSORTED_READONLY_ACCOUNTS * * @generated from enum value: TRANSACTION_VM_ERROR_UNSORTED_READONLY_ACCOUNTS = -248; */ TRANSACTION_VM_ERROR_UNSORTED_READONLY_ACCOUNTS = -248, /** * TN_RUNTIME_TXN_ERR_ACCOUNT_COUNT_LIMIT_EXCEEDED * * @generated from enum value: TRANSACTION_VM_ERROR_ACCOUNT_COUNT_LIMIT_EXCEEDED = -247; */ TRANSACTION_VM_ERROR_ACCOUNT_COUNT_LIMIT_EXCEEDED = -247, /** * TN_RUNTIME_TXN_ERR_NONCE_TOO_LOW * * @generated from enum value: TRANSACTION_VM_ERROR_NONCE_TOO_LOW = -511; */ TRANSACTION_VM_ERROR_NONCE_TOO_LOW = -511, /** * TN_RUNTIME_TXN_ERR_NONCE_TOO_HIGH * * @generated from enum value: TRANSACTION_VM_ERROR_NONCE_TOO_HIGH = -510; */ TRANSACTION_VM_ERROR_NONCE_TOO_HIGH = -510, /** * TN_RUNTIME_TXN_ERR_INSUFFICIENT_FEE_PAYER_BALANCE * * @generated from enum value: TRANSACTION_VM_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = -509; */ TRANSACTION_VM_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = -509, /** * TN_RUNTIME_TXN_ERR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST * * @generated from enum value: TRANSACTION_VM_ERROR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST = -508; */ TRANSACTION_VM_ERROR_FEE_PAYER_ACCOUNT_DOES_NOT_EXIST = -508, /** * TN_RUNTIME_TXN_ERR_NOT_LIVE_YET * * @generated from enum value: TRANSACTION_VM_ERROR_NOT_LIVE_YET = -507; */ TRANSACTION_VM_ERROR_NOT_LIVE_YET = -507, /** * TN_RUNTIME_TXN_ERR_EXPIRED * * @generated from enum value: TRANSACTION_VM_ERROR_EXPIRED = -506; */ TRANSACTION_VM_ERROR_EXPIRED = -506, /** * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF = -505; */ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF = -505, /** * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_TYPE * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_TYPE = -504; */ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_TYPE = -504, /** * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_SLOT * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_SLOT = -503; */ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_SLOT = -503, /** * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_ACCOUNT_OWNER * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_ACCOUNT_OWNER = -502; */ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_ACCOUNT_OWNER = -502, /** * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER = -501; */ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_OWNER = -501, /** * TN_RUNTIME_TXN_ERR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ = -500; */ TRANSACTION_VM_ERROR_INVALID_FEE_PAYER_STATE_PROOF_ACCOUNT_META_DATA_SZ = -500, /** * TN_RUNTIME_TXN_ERR_FEE_PAYER_ACTIVATION_REQUIRES_STATE_UNIT * * @generated from enum value: TRANSACTION_VM_ERROR_FEE_PAYER_ACTIVATION_REQUIRES_STATE_UNIT = -497; */ TRANSACTION_VM_ERROR_FEE_PAYER_ACTIVATION_REQUIRES_STATE_UNIT = -497, /** * TN_RUNTIME_TXN_ERR_BLOCK_STATE_BUDGET_EXCEEDED * * @generated from enum value: TRANSACTION_VM_ERROR_BLOCK_STATE_BUDGET_EXCEEDED = -496; */ TRANSACTION_VM_ERROR_BLOCK_STATE_BUDGET_EXCEEDED = -496, /** * TN_RUNTIME_TXN_ERR_VM_FAILED * * @generated from enum value: TRANSACTION_VM_ERROR_VM_FAILED = -767; */ TRANSACTION_VM_ERROR_VM_FAILED = -767, /** * TN_RUNTIME_TXN_ERR_INVALID_PROGRAM_ACCOUNT * * @generated from enum value: TRANSACTION_VM_ERROR_INVALID_PROGRAM_ACCOUNT = -766; */ TRANSACTION_VM_ERROR_INVALID_PROGRAM_ACCOUNT = -766, /** * TN_RUNTIME_TXN_ERR_VM_REVERT * * @generated from enum value: TRANSACTION_VM_ERROR_VM_REVERT = -765; */ TRANSACTION_VM_ERROR_VM_REVERT = -765, /** * TN_RUNTIME_TXN_ERR_CU_EXHAUSTED * * @generated from enum value: TRANSACTION_VM_ERROR_CU_EXHAUSTED = -764; */ TRANSACTION_VM_ERROR_CU_EXHAUSTED = -764, /** * TN_RUNTIME_TXN_ERR_SU_EXHAUSTED * * @generated from enum value: TRANSACTION_VM_ERROR_SU_EXHAUSTED = -763; */ TRANSACTION_VM_ERROR_SU_EXHAUSTED = -763 } /** * Describes the enum thru.core.v1.TransactionVmError. */ declare const TransactionVmErrorSchema: GenEnum; /** * Describes the file thru/services/v1/command_service.proto. */ declare const file_thru_services_v1_command_service: GenFile; /** * SendTransactionRequest submits a transaction to the cluster. * * @generated from message thru.services.v1.SendTransactionRequest */ type SendTransactionRequest = Message<"thru.services.v1.SendTransactionRequest"> & { /** * Raw transaction bytes encoded according to chain specification. * * @generated from field: bytes raw_transaction = 1; */ rawTransaction: Uint8Array; }; /** * Describes the message thru.services.v1.SendTransactionRequest. * Use `create(SendTransactionRequestSchema)` to create a new message. */ declare const SendTransactionRequestSchema: GenMessage; /** * SendTransactionResponse echoes submission metadata. * * @generated from message thru.services.v1.SendTransactionResponse */ type SendTransactionResponse = Message<"thru.services.v1.SendTransactionResponse"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; }; /** * Describes the message thru.services.v1.SendTransactionResponse. * Use `create(SendTransactionResponseSchema)` to create a new message. */ declare const SendTransactionResponseSchema: GenMessage; /** * BatchSendTransactionsRequest submits multiple transactions to the cluster. * * @generated from message thru.services.v1.BatchSendTransactionsRequest */ type BatchSendTransactionsRequest = Message<"thru.services.v1.BatchSendTransactionsRequest"> & { /** * List of raw transaction bytes encoded according to chain specification. * * @generated from field: repeated bytes raw_transactions = 1; */ rawTransactions: Uint8Array[]; /** * Number of retries for each transaction if not accepted by UDS (defaults to 0). * * @generated from field: int32 num_retries = 2; */ numRetries: number; }; /** * Describes the message thru.services.v1.BatchSendTransactionsRequest. * Use `create(BatchSendTransactionsRequestSchema)` to create a new message. */ declare const BatchSendTransactionsRequestSchema: GenMessage; /** * BatchSendTransactionsResponse returns submission results for each transaction. * * @generated from message thru.services.v1.BatchSendTransactionsResponse */ type BatchSendTransactionsResponse = Message<"thru.services.v1.BatchSendTransactionsResponse"> & { /** * Signatures for each transaction (in same order as request). * * @generated from field: repeated thru.common.v1.Signature signatures = 1; */ signatures: Signature[]; /** * Acceptance status for each transaction (true if accepted, false if not). * * @generated from field: repeated bool accepted = 2; */ accepted: boolean[]; }; /** * Describes the message thru.services.v1.BatchSendTransactionsResponse. * Use `create(BatchSendTransactionsResponseSchema)` to create a new message. */ declare const BatchSendTransactionsResponseSchema: GenMessage; /** * SendAndTrackTxnRequest submits a transaction and tracks its execution. * * @generated from message thru.services.v1.SendAndTrackTxnRequest */ type SendAndTrackTxnRequest = Message<"thru.services.v1.SendAndTrackTxnRequest"> & { /** * Raw transaction bytes encoded according to chain specification. * * @generated from field: bytes transaction = 1; */ transaction: Uint8Array; /** * Optional timeout for tracking the transaction execution. * If not specified, the stream will remain open until the transaction is executed or the client cancels. * * @generated from field: google.protobuf.Duration timeout = 2; */ timeout?: Duration | undefined; }; /** * Describes the message thru.services.v1.SendAndTrackTxnRequest. * Use `create(SendAndTrackTxnRequestSchema)` to create a new message. */ declare const SendAndTrackTxnRequestSchema: GenMessage; /** * SendAndTrackTxnResponse streams transaction status updates. * * @generated from message thru.services.v1.SendAndTrackTxnResponse */ type SendAndTrackTxnResponse = Message<"thru.services.v1.SendAndTrackTxnResponse"> & { /** * Current submission status of the transaction. * * @generated from field: thru.services.v1.SubmissionStatus status = 1; */ status: SubmissionStatus; /** * Transaction signature (populated for tracking messages). * * @generated from field: thru.common.v1.Signature signature = 2; */ signature?: Signature | undefined; /** * Consensus status (populated for tracking messages). * * @generated from field: thru.common.v1.ConsensusStatus consensus_status = 3; */ consensusStatus: ConsensusStatus; /** * Execution result (populated for tracking messages when execution completes). * * @generated from field: thru.core.v1.TransactionExecutionResult execution_result = 4; */ executionResult?: TransactionExecutionResult | undefined; }; /** * Describes the message thru.services.v1.SendAndTrackTxnResponse. * Use `create(SendAndTrackTxnResponseSchema)` to create a new message. */ declare const SendAndTrackTxnResponseSchema: GenMessage; /** * SubmissionStatus represents the status of a transaction in the submission pipeline. * * @generated from enum thru.services.v1.SubmissionStatus */ declare enum SubmissionStatus { /** * Submission status is unspecified (default value). * * @generated from enum value: SUBMISSION_STATUS_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * Transaction has been received by the gRPC server. * * @generated from enum value: SUBMISSION_STATUS_RECEIVED = 1; */ RECEIVED = 1, /** * Transaction has been accepted by the forwarder via UDS. * * @generated from enum value: SUBMISSION_STATUS_ACCEPTED = 2; */ ACCEPTED = 2 } /** * Describes the enum thru.services.v1.SubmissionStatus. */ declare const SubmissionStatusSchema: GenEnum; /** * CommandService defines transactional RPCs that mutate state or perform * expensive computations. * * @generated from service thru.services.v1.CommandService */ declare const CommandService: GenService<{ /** * Submit a new transaction to the cluster. * * @generated from rpc thru.services.v1.CommandService.SendTransaction */ sendTransaction: { methodKind: "unary"; input: typeof SendTransactionRequestSchema; output: typeof SendTransactionResponseSchema; }; /** * Submit multiple transactions to the cluster in batch. * * @generated from rpc thru.services.v1.CommandService.BatchSendTransactions */ batchSendTransactions: { methodKind: "unary"; input: typeof BatchSendTransactionsRequestSchema; output: typeof BatchSendTransactionsResponseSchema; }; /** * Submit a transaction and track its execution status. * Returns a stream of status updates starting with RECEIVED, then ACCEPTED, * followed by consensus and execution updates, closing after the transaction is executed. * * @generated from rpc thru.services.v1.CommandService.SendAndTrackTxn */ sendAndTrackTxn: { methodKind: "server_streaming"; input: typeof SendAndTrackTxnRequestSchema; output: typeof SendAndTrackTxnResponseSchema; }; }>; /** * Describes the file thru/services/v1/query_service.proto. */ declare const file_thru_services_v1_query_service: GenFile; /** * GetAccountRequest retrieves a decoded account by public key. * * @generated from message thru.services.v1.GetAccountRequest */ type GetAccountRequest = Message<"thru.services.v1.GetAccountRequest"> & { /** * @generated from field: thru.common.v1.Pubkey address = 1; */ address?: Pubkey | undefined; /** * @generated from field: optional thru.core.v1.AccountView view = 2; */ view?: AccountView | undefined; /** * @generated from field: thru.common.v1.VersionContext version_context = 3; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.core.v1.DataSlice data_slice = 5; */ dataSlice?: DataSlice | undefined; }; /** * Describes the message thru.services.v1.GetAccountRequest. * Use `create(GetAccountRequestSchema)` to create a new message. */ declare const GetAccountRequestSchema: GenMessage; /** * GetRawAccountRequest retrieves raw account bytes by public key. * * @generated from message thru.services.v1.GetRawAccountRequest */ type GetRawAccountRequest = Message<"thru.services.v1.GetRawAccountRequest"> & { /** * @generated from field: thru.common.v1.Pubkey address = 1; */ address?: Pubkey | undefined; /** * Controls which sections of the raw response are returned. * ACCOUNT_VIEW_UNSPECIFIED and ACCOUNT_VIEW_FULL (default) return both * raw_meta and raw_data. ACCOUNT_VIEW_META_ONLY skips the data fetch * entirely and omits raw_data from the response. ACCOUNT_VIEW_DATA_ONLY * and ACCOUNT_VIEW_PUBKEY_ONLY are rejected with InvalidArgument: raw_meta * is a REQUIRED field on RawAccount, so a raw response without it has no * honest encoding, and a raw response of only an address is meaningless. * * @generated from field: optional thru.core.v1.AccountView view = 2; */ view?: AccountView | undefined; /** * @generated from field: thru.common.v1.VersionContext version_context = 3; */ versionContext?: VersionContext | undefined; }; /** * Describes the message thru.services.v1.GetRawAccountRequest. * Use `create(GetRawAccountRequestSchema)` to create a new message. */ declare const GetRawAccountRequestSchema: GenMessage; /** * GetTransactionRequest retrieves a decoded transaction by signature. * * @generated from message thru.services.v1.GetTransactionRequest */ type GetTransactionRequest = Message<"thru.services.v1.GetTransactionRequest"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; /** * @generated from field: optional thru.core.v1.TransactionView view = 2; */ view?: TransactionView | undefined; /** * @generated from field: thru.common.v1.VersionContext version_context = 3; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.GetTransactionRequest. * Use `create(GetTransactionRequestSchema)` to create a new message. */ declare const GetTransactionRequestSchema: GenMessage; /** * GetRawTransactionRequest retrieves raw transaction bytes by signature. * * @generated from message thru.services.v1.GetRawTransactionRequest */ type GetRawTransactionRequest = Message<"thru.services.v1.GetRawTransactionRequest"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; /** * @generated from field: thru.common.v1.VersionContext version_context = 2; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 3; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.GetRawTransactionRequest. * Use `create(GetRawTransactionRequestSchema)` to create a new message. */ declare const GetRawTransactionRequestSchema: GenMessage; /** * GenerateStateProofRequest requests an account state proof. * * @generated from message thru.services.v1.GenerateStateProofRequest */ type GenerateStateProofRequest = Message<"thru.services.v1.GenerateStateProofRequest"> & { /** * @generated from field: thru.core.v1.StateProofRequest request = 1; */ request?: StateProofRequest | undefined; }; /** * Describes the message thru.services.v1.GenerateStateProofRequest. * Use `create(GenerateStateProofRequestSchema)` to create a new message. */ declare const GenerateStateProofRequestSchema: GenMessage; /** * GenerateStateProofResponse contains the generated proof. * * @generated from message thru.services.v1.GenerateStateProofResponse */ type GenerateStateProofResponse = Message<"thru.services.v1.GenerateStateProofResponse"> & { /** * @generated from field: thru.core.v1.StateProof proof = 1; */ proof?: StateProof | undefined; }; /** * Describes the message thru.services.v1.GenerateStateProofResponse. * Use `create(GenerateStateProofResponseSchema)` to create a new message. */ declare const GenerateStateProofResponseSchema: GenMessage; /** * GetBlockRequest retrieves decoded block information by slot or hash. * * @generated from message thru.services.v1.GetBlockRequest */ type GetBlockRequest = Message<"thru.services.v1.GetBlockRequest"> & { /** * @generated from oneof thru.services.v1.GetBlockRequest.selector */ selector: { /** * @generated from field: uint64 slot = 1; */ value: bigint; case: "slot"; } | { /** * @generated from field: thru.core.v1.BlockHash block_hash = 2; */ value: BlockHash; case: "blockHash"; } | { case: undefined; value?: undefined; }; /** * @generated from field: optional thru.core.v1.BlockView view = 3; */ view?: BlockView | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.GetBlockRequest. * Use `create(GetBlockRequestSchema)` to create a new message. */ declare const GetBlockRequestSchema: GenMessage; /** * GetRawBlockRequest retrieves raw block bytes by slot or hash. * * @generated from message thru.services.v1.GetRawBlockRequest */ type GetRawBlockRequest = Message<"thru.services.v1.GetRawBlockRequest"> & { /** * @generated from oneof thru.services.v1.GetRawBlockRequest.selector */ selector: { /** * @generated from field: uint64 slot = 1; */ value: bigint; case: "slot"; } | { /** * @generated from field: thru.core.v1.BlockHash block_hash = 2; */ value: BlockHash; case: "blockHash"; } | { case: undefined; value?: undefined; }; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 3; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.GetRawBlockRequest. * Use `create(GetRawBlockRequestSchema)` to create a new message. */ declare const GetRawBlockRequestSchema: GenMessage; /** * ListAccountsRequest lists accounts using CEL filters. * * The filter expression supports filtering on account metadata fields using CEL (Common Expression Language). * A filter expression is REQUIRED for all ListAccounts requests. * * Available fields for filtering: * - account.address.value (bytes): The account's public key address * - account.meta.owner.value (bytes): The account owner's public key * - account.meta.balance (uint64): Account balance in native units * - account.meta.seq (uint64): Account sequence number / state counter * - account.meta.nonce (uint64): Account transaction nonce * - account.meta.data_size (uint32): Size of account data in bytes * - account.meta.version (uint32): Account version number * - account.meta.flags (AccountFlags): Account capability flags (message type) * - account.meta.flags.is_program (bool): Flag indicating if account is a program * - account.meta.flags.is_privileged (bool): Flag indicating if account is privileged * - account.meta.flags.is_uncompressable (bool): Flag indicating if account data cannot be compressed * - account.meta.flags.is_ephemeral (bool): Flag indicating if account is ephemeral * - account.meta.flags.is_deleted (bool): Flag indicating if account is deleted * - account.meta.flags.is_new (bool): Flag indicating if account is new * - account.meta.flags.is_compressed (bool): Flag indicating if account data is compressed * - account.meta.last_updated_slot (uint64): Slot when account was last modified * * Available CEL functions: * - has(field): Check if optional field exists * - uint(value): Convert to uint type * - int(value): Convert to int type * - string(value): Convert to string type * - bytes(value): Convert to bytes type * * Available filter parameters (accessible via params.* in expressions): * - params.owner_bytes (bytes): Owner public key for owner filtering (REQUIRED when filtering by owner) * - params.prefix (bytes): Byte prefix for range-based filtering * - params.tag (any): Custom tag parameter * - params.min_slot (uint64): Minimum slot parameter * - params.min_updated_slot (uint64): Minimum last_updated_slot for filtering * * Filter examples: * * 1. Filter by balance: * filter.expression = "account.meta.balance > uint(1000000)" * * 2. Filter by balance range: * filter.expression = "account.meta.balance >= uint(100) && account.meta.balance <= uint(10000)" * * 3. Filter by owner (requires params.owner_bytes): * filter.expression = "account.meta.owner.value == params.owner_bytes" * filter.params["owner_bytes"].bytes_value = <32-byte owner pubkey> * * 4. Filter by data size: * filter.expression = "account.meta.data_size > uint(0)" * filter.expression = "account.meta.data_size >= uint(100) && account.meta.data_size <= uint(1000)" * * 5. Filter by nonce: * filter.expression = "account.meta.nonce == uint(0)" * * 6. Filter by sequence number: * filter.expression = "account.meta.seq >= uint(100)" * * 7. Filter by version: * filter.expression = "account.meta.version == uint(1)" * * 8. Filter by specific address (using inline bytes literal with octal escaping): * filter.expression = "account.address.value == b'\001\002\003...'" * Note: Binary bytes must be properly escaped using octal notation (\NNN) for non-printable bytes * * 9. Filter by address prefix (using range comparison): * filter.expression = "account.address.value >= b'\001\002\003\004' && account.address.value <= b'\001\002\003\004\377\377...'" * Note: Create upper bound by appending 0xff bytes after prefix * * 10. Combine multiple conditions with AND: * filter.expression = "account.meta.balance > uint(0) && account.meta.data_size == uint(0)" * * 11. Combine multiple conditions with OR: * filter.expression = "account.meta.balance == uint(0) || account.meta.balance > uint(50000)" * * 12. Complex combined filters: * filter.expression = "(account.meta.balance > uint(100) && account.meta.balance < uint(10000)) || account.meta.data_size > uint(1000)" * * 13. Check for optional field existence: * filter.expression = "has(account.address.value)" * filter.expression = "has(account.meta.owner.value)" // Requires params.owner_bytes * * 14. Use inequality operators: * filter.expression = "account.meta.balance < uint(5000)" * filter.expression = "account.meta.balance <= uint(5000)" * filter.expression = "account.meta.balance >= uint(100)" * filter.expression = "account.meta.balance != uint(999)" * * 15. Type conversions: * filter.expression = "account.meta.balance == uint(100)" * filter.expression = "uint(account.meta.data_size) > uint(0)" * * 16. Filter by account flags (individual flag fields): * filter.expression = "account.meta.flags.is_program == true" * filter.expression = "account.meta.flags.is_privileged == true" * filter.expression = "account.meta.flags.is_uncompressable == true" * filter.expression = "account.meta.flags.is_ephemeral == true" * filter.expression = "account.meta.flags.is_deleted == true" * filter.expression = "account.meta.flags.is_new == true" * filter.expression = "account.meta.flags.is_compressed == true" * * 17. Combine flag filters with other conditions: * filter.expression = "account.meta.flags.is_program == true && account.meta.balance > uint(0)" * * 18. Filter by last_updated_slot: * filter.expression = "account.meta.last_updated_slot >= uint(1000)" * * 19. Filter by last_updated_slot with params: * filter.expression = "account.meta.last_updated_slot >= params.min_updated_slot" * filter.params["min_updated_slot"].uint_value = 1000 * * Limitations: * - The startsWith() function only works with strings, not bytes * - The bytesPrefix() function is NOT available for ListAccounts (use range comparison instead) * - Parameter names other than owner_bytes, prefix, tag, min_slot, min_updated_slot are NOT permitted * - All filters are pushed down to SQL for optimal performance where possible * * @generated from message thru.services.v1.ListAccountsRequest */ type ListAccountsRequest = Message<"thru.services.v1.ListAccountsRequest"> & { /** * @generated from field: optional thru.core.v1.AccountView view = 1; */ view?: AccountView | undefined; /** * @generated from field: optional thru.common.v1.VersionContext version_context = 2; */ versionContext?: VersionContext | undefined; /** * CEL filter expression (REQUIRED). See message documentation for examples. * * @generated from field: optional thru.common.v1.Filter filter = 3; */ filter?: Filter | undefined; /** * @generated from field: optional thru.common.v1.PageRequest page = 4; */ page?: PageRequest | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 5; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.ListAccountsRequest. * Use `create(ListAccountsRequestSchema)` to create a new message. */ declare const ListAccountsRequestSchema: GenMessage; /** * ListAccountsResponse contains paginated accounts. * * @generated from message thru.services.v1.ListAccountsResponse */ type ListAccountsResponse = Message<"thru.services.v1.ListAccountsResponse"> & { /** * @generated from field: repeated thru.core.v1.Account accounts = 1; */ accounts: Account[]; /** * @generated from field: optional thru.common.v1.PageResponse page = 2; */ page?: PageResponse | undefined; }; /** * Describes the message thru.services.v1.ListAccountsResponse. * Use `create(ListAccountsResponseSchema)` to create a new message. */ declare const ListAccountsResponseSchema: GenMessage; /** * ListBlocksRequest lists blocks with pagination and filtering. * * Returns blocks ordered from latest slot to earliest (slot DESC) by default. * Supports filtering on block header and footer fields using CEL expressions. * The whole filter is evaluated by the database. A filter it cannot evaluate, such as a field compared * with timestamp(...), arithmetic or the ternary operator, is rejected with INVALID_ARGUMENT * (reason "not_translatable"). * * Available fields for filtering: * * Header fields: * - block.header.slot (uint64): Block slot number * - block.header.version (uint32): Block version number * - block.header.start_slot (uint64): Start slot for block production * - block.header.producer.value (bytes): Block producer's public key * - block.header.expiry_after (uint32): Expiry duration in slots * - block.header.expiry_timestamp (google.protobuf.Timestamp): Expiry timestamp * - block.header.max_block_size (uint32): Maximum block size in bytes * - block.header.max_compute_units (uint64): Maximum compute units allowed * - block.header.max_state_units (uint32): Maximum state units allowed * - block.header.bond_amount_lock_up (uint64): Bond amount lock-up for block production * - block.header.block_hash.value (bytes): Block hash * - block.header.header_signature.value (bytes): Header signature * - block.header.block_time (google.protobuf.Timestamp): Block timestamp * * Footer fields: * - block.footer.signature.value (bytes): Block signature * - block.footer.status (int32): Block execution status (2 = EXECUTION_STATUS_EXECUTED) * - block.footer.consumed_compute_units (uint64): Total compute units consumed by all transactions * - block.footer.consumed_state_units (uint32): Total state units consumed by all transactions * - block.footer.attestor_payment (uint64): Payment to attestors for block validation * * Consensus status: * - block.consensus_status (int32): Consensus status (always CONSENSUS_STATUS_INCLUDED for persisted blocks) * * Available CEL functions: * - has(field): Check if optional field exists * - uint(value): Convert to uint type * - int(value): Convert to int type; int() of a timestamp is whole Unix seconds * - bytes(value): Convert to bytes type * - timestamp(value), duration(value): accepted by CEL but not evaluable by the database; filters * using them are rejected * * Available filter parameters (accessible via params.* in expressions): * - params.slot (uint64): Slot number for filtering * - params.u64 (uint64): Generic uint64 parameter * - params.producer (bytes): Producer public key for filtering * * Filter examples: * * 1. Filter by specific slot: * filter.expression = "block.header.slot == uint(1234)" * * 2. Filter by slot range: * filter.expression = "block.header.slot >= uint(1000) && block.header.slot <= uint(2000)" * * 3. Filter by slot using parameter: * filter.expression = "block.header.slot == params.slot" * filter.params["slot"].uint_value = 1234 * * 4. Filter by block version: * filter.expression = "block.header.version == uint(1)" * * 5. Filter by producer (using parameter): * filter.expression = "block.header.producer.value == params.producer" * filter.params["producer"].bytes_value = <32-byte producer pubkey> * * 6. Filter by max compute units: * filter.expression = "block.header.max_compute_units > uint(1000000)" * filter.expression = "block.header.max_compute_units >= uint(0) && block.header.max_compute_units <= uint(10000000)" * * 7. Filter by max state units: * filter.expression = "block.header.max_state_units > uint(0)" * * 8. Filter by bond amount: * filter.expression = "block.header.bond_amount_lock_up >= uint(0)" * filter.expression = "block.header.bond_amount_lock_up > uint(1000)" * * 9. Filter by start_slot: * filter.expression = "block.header.start_slot <= uint(5000)" * * 10. Filter by expiry_after: * filter.expression = "block.header.expiry_after > uint(0)" * * 11. Filter by max_block_size: * filter.expression = "block.header.max_block_size >= uint(1000000)" * * 12. Filter by execution status: * filter.expression = "block.footer.status == int(2)" // EXECUTION_STATUS_EXECUTED * * 13. Filter by consumed compute units: * filter.expression = "block.footer.consumed_compute_units > uint(0)" * filter.expression = "block.footer.consumed_compute_units >= uint(100) && block.footer.consumed_compute_units <= uint(1000000)" * * 14. Filter by consumed state units: * filter.expression = "block.footer.consumed_state_units >= uint(0)" * filter.expression = "block.footer.consumed_state_units > uint(10)" * * 15. Check for footer signature existence: * filter.expression = "has(block.footer.signature)" * * 16. Check for footer existence: * filter.expression = "has(block.footer)" * * 17. Check for producer existence: * filter.expression = "has(block.header.producer)" * * 18. Check for block hash existence: * filter.expression = "has(block.header.block_hash)" * * 19. Check for header signature existence: * filter.expression = "has(block.header.header_signature)" * * 20. Check for expiry timestamp existence: * filter.expression = "has(block.header.expiry_timestamp)" * * 21. Check for block time existence: * filter.expression = "has(block.header.block_time)" * * 22. Combine multiple header conditions with AND: * filter.expression = "block.header.slot >= uint(1000) && block.header.max_compute_units > uint(1000000)" * * 23. Combine multiple footer conditions with AND: * filter.expression = "block.footer.consumed_compute_units > uint(0) && block.footer.consumed_state_units > uint(0)" * * 24. Combine header and footer conditions: * filter.expression = "block.header.slot >= uint(1000) && block.footer.consumed_compute_units > uint(100000)" * * 25. Combine multiple conditions with OR: * filter.expression = "block.header.slot == uint(100) || block.header.slot == uint(200)" * filter.expression = "block.footer.consumed_compute_units > uint(1000000) || block.footer.consumed_state_units > uint(10000)" * * 26. Complex combined filters: * filter.expression = "(block.header.slot >= uint(1000) && block.header.slot <= uint(2000)) || block.footer.consumed_compute_units > uint(5000000)" * * 27. Use inequality operators: * filter.expression = "block.header.max_compute_units < uint(10000000)" * filter.expression = "block.header.max_compute_units <= uint(10000000)" * filter.expression = "block.header.bond_amount_lock_up >= uint(100)" * filter.expression = "block.footer.consumed_compute_units != uint(0)" * * 28. Combine has() with value checks: * filter.expression = "has(block.header.producer) && block.header.producer.value == params.producer" * filter.params["producer"].bytes_value = <32-byte producer pubkey> * * 29. Filter by multiple resource limits: * filter.expression = "block.header.max_compute_units > uint(1000000) && block.header.max_state_units > uint(1000) && block.header.max_block_size > uint(1000000)" * * 30. Filter by block time: * filter.expression = "int(block.header.block_time) >= 1767225600" * * Note: blocks are stored in slot order. One call reads a bounded number of blocks (about 100,000). When * a filter needs more to fill the page, the call returns the matches found so far, possibly none, with a * next_page_token to continue from: a short or empty page with a token is not the end of the results. * Bound a rare match with block.header.slot to need fewer calls. * * @generated from message thru.services.v1.ListBlocksRequest */ type ListBlocksRequest = Message<"thru.services.v1.ListBlocksRequest"> & { /** * CEL filter expression (OPTIONAL). See message documentation for examples. * * @generated from field: optional thru.common.v1.Filter filter = 1; */ filter?: Filter | undefined; /** * @generated from field: optional thru.common.v1.PageRequest page = 2; */ page?: PageRequest | undefined; /** * @generated from field: optional thru.core.v1.BlockView view = 3; */ view?: BlockView | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.ListBlocksRequest. * Use `create(ListBlocksRequestSchema)` to create a new message. */ declare const ListBlocksRequestSchema: GenMessage; /** * ListBlocksResponse returns a page of blocks. * * @generated from message thru.services.v1.ListBlocksResponse */ type ListBlocksResponse = Message<"thru.services.v1.ListBlocksResponse"> & { /** * @generated from field: repeated thru.core.v1.Block blocks = 1; */ blocks: Block[]; /** * @generated from field: optional thru.common.v1.PageResponse page = 2; */ page?: PageResponse | undefined; }; /** * Describes the message thru.services.v1.ListBlocksResponse. * Use `create(ListBlocksResponseSchema)` to create a new message. */ declare const ListBlocksResponseSchema: GenMessage; /** * ListTransactionsForAccountRequest lists transactions involving a specific account. * * This RPC returns all transactions where the specified account appears in any * capacity (fee payer, signer, or affected account). Results can be filtered * using CEL expressions on transaction properties. * * ## Available Filter Fields * * - `transaction.slot` (uint64): Block slot number * - `transaction.block_offset` (uint32): Position within block * - `transaction.signature.value` (bytes): Transaction signature * * Header fields (a transaction whose header is not stored reads them as zero or empty): * - `transaction.header.version` (uint32): Transaction format version * - `transaction.header.fee` (uint64): Transaction fee * - `transaction.header.nonce` (uint64): Sender account nonce * - `transaction.header.start_slot` (uint64): Earliest slot for execution * - `transaction.header.expiry_after` (uint32): Expiry duration in slots * - `transaction.header.requested_compute_units` (uint64): Requested compute units * - `transaction.header.requested_memory_units` (uint32): Requested memory units * - `transaction.header.requested_state_units` (uint32): Requested state units * - `transaction.header.fee_payer_pubkey.value` (bytes): Fee payer public key * - `transaction.header.program_pubkey.value` (bytes): Program public key * - `transaction.header.fee_payer_signature.value` (bytes): Fee payer signature * * Execution result fields: * - `transaction.execution_result.vm_error` (TransactionVmError enum): VM execution status (0 = success) * - `transaction.execution_result.user_error_code` (uint64): User-defined error code * - `transaction.execution_result.execution_result` (uint64): Alias for user_error_code * - `transaction.execution_result.consumed_compute_units` (uint64): Compute units used * - `transaction.execution_result.consumed_memory_units` (uint32): Memory units used * - `transaction.execution_result.consumed_state_units` (uint32): State units used * - `transaction.execution_result.events_count` (uint32): Number of events emitted * - `transaction.execution_result.events_size` (uint32): Total size of event data in bytes * * ## Filter Examples * * ### Filter by slot * ``` * filter { * expression: "transaction.slot == params.slot" * params { * key: "slot" * value { int_value: 12345 } * } * } * ``` * * ### Filter by block offset * ``` * filter { * expression: "transaction.block_offset == uint(5)" * } * ``` * * ### Filter by compute units (high usage) * ``` * filter { * expression: "transaction.execution_result.consumed_compute_units >= uint(1000000)" * } * ``` * * ### Filter by memory units * ``` * filter { * expression: "transaction.execution_result.consumed_memory_units > uint(0)" * } * ``` * * ### Filter by state units * ``` * filter { * expression: "transaction.execution_result.consumed_state_units > uint(0)" * } * ``` * * ### Filter successful transactions (by error code) * ``` * filter { * expression: "transaction.execution_result.user_error_code == uint(0)" * } * ``` * * ### Filter by VM execution status * ``` * filter { * expression: "transaction.execution_result.vm_error == int(0)" * } * ``` * * ### Filter transactions with events * ``` * filter { * expression: "transaction.execution_result.events_count > uint(0)" * } * ``` * * ### Filter by event data size * ``` * filter { * expression: "transaction.execution_result.events_size > uint(0)" * } * ``` * * ### Check for optional fields using has() * ``` * filter { * expression: "has(transaction.execution_result)" * } * ``` * * ### Combined filters with AND/OR * ``` * filter { * expression: "transaction.execution_result.consumed_compute_units >= uint(1000000) && transaction.execution_result.user_error_code == uint(0)" * } * ``` * * ### Using params for dynamic values * ``` * filter { * expression: "transaction.execution_result.consumed_compute_units >= params.u64" * params { * key: "u64" * value { int_value: 500000 } * } * } * ``` * * ## Available Functions * * - `has(field)`: Check if optional field is present * - `uint(value)`: Convert to unsigned integer * - `int(value)`: Convert to signed integer * - `string(value)`: Convert to string type * - `bytes(value)`: Convert to bytes type * * ## Available Filter Parameters * * - `params.slot` (uint64): Slot number for filtering * - `params.u64` (uint64): Generic uint64 parameter * - `params.pubkey` (Pubkey): Public key parameter for filtering * * The whole filter is evaluated by the database. A filter it cannot evaluate, * such as arithmetic, the ternary operator or `string()` of a field, is * rejected with INVALID_ARGUMENT (reason "not_translatable"). * * ## Performance Notes * * One call reads a bounded number of the account's transactions (about * 4,096). When a filter needs more to fill the page, the call returns the * matches found so far, possibly none, with a next_page_token to continue * from: a short or empty page with a token is not the end of the results. * * @generated from message thru.services.v1.ListTransactionsForAccountRequest */ type ListTransactionsForAccountRequest = Message<"thru.services.v1.ListTransactionsForAccountRequest"> & { /** * @generated from field: thru.common.v1.Pubkey account = 1; */ account?: Pubkey | undefined; /** * @generated from field: optional thru.common.v1.PageRequest page = 2; */ page?: PageRequest | undefined; /** * Optional CEL filter applied after the account constraint. * * @generated from field: optional thru.common.v1.Filter filter = 3; */ filter?: Filter | undefined; }; /** * Describes the message thru.services.v1.ListTransactionsForAccountRequest. * Use `create(ListTransactionsForAccountRequestSchema)` to create a new message. */ declare const ListTransactionsForAccountRequestSchema: GenMessage; /** * ListTransactionsForAccountResponse contains transaction data. * * * @generated from message thru.services.v1.ListTransactionsForAccountResponse */ type ListTransactionsForAccountResponse = Message<"thru.services.v1.ListTransactionsForAccountResponse"> & { /** * @generated from field: optional thru.common.v1.PageResponse page = 1; */ page?: PageResponse | undefined; /** * @generated from field: repeated thru.core.v1.Transaction transactions = 2; */ transactions: Transaction[]; }; /** * Describes the message thru.services.v1.ListTransactionsForAccountResponse. * Use `create(ListTransactionsForAccountResponseSchema)` to create a new message. */ declare const ListTransactionsForAccountResponseSchema: GenMessage; /** * GetVersionRequest fetches component version strings. * * @generated from message thru.services.v1.GetVersionRequest */ type GetVersionRequest = Message<"thru.services.v1.GetVersionRequest"> & {}; /** * Describes the message thru.services.v1.GetVersionRequest. * Use `create(GetVersionRequestSchema)` to create a new message. */ declare const GetVersionRequestSchema: GenMessage; /** * GetVersionResponse returns version information per component. * * @generated from message thru.services.v1.GetVersionResponse */ type GetVersionResponse = Message<"thru.services.v1.GetVersionResponse"> & { /** * @generated from field: map versions = 1; */ versions: { [key: string]: string; }; }; /** * Describes the message thru.services.v1.GetVersionResponse. * Use `create(GetVersionResponseSchema)` to create a new message. */ declare const GetVersionResponseSchema: GenMessage; /** * GetEventRequest fetches an event by identifier. * * @generated from message thru.services.v1.GetEventRequest */ type GetEventRequest = Message<"thru.services.v1.GetEventRequest"> & { /** * @generated from field: string event_id = 1; */ eventId: string; /** * @generated from field: optional thru.common.v1.VersionContext version_context = 2; */ versionContext?: VersionContext | undefined; }; /** * Describes the message thru.services.v1.GetEventRequest. * Use `create(GetEventRequestSchema)` to create a new message. */ declare const GetEventRequestSchema: GenMessage; /** * Event represents a transaction event emitted by the chain. * * @generated from message thru.services.v1.Event */ type Event = Message<"thru.services.v1.Event"> & { /** * @generated from field: string event_id = 1; */ eventId: string; /** * @generated from field: thru.common.v1.Signature transaction_signature = 2; */ transactionSignature?: Signature | undefined; /** * @generated from field: optional thru.common.v1.Pubkey program = 3; */ program?: Pubkey | undefined; /** * @generated from field: optional bytes payload = 4; */ payload?: Uint8Array | undefined; /** * @generated from field: optional uint64 slot = 5; */ slot?: bigint | undefined; /** * @generated from field: optional uint32 call_idx = 6; */ callIdx?: number | undefined; /** * @generated from field: optional uint32 program_idx = 7; */ programIdx?: number | undefined; /** * @generated from field: optional uint32 payload_size = 8; */ payloadSize?: number | undefined; /** * @generated from field: optional uint32 block_offset = 9; */ blockOffset?: number | undefined; /** * @generated from field: optional google.protobuf.Timestamp timestamp = 10; */ timestamp?: Timestamp | undefined; /** * @generated from field: optional thru.common.v1.Pubkey fee_payer = 11; */ feePayer?: Pubkey | undefined; }; /** * Describes the message thru.services.v1.Event. * Use `create(EventSchema)` to create a new message. */ declare const EventSchema: GenMessage; /** * ListEventsRequest lists events with CEL filtering and pagination. * * Returns events ordered from most recent to older (slot DESC, block_offset DESC, call_idx DESC). * Supports filtering on event metadata and payload using CEL expressions with specialized byte functions. * The whole filter is evaluated by the database. A filter it cannot evaluate, such as event_id.startsWith, * event.timestamp compared with timestamp(...), arithmetic or the ternary operator, is rejected with * INVALID_ARGUMENT (reason "not_translatable"). * * Available fields for filtering: * - event.event_id (string): Event identifier "{signature}:{slot}:{block_offset}:{call_idx}:{event_idx}"; * == and != only. A value that is not an identifier ListEvents returns matches nothing. * - event.transaction_signature.value (bytes): Transaction signature that emitted the event * - event.slot (uint64): Block slot number where event was emitted * - event.call_idx (uint32): Instruction call index within transaction * - event.block_offset (uint32): Transaction's position within the block * - event.timestamp (google.protobuf.Timestamp): Block time; has() and int(event.timestamp) (Unix seconds) only * - event.program (Pubkey): has() only; compare event.program.value * - event.program.value (bytes): Program public key that emitted the event; empty when unset * - event.program_idx (uint32): Program index within transaction * - event.payload (bytes): Event payload data * - event.payload_size (uint32): Size of event payload in bytes * - event.fee_payer (Pubkey): has() only; compare event.fee_payer.value * - event.fee_payer.value (bytes): Fee payer's public key for the transaction; empty when unset * * Available CEL functions: * - has(field): Check if optional field exists * - first1Byte(bytes): Extract first byte as uint8 * - first4Bytes(bytes): Extract first 4 bytes as uint32 (little-endian) * - first8Bytes(bytes): Extract first 8 bytes as uint64 (little-endian) * - bytesPrefix(bytes, prefix): Check if bytes start with prefix * - uint(value): Convert to uint type * - int(value): Convert to int type * - string(value): Convert to string type * - bytes(value): Convert to bytes type * - double(value): Convert to double type * - timestamp(value), duration(value), startsWith(string, prefix): accepted by CEL but not evaluable by * the database; filters using them on event fields are rejected * * Available filter parameters (accessible via params.* in expressions): * - params.slot (uint64): Slot number for filtering * - params.u64 (uint64): Generic uint64 parameter for payload matching * - params.signature (Signature): Transaction signature for filtering * - params.signature.value (bytes): Transaction signature bytes for filtering * - params.address (Pubkey): Program address for filtering * - params.address.value (bytes): Program address bytes for filtering * - params.prefix (bytes): Byte prefix for payload filtering * - params.timestamp (int64): Unix seconds, compared with int(event.timestamp) * * Filter examples: * * 1. Filter by slot: * filter.expression = "event.slot > uint(1000)" * filter.expression = "event.slot >= uint(100) && event.slot <= uint(200)" * * 2. Filter by slot using parameter: * filter.expression = "event.slot >= params.slot" * filter.params["slot"].int_value = 1234 * * 3. Filter by call index: * filter.expression = "event.call_idx == uint(0)" // First instruction * filter.expression = "event.call_idx > uint(0)" // Nested instructions * * 4. Filter by block offset: * filter.expression = "event.block_offset >= uint(0)" * filter.expression = "event.block_offset == uint(5)" * * 5. Filter by transaction signature (using parameter): * filter.expression = "event.transaction_signature.value == params.signature" * filter.params["signature"].signature_value.value = <64-byte signature> * * 6. Filter by program address (using parameter): * filter.expression = "has(event.program) && event.program.value == params.address" * filter.params["address"].pubkey_value.value = <32-byte program pubkey> * * 7. Filter by event ID: * filter.expression = "event.event_id == \"{signature}:{slot}:{block_offset}:{call_idx}:{event_idx}\"" * * 8. Check for payload existence: * filter.expression = "has(event.payload)" * * 9. Check for program existence: * filter.expression = "has(event.program)" * * 10. Filter by payload first byte (event type): * filter.expression = "has(event.payload) && first1Byte(event.payload) == uint(1)" // MESSAGE events * filter.expression = "has(event.payload) && first1Byte(event.payload) == uint(2)" // Other type * * 11. Filter by payload first 4 bytes (uint32 event type): * filter.expression = "has(event.payload) && first4Bytes(event.payload) == uint(2)" // COUNTER events * filter.expression = "has(event.payload) && first4Bytes(event.payload) == params.u64" * filter.params["u64"].int_value = 2 * * 12. Filter by payload first 8 bytes (uint64 event type): * filter.expression = "has(event.payload) && first8Bytes(event.payload) == uint(6)" // PATTERN events * filter.expression = "has(event.payload) && first8Bytes(event.payload) == params.u64" * filter.params["u64"].int_value = 6 * * 13. Filter by payload byte prefix: * filter.expression = "bytesPrefix(event.payload, params.prefix)" * filter.params["prefix"].bytes_value = * * 14. Combine slot and call_idx filters: * filter.expression = "event.slot > uint(1000) && event.call_idx == uint(0)" * * 15. Combine slot, call_idx, and payload existence: * filter.expression = "event.slot > uint(1000) && event.call_idx == uint(0) && has(event.payload)" * * 16. Filter by program and payload type: * filter.expression = "has(event.program) && event.program.value == params.address && first1Byte(event.payload) == uint(1)" * filter.params["address"].pubkey_value.value = <32-byte program pubkey> * * 17. Filter MESSAGE events (type 1) with specific program: * filter.expression = "has(event.payload) && first1Byte(event.payload) == uint(1) && event.program.value == params.address" * filter.params["address"].pubkey_value.value = <32-byte program pubkey> * * 18. Filter COUNTER events (type 2) in slot range: * filter.expression = "has(event.payload) && first4Bytes(event.payload) == uint(2) && event.slot >= uint(100) && event.slot <= uint(200)" * * 19. Filter PATTERN events (type 6) with payload prefix: * filter.expression = "has(event.payload) && first8Bytes(event.payload) == uint(6) && bytesPrefix(event.payload, params.prefix)" * filter.params["prefix"].bytes_value = * * 20. Complex combined filter: * filter.expression = "(event.slot > uint(1000) && event.call_idx == uint(0)) || first1Byte(event.payload) == uint(1)" * * 21. Filter events from specific transaction: * filter.expression = "event.transaction_signature.value == params.signature && has(event.payload)" * filter.params["signature"].signature_value.value = <64-byte signature> * * 22. Filter by multiple payload type options: * filter.expression = "has(event.payload) && (first1Byte(event.payload) == uint(1) || first1Byte(event.payload) == uint(2))" * * 23. Filter nested instruction events: * filter.expression = "event.call_idx > uint(0) && has(event.program)" * * 24. Filter first instruction events only: * filter.expression = "event.call_idx == uint(0)" * * 25. Filter events with payload longer than specific size (using bytesPrefix with empty prefix): * filter.expression = "has(event.payload)" * * 26. Combine has() checks: * filter.expression = "has(event.program) && has(event.payload) && has(event.timestamp)" * * 27. Use inequality operators: * filter.expression = "event.slot < uint(10000)" * filter.expression = "event.slot <= uint(10000)" * filter.expression = "event.call_idx >= uint(0)" * filter.expression = "event.block_offset != uint(0)" * * 28. Filter by timestamp (if available): * filter.expression = "has(event.timestamp)" * * 29. Filter by block time: * filter.expression = "int(event.timestamp) >= params.timestamp" * filter.params["timestamp"].int_value = 1767225600 * * 30. Complex payload and metadata filter: * filter.expression = "event.slot >= params.slot && has(event.payload) && first8Bytes(event.payload) == params.u64 && event.program.value == params.address" * filter.params["slot"].int_value = 1000 * filter.params["u64"].int_value = 6 * filter.params["address"].pubkey_value.value = <32-byte program pubkey> * * Note: Only slot, block_offset and call_idx are in the table's sort key, and event_id equality selects by * them too. One call reads a bounded number of rows (about 100,000). When a filter needs more to fill the * page, the call returns the matches found so far, possibly none, with a next_page_token to continue from: * a short or empty page with a token is not the end of the results. Bound a rare match with event.slot to * need fewer calls. * * @generated from message thru.services.v1.ListEventsRequest */ type ListEventsRequest = Message<"thru.services.v1.ListEventsRequest"> & { /** * CEL filter expression (OPTIONAL). See message documentation for examples. * * @generated from field: optional thru.common.v1.Filter filter = 1; */ filter?: Filter | undefined; /** * @generated from field: optional thru.common.v1.PageRequest page = 2; */ page?: PageRequest | undefined; /** * @generated from field: optional thru.common.v1.VersionContext version_context = 3; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 4; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.ListEventsRequest. * Use `create(ListEventsRequestSchema)` to create a new message. */ declare const ListEventsRequestSchema: GenMessage; /** * ListEventsResponse returns paginated events. * * @generated from message thru.services.v1.ListEventsResponse */ type ListEventsResponse = Message<"thru.services.v1.ListEventsResponse"> & { /** * @generated from field: repeated thru.services.v1.Event events = 1; */ events: Event[]; /** * @generated from field: optional thru.common.v1.PageResponse page = 2; */ page?: PageResponse | undefined; }; /** * Describes the message thru.services.v1.ListEventsResponse. * Use `create(ListEventsResponseSchema)` to create a new message. */ declare const ListEventsResponseSchema: GenMessage; /** * ListTransactionsRequest lists executed transactions with CEL filtering and pagination. * * Returns transactions ordered from most recent to older (slot DESC, block_offset DESC). * Supports filtering on transaction metadata and execution results using CEL expressions. * The whole filter is evaluated by the database. A filter it cannot evaluate, such as arithmetic, the * ternary operator or string() of a field, is rejected with INVALID_ARGUMENT (reason "not_translatable"). * * Available fields for filtering: * - transaction.slot (uint64): Block slot number where transaction was executed * - transaction.block_offset (uint32): Transaction's position within the block * - transaction.signature.value (bytes): Transaction signature * * Header fields (a transaction whose header is not stored reads them as zero or empty): * - transaction.header.version (uint32): Transaction format version * - transaction.header.fee (uint64): Transaction fee * - transaction.header.nonce (uint64): Sender account nonce * - transaction.header.start_slot (uint64): Earliest slot for execution * - transaction.header.expiry_after (uint32): Expiry duration in slots * - transaction.header.requested_compute_units (uint64): Requested compute units * - transaction.header.requested_memory_units (uint32): Requested memory units * - transaction.header.requested_state_units (uint32): Requested state units * - transaction.header.fee_payer_pubkey.value (bytes): Fee payer public key * - transaction.header.program_pubkey.value (bytes): Program public key * - transaction.header.fee_payer_signature.value (bytes): Fee payer signature * * Execution result fields: * - transaction.execution_result.vm_error (TransactionVmError enum): VM error code (0 = success) * - transaction.execution_result.user_error_code (uint64): User-defined error code * - transaction.execution_result.execution_result (uint64): Alias for user_error_code * - transaction.execution_result.consumed_compute_units (uint64): Compute units consumed * - transaction.execution_result.consumed_memory_units (uint32): Memory units consumed * - transaction.execution_result.consumed_state_units (uint32): State units consumed * - transaction.execution_result.events_count (uint32): Number of events emitted * - transaction.execution_result.events_size (uint32): Total size of events in bytes * * Available CEL functions: * - has(field): Check if optional field exists * - uint(value): Convert to uint type * - int(value): Convert to int type * - string(value): Convert to string type * - bytes(value): Convert to bytes type * * Available filter parameters (accessible via params.* in expressions): * - params.slot (uint64): Slot number for filtering * - params.u64 (uint64): Generic uint64 parameter * - params.pubkey (Pubkey): Public key parameter for filtering * * Filter examples: * * 1. Filter by slot range: * filter.expression = "transaction.slot >= uint(1000) && transaction.slot <= uint(2000)" * * 2. Filter by successful transactions (no error): * filter.expression = "transaction.execution_result.user_error_code == uint(0)" * filter.expression = "transaction.execution_result.vm_error == int(0)" * * 3. Filter by specific VM error: * filter.expression = "transaction.execution_result.vm_error == int(2)" // VM_REVERT * filter.expression = "transaction.execution_result.vm_error == int(4)" // NONCE_TOO_LOW * filter.expression = "transaction.execution_result.vm_error == int(5)" // NONCE_TOO_HIGH * * 4. Filter by resource usage: * filter.expression = "transaction.execution_result.consumed_compute_units > uint(1000)" * filter.expression = "transaction.execution_result.consumed_memory_units > uint(0)" * filter.expression = "transaction.execution_result.consumed_state_units >= uint(0)" * * 5. Filter by compute units range: * filter.expression = "transaction.execution_result.consumed_compute_units >= uint(0) && transaction.execution_result.consumed_compute_units < uint(1000000)" * * 6. Filter by events count: * filter.expression = "transaction.execution_result.events_count == uint(0)" // No events (transfers) * filter.expression = "transaction.execution_result.events_count > uint(0)" // Has events * filter.expression = "transaction.execution_result.events_count == uint(1)" // Exactly 1 event * * 7. Filter by events size: * filter.expression = "transaction.execution_result.events_size == uint(0)" // No events * filter.expression = "transaction.execution_result.events_size > uint(0)" // Has events * filter.expression = "transaction.execution_result.events_size >= uint(100)" // Large events * filter.expression = "transaction.execution_result.events_size >= uint(50) && transaction.execution_result.events_size <= uint(200)" * * 8. Filter by block offset: * filter.expression = "transaction.block_offset >= uint(0)" * filter.expression = "transaction.block_offset == uint(5)" * * 9. Combine multiple conditions with AND: * filter.expression = "transaction.execution_result.user_error_code == uint(0) && transaction.execution_result.consumed_compute_units > uint(0)" * * 10. Combine multiple conditions with OR: * filter.expression = "transaction.execution_result.user_error_code == uint(0) || transaction.execution_result.user_error_code != uint(0)" * filter.expression = "transaction.execution_result.vm_error == int(2) || transaction.execution_result.vm_error == int(4)" * * 11. Complex combined filters: * filter.expression = "(transaction.slot >= uint(0) && transaction.execution_result.user_error_code == uint(0)) || transaction.execution_result.consumed_compute_units > uint(100000)" * * 12. Check for field existence: * filter.expression = "has(transaction.execution_result)" * * 13. Use inequality operators: * filter.expression = "transaction.execution_result.consumed_compute_units < uint(1000000)" * filter.expression = "transaction.execution_result.consumed_compute_units <= uint(1000000)" * filter.expression = "transaction.execution_result.consumed_compute_units >= uint(0)" * filter.expression = "transaction.execution_result.user_error_code != uint(999)" * * 14. Use params.slot parameter: * filter.expression = "transaction.slot == params.slot" * filter.params["slot"].uint_value = 1234 * * 15. Use params.u64 with type conversion: * filter.expression = "transaction.execution_result.consumed_compute_units < uint(params.u64)" * filter.params["u64"].uint_value = 1000000 * * The return_events flag controls whether event data is included in the response: * - return_events = false (default): Only event counts/sizes are returned, not actual event data * - return_events = true: Full event data is included in execution results * * Note: transactions are stored by signature, not in slot order. A call whose filter would read more than * about 100,000 rows reads one 100,000-slot range instead. When a filter needs more to fill the page, the * call returns the matches found so far, possibly none, with a next_page_token to continue from: a short or * empty page with a token is not the end of the results. Bound a rare match with transaction.slot to need * fewer calls. * * @generated from message thru.services.v1.ListTransactionsRequest */ type ListTransactionsRequest = Message<"thru.services.v1.ListTransactionsRequest"> & { /** * CEL filter expression (OPTIONAL). See message documentation for examples. * * @generated from field: optional thru.common.v1.Filter filter = 1; */ filter?: Filter | undefined; /** * @generated from field: optional thru.common.v1.PageRequest page = 2; */ page?: PageRequest | undefined; /** * Whether to include event data in results (default: false) * * @generated from field: optional bool return_events = 3; */ returnEvents?: boolean | undefined; /** * @generated from field: optional thru.common.v1.VersionContext version_context = 4; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 5; */ minConsensus?: ConsensusStatus | undefined; }; /** * Describes the message thru.services.v1.ListTransactionsRequest. * Use `create(ListTransactionsRequestSchema)` to create a new message. */ declare const ListTransactionsRequestSchema: GenMessage; /** * ListTransactionsResponse returns paginated executed transactions. * * @generated from message thru.services.v1.ListTransactionsResponse */ type ListTransactionsResponse = Message<"thru.services.v1.ListTransactionsResponse"> & { /** * @generated from field: repeated thru.core.v1.Transaction transactions = 1; */ transactions: Transaction[]; /** * @generated from field: optional thru.common.v1.PageResponse page = 2; */ page?: PageResponse | undefined; }; /** * Describes the message thru.services.v1.ListTransactionsResponse. * Use `create(ListTransactionsResponseSchema)` to create a new message. */ declare const ListTransactionsResponseSchema: GenMessage; /** * GetTransactionStatusRequest fetches execution status for a transaction. * * @generated from message thru.services.v1.GetTransactionStatusRequest */ type GetTransactionStatusRequest = Message<"thru.services.v1.GetTransactionStatusRequest"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; }; /** * Describes the message thru.services.v1.GetTransactionStatusRequest. * Use `create(GetTransactionStatusRequestSchema)` to create a new message. */ declare const GetTransactionStatusRequestSchema: GenMessage; /** * TransactionStatus captures status metadata for a transaction. * * @generated from message thru.services.v1.TransactionStatus */ type TransactionStatus = Message<"thru.services.v1.TransactionStatus"> & { /** * @generated from field: thru.common.v1.Signature signature = 1; */ signature?: Signature | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus consensus_status = 2; */ consensusStatus?: ConsensusStatus | undefined; /** * @generated from field: optional thru.core.v1.TransactionExecutionResult execution_result = 3; */ executionResult?: TransactionExecutionResult | undefined; }; /** * Describes the message thru.services.v1.TransactionStatus. * Use `create(TransactionStatusSchema)` to create a new message. */ declare const TransactionStatusSchema: GenMessage; /** * @generated from message thru.services.v1.GetHeightRequest */ type GetHeightRequest = Message<"thru.services.v1.GetHeightRequest"> & {}; /** * Describes the message thru.services.v1.GetHeightRequest. * Use `create(GetHeightRequestSchema)` to create a new message. */ declare const GetHeightRequestSchema: GenMessage; /** * GetHeightResponse * * @generated from message thru.services.v1.GetHeightResponse */ type GetHeightResponse = Message<"thru.services.v1.GetHeightResponse"> & { /** * @generated from field: uint64 finalized = 1; */ finalized: bigint; /** * @generated from field: uint64 locally_executed = 2; */ locallyExecuted: bigint; /** * @generated from field: uint64 cluster_executed = 3; */ clusterExecuted: bigint; }; /** * Describes the message thru.services.v1.GetHeightResponse. * Use `create(GetHeightResponseSchema)` to create a new message. */ declare const GetHeightResponseSchema: GenMessage; /** * GetChainInfoRequest retrieves chain-level information. * * @generated from message thru.services.v1.GetChainInfoRequest */ type GetChainInfoRequest = Message<"thru.services.v1.GetChainInfoRequest"> & {}; /** * Describes the message thru.services.v1.GetChainInfoRequest. * Use `create(GetChainInfoRequestSchema)` to create a new message. */ declare const GetChainInfoRequestSchema: GenMessage; /** * GetChainInfoResponse returns chain-level information. * * @generated from message thru.services.v1.GetChainInfoResponse */ type GetChainInfoResponse = Message<"thru.services.v1.GetChainInfoResponse"> & { /** * Chain identifier, unique per network (similar to Ethereum chain ID). * Used to prevent transaction replay across different chains. * * @generated from field: uint32 chain_id = 1; */ chainId: number; /** * Minimum timestamp (nanoseconds since epoch) at which 4f+1 validator weight * has reported advancement. Zero if not yet available. * * @generated from field: uint64 min_lock_time = 2; */ minLockTime: bigint; }; /** * Describes the message thru.services.v1.GetChainInfoResponse. * Use `create(GetChainInfoResponseSchema)` to create a new message. */ declare const GetChainInfoResponseSchema: GenMessage; /** * GetStateRootsRequest retrieves up to 257 state roots ending at a specified slot. * Used for transaction replay to verify state proofs against historical roots. * Returns state roots in ascending slot order, from (slot - 256) to slot (inclusive). * * @generated from message thru.services.v1.GetStateRootsRequest */ type GetStateRootsRequest = Message<"thru.services.v1.GetStateRootsRequest"> & { /** * The slot to retrieve state roots up to (inclusive). * Returns up to 257 state roots ending at this slot. * If not specified, returns state roots ending at the latest slot at or * below the durable cursor. A slot above the durable cursor is rejected * with FAILED_PRECONDITION; if no slot is durable yet the call returns * UNAVAILABLE. * * @generated from field: optional uint64 slot = 1; */ slot?: bigint | undefined; }; /** * Describes the message thru.services.v1.GetStateRootsRequest. * Use `create(GetStateRootsRequestSchema)` to create a new message. */ declare const GetStateRootsRequestSchema: GenMessage; /** * StateRootEntry represents a state root for a specific slot. * * @generated from message thru.services.v1.StateRootEntry */ type StateRootEntry = Message<"thru.services.v1.StateRootEntry"> & { /** * @generated from field: uint64 slot = 1; */ slot: bigint; /** * @generated from field: bytes state_root = 2; */ stateRoot: Uint8Array; }; /** * Describes the message thru.services.v1.StateRootEntry. * Use `create(StateRootEntrySchema)` to create a new message. */ declare const StateRootEntrySchema: GenMessage; /** * GetStateRootsResponse contains up to 257 state roots ending at the requested slot. * * @generated from message thru.services.v1.GetStateRootsResponse */ type GetStateRootsResponse = Message<"thru.services.v1.GetStateRootsResponse"> & { /** * @generated from field: repeated thru.services.v1.StateRootEntry state_roots = 1; */ stateRoots: StateRootEntry[]; }; /** * Describes the message thru.services.v1.GetStateRootsResponse. * Use `create(GetStateRootsResponseSchema)` to create a new message. */ declare const GetStateRootsResponseSchema: GenMessage; /** * GetActiveStateHashesRequest retrieves active state hashes for a range of slots. * * @generated from message thru.services.v1.GetActiveStateHashesRequest */ type GetActiveStateHashesRequest = Message<"thru.services.v1.GetActiveStateHashesRequest"> & { /** * The upper bound slot (inclusive). If not specified, defaults to the * durable cursor: the highest slot the node has durably committed, which * lags the finalized slot GetHeight reports by design. An end_slot above * the durable cursor is rejected with FAILED_PRECONDITION; if no slot is * durable yet the call returns UNAVAILABLE. * * @generated from field: optional uint64 end_slot = 1; */ endSlot?: bigint | undefined; /** * The lower bound slot (inclusive). If not specified, defaults to max(0, end_slot - 127). * * @generated from field: optional uint64 start_slot = 2; */ startSlot?: bigint | undefined; }; /** * Describes the message thru.services.v1.GetActiveStateHashesRequest. * Use `create(GetActiveStateHashesRequestSchema)` to create a new message. */ declare const GetActiveStateHashesRequestSchema: GenMessage; /** * ActiveStateHashEntry represents an active state hash for a specific slot. * * @generated from message thru.services.v1.ActiveStateHashEntry */ type ActiveStateHashEntry = Message<"thru.services.v1.ActiveStateHashEntry"> & { /** * @generated from field: uint64 slot = 1; */ slot: bigint; /** * @generated from field: bytes active_state_hash = 2; */ activeStateHash: Uint8Array; }; /** * Describes the message thru.services.v1.ActiveStateHashEntry. * Use `create(ActiveStateHashEntrySchema)` to create a new message. */ declare const ActiveStateHashEntrySchema: GenMessage; /** * GetActiveStateHashesResponse contains active state hashes ending at the requested slot. * * @generated from message thru.services.v1.GetActiveStateHashesResponse */ type GetActiveStateHashesResponse = Message<"thru.services.v1.GetActiveStateHashesResponse"> & { /** * @generated from field: repeated thru.services.v1.ActiveStateHashEntry active_state_hashes = 1; */ activeStateHashes: ActiveStateHashEntry[]; }; /** * Describes the message thru.services.v1.GetActiveStateHashesResponse. * Use `create(GetActiveStateHashesResponseSchema)` to create a new message. */ declare const GetActiveStateHashesResponseSchema: GenMessage; /** * GetSlotMetricsRequest retrieves metrics for a specific slot. * * @generated from message thru.services.v1.GetSlotMetricsRequest */ type GetSlotMetricsRequest = Message<"thru.services.v1.GetSlotMetricsRequest"> & { /** * Block slot number to retrieve metrics for. * * @generated from field: uint64 slot = 1; */ slot: bigint; }; /** * Describes the message thru.services.v1.GetSlotMetricsRequest. * Use `create(GetSlotMetricsRequestSchema)` to create a new message. */ declare const GetSlotMetricsRequestSchema: GenMessage; /** * GetSlotMetricsResponse contains slot-level metrics. * * @generated from message thru.services.v1.GetSlotMetricsResponse */ type GetSlotMetricsResponse = Message<"thru.services.v1.GetSlotMetricsResponse"> & { /** * Block slot number. * * @generated from field: uint64 slot = 1; */ slot: bigint; /** * Global counter tracking total activated state across all accounts. * * @generated from field: uint64 global_activated_state_counter = 2; */ globalActivatedStateCounter: bigint; /** * Global counter tracking total deactivated state across all accounts. * * @generated from field: uint64 global_deactivated_state_counter = 3; */ globalDeactivatedStateCounter: bigint; /** * Fees credited to the absent-block-producer fee receiver this block * because the block producer account was not live (UNTO-1293). Field * number unchanged (4). * * @generated from field: uint64 absent_block_producer_fees = 4; */ absentBlockProducerFees: bigint; /** * Block timestamp when available. * * @generated from field: optional google.protobuf.Timestamp block_timestamp = 5; */ blockTimestamp?: Timestamp | undefined; /** * Fees credited to a live block-producer account this block. Disjoint from * absent_block_producer_fees by destination; total block fees = * absent_block_producer_fees + claimed_fees. * * @generated from field: uint64 claimed_fees = 6; */ claimedFees: bigint; }; /** * Describes the message thru.services.v1.GetSlotMetricsResponse. * Use `create(GetSlotMetricsResponseSchema)` to create a new message. */ declare const GetSlotMetricsResponseSchema: GenMessage; /** * ListSlotMetricsRequest lists slot metrics for a range of slots. * * @generated from message thru.services.v1.ListSlotMetricsRequest */ type ListSlotMetricsRequest = Message<"thru.services.v1.ListSlotMetricsRequest"> & { /** * Start slot for the range (inclusive). * * @generated from field: uint64 start_slot = 1; */ startSlot: bigint; /** * End slot for the range (inclusive). Defaults to start_slot if not specified. * * @generated from field: optional uint64 end_slot = 2; */ endSlot?: bigint | undefined; /** * Maximum number of results to return. Defaults to 100. * * @generated from field: optional uint32 limit = 3; */ limit?: number | undefined; }; /** * Describes the message thru.services.v1.ListSlotMetricsRequest. * Use `create(ListSlotMetricsRequestSchema)` to create a new message. */ declare const ListSlotMetricsRequestSchema: GenMessage; /** * ListSlotMetricsResponse contains a list of slot metrics. * * @generated from message thru.services.v1.ListSlotMetricsResponse */ type ListSlotMetricsResponse = Message<"thru.services.v1.ListSlotMetricsResponse"> & { /** * @generated from field: repeated thru.services.v1.GetSlotMetricsResponse metrics = 1; */ metrics: GetSlotMetricsResponse[]; }; /** * Describes the message thru.services.v1.ListSlotMetricsResponse. * Use `create(ListSlotMetricsResponseSchema)` to create a new message. */ declare const ListSlotMetricsResponseSchema: GenMessage; /** * GetNodePubkeyRequest requests the node's own public key. * * @generated from message thru.services.v1.GetNodePubkeyRequest */ type GetNodePubkeyRequest = Message<"thru.services.v1.GetNodePubkeyRequest"> & {}; /** * Describes the message thru.services.v1.GetNodePubkeyRequest. * Use `create(GetNodePubkeyRequestSchema)` to create a new message. */ declare const GetNodePubkeyRequestSchema: GenMessage; /** * GetNodePubkeyResponse returns the node's ED25519 public key. * * @generated from message thru.services.v1.GetNodePubkeyResponse */ type GetNodePubkeyResponse = Message<"thru.services.v1.GetNodePubkeyResponse"> & { /** * @generated from field: thru.common.v1.Pubkey pubkey = 1; */ pubkey?: Pubkey | undefined; }; /** * Describes the message thru.services.v1.GetNodePubkeyResponse. * Use `create(GetNodePubkeyResponseSchema)` to create a new message. */ declare const GetNodePubkeyResponseSchema: GenMessage; /** * GetNodeRecordsRequest requests all known node records. * * @generated from message thru.services.v1.GetNodeRecordsRequest */ type GetNodeRecordsRequest = Message<"thru.services.v1.GetNodeRecordsRequest"> & {}; /** * Describes the message thru.services.v1.GetNodeRecordsRequest. * Use `create(GetNodeRecordsRequestSchema)` to create a new message. */ declare const GetNodeRecordsRequestSchema: GenMessage; /** * GetNodeRecordsResponse returns all known node records from the gossip network. * * @generated from message thru.services.v1.GetNodeRecordsResponse */ type GetNodeRecordsResponse = Message<"thru.services.v1.GetNodeRecordsResponse"> & { /** * @generated from field: repeated thru.core.v1.NodeRecord records = 1; */ records: NodeRecord[]; }; /** * Describes the message thru.services.v1.GetNodeRecordsResponse. * Use `create(GetNodeRecordsResponseSchema)` to create a new message. */ declare const GetNodeRecordsResponseSchema: GenMessage; /** * GetNodeStatusRequest requests the node's operational status. * * @generated from message thru.services.v1.GetNodeStatusRequest */ type GetNodeStatusRequest = Message<"thru.services.v1.GetNodeStatusRequest"> & {}; /** * Describes the message thru.services.v1.GetNodeStatusRequest. * Use `create(GetNodeStatusRequestSchema)` to create a new message. */ declare const GetNodeStatusRequestSchema: GenMessage; /** * GetNodeStatusResponse returns the node's operational status including * consensus readiness, repair state, and current heights. * * @generated from message thru.services.v1.GetNodeStatusResponse */ type GetNodeStatusResponse = Message<"thru.services.v1.GetNodeStatusResponse"> & { /** * High-level readiness flag. True when consensus is active and the node * is ready to accept and process transactions. * * @generated from field: bool ready = 1; */ ready: boolean; /** * Consensus subsystem state. * * @generated from field: thru.services.v1.NodeConsensusStatus consensus = 2; */ consensus?: NodeConsensusStatus | undefined; /** * Repair subsystem state. * * @generated from field: thru.services.v1.NodeRepairStatus repair = 3; */ repair?: NodeRepairStatus | undefined; /** * Latest finalized slot. * * @generated from field: uint64 finalized_slot = 4; */ finalizedSlot: bigint; /** * Latest locally executed slot. * * @generated from field: uint64 locally_executed_slot = 5; */ locallyExecutedSlot: bigint; }; /** * Describes the message thru.services.v1.GetNodeStatusResponse. * Use `create(GetNodeStatusResponseSchema)` to create a new message. */ declare const GetNodeStatusResponseSchema: GenMessage; /** * NodeConsensusStatus describes the consensus driver state. * * @generated from message thru.services.v1.NodeConsensusStatus */ type NodeConsensusStatus = Message<"thru.services.v1.NodeConsensusStatus"> & { /** * Whether post-repair consensus is active and voting. * * @generated from field: bool active = 1; */ active: boolean; /** * How consensus was entered: regular startup or catastrophic recovery. * * @generated from field: thru.services.v1.NodeMode mode = 2; */ mode: NodeMode; /** * Current consensus frontier slot (first slot without EXECUTION_FINISHED). * * @generated from field: uint64 frontier = 3; */ frontier: bigint; }; /** * Describes the message thru.services.v1.NodeConsensusStatus. * Use `create(NodeConsensusStatusSchema)` to create a new message. */ declare const NodeConsensusStatusSchema: GenMessage; /** * NodeRepairStatus describes the repair subsystem state. * * @generated from message thru.services.v1.NodeRepairStatus */ type NodeRepairStatus = Message<"thru.services.v1.NodeRepairStatus"> & { /** * Whether catastrophic repair gating is active. When true, the node is * suppressing consensus output and rejecting transactions. * Note: during normal gap repair (non-catastrophic), this is false but * consensus.active is also false, so ready is correctly false. * * @generated from field: bool active = 1; */ active: boolean; }; /** * Describes the message thru.services.v1.NodeRepairStatus. * Use `create(NodeRepairStatusSchema)` to create a new message. */ declare const NodeRepairStatusSchema: GenMessage; /** * BatchGetRawAccountsRequest fetches raw bytes for many accounts in one call. * * Batching exists because the per-account path costs up to three ClickHouse * round-trips (current meta, historical meta, historical pages), so N accounts * fetched one at a time is 3N sequential queries. The batch answers the whole * set in a fixed number of queries regardless of N. * * @generated from message thru.services.v1.BatchGetRawAccountsRequest */ type BatchGetRawAccountsRequest = Message<"thru.services.v1.BatchGetRawAccountsRequest"> & { /** * The accounts to fetch. At most 1000 (BATCH_GET_MAX_ITEMS); a larger batch * is rejected with INVALID_ARGUMENT rather than silently truncated, because * the address list is rendered into the SQL and would otherwise run into * ClickHouse's max_query_size. * * @generated from field: repeated thru.services.v1.BatchGetRawAccountsItem items = 1; */ items: BatchGetRawAccountsItem[]; /** * Version applied to every item that does not carry its own. Set this alone * to read the whole batch at one version -- the common case -- instead of * repeating the same context on each item. * * @generated from field: optional thru.common.v1.VersionContext version_context = 2; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 3; */ minConsensus?: ConsensusStatus | undefined; /** * @generated from field: optional thru.core.v1.AccountView view = 4; */ view?: AccountView | undefined; }; /** * Describes the message thru.services.v1.BatchGetRawAccountsRequest. * Use `create(BatchGetRawAccountsRequestSchema)` to create a new message. */ declare const BatchGetRawAccountsRequestSchema: GenMessage; /** * BatchGetRawAccountsItem is one account in a batch, optionally pinned to its * own version. * * @generated from message thru.services.v1.BatchGetRawAccountsItem */ type BatchGetRawAccountsItem = Message<"thru.services.v1.BatchGetRawAccountsItem"> & { /** * @generated from field: thru.common.v1.Pubkey address = 1; */ address?: Pubkey | undefined; /** * Overrides the request-level version_context for this account only. Leave * unset to inherit it. Set it when the batch reads accounts at DIFFERENT * versions -- e.g. verifying each account at the slot its own transaction * executed in. * * @generated from field: optional thru.common.v1.VersionContext version_context = 2; */ versionContext?: VersionContext | undefined; }; /** * Describes the message thru.services.v1.BatchGetRawAccountsItem. * Use `create(BatchGetRawAccountsItemSchema)` to create a new message. */ declare const BatchGetRawAccountsItemSchema: GenMessage; /** * BatchGetRawAccountsResponse returns the accounts that were found. * * PARTIAL BY DESIGN: an address that does not exist is simply ABSENT from the * map rather than failing the call, so one missing account cannot destroy a * batch of 1000. Callers must look up their addresses rather than assume the * map is complete. * * @generated from message thru.services.v1.BatchGetRawAccountsResponse */ type BatchGetRawAccountsResponse = Message<"thru.services.v1.BatchGetRawAccountsResponse"> & { /** * Keyed by the encoded account address, as returned elsewhere in this API. * * @generated from field: map accounts = 1; */ accounts: { [key: string]: RawAccount; }; }; /** * Describes the message thru.services.v1.BatchGetRawAccountsResponse. * Use `create(BatchGetRawAccountsResponseSchema)` to create a new message. */ declare const BatchGetRawAccountsResponseSchema: GenMessage; /** * BatchGetTransactionsRequest fetches many decoded transactions in one call. * * @generated from message thru.services.v1.BatchGetTransactionsRequest */ type BatchGetTransactionsRequest = Message<"thru.services.v1.BatchGetTransactionsRequest"> & { /** * At most 1000 (BATCH_GET_MAX_ITEMS); see BatchGetRawAccountsRequest.items. * * @generated from field: repeated thru.common.v1.Signature signatures = 1; */ signatures: Signature[]; /** * @generated from field: optional thru.common.v1.VersionContext version_context = 2; */ versionContext?: VersionContext | undefined; /** * @generated from field: optional thru.common.v1.ConsensusStatus min_consensus = 3; */ minConsensus?: ConsensusStatus | undefined; /** * @generated from field: optional thru.core.v1.TransactionView view = 4; */ view?: TransactionView | undefined; }; /** * Describes the message thru.services.v1.BatchGetTransactionsRequest. * Use `create(BatchGetTransactionsRequestSchema)` to create a new message. */ declare const BatchGetTransactionsRequestSchema: GenMessage; /** * BatchGetTransactionsResponse returns the transactions that were found. * * PARTIAL BY DESIGN, exactly as BatchGetRawAccountsResponse: an unknown * signature is absent from the map, not an error. * * @generated from message thru.services.v1.BatchGetTransactionsResponse */ type BatchGetTransactionsResponse = Message<"thru.services.v1.BatchGetTransactionsResponse"> & { /** * Keyed by the encoded transaction signature. * * @generated from field: map transactions = 1; */ transactions: { [key: string]: Transaction; }; }; /** * Describes the message thru.services.v1.BatchGetTransactionsResponse. * Use `create(BatchGetTransactionsResponseSchema)` to create a new message. */ declare const BatchGetTransactionsResponseSchema: GenMessage; /** * BatchGenerateStateProofsRequest generates many state proofs in one call. * * A single proof descends the state trie root-to-leaf, one node fetch per * level, and that descent cannot be parallelised -- each node is what reveals * the next hash. What CAN be shared is the descent across proofs: every * request in the batch needs its depth-d node at the same moment, so N proofs * over a depth-D trie cost D round-trips rather than N*D. * * @generated from message thru.services.v1.BatchGenerateStateProofsRequest */ type BatchGenerateStateProofsRequest = Message<"thru.services.v1.BatchGenerateStateProofsRequest"> & { /** * At most 1000; a larger batch is rejected rather than truncated. * * Every request's own target_slot must be UNSET: the slot is chosen once for * the batch, below. A request that sets it is rejected rather than ignored. * * @generated from field: repeated thru.core.v1.StateProofRequest requests = 1; */ requests: StateProofRequest[]; /** * The slot whose state root every proof in this batch is built against. * Unset (or 0) selects the latest usable root, as the per-request RPC does. * * BATCH-LEVEL, NOT PER-REQUEST, deliberately. A proof is only usable by a * block whose execution slot falls inside the runtime's ACCEPTS window, so * every proof a caller assembles for one block already shares one slot; * mixing slots in a batch has no use and is expensive to serve. Each distinct * slot costs its own root resolution and its own full trie descent, so a * 1000-request batch of distinct slots performs ~1000 descents instead of one * shared walk -- the same work as 1000 separate calls, bought with a single * round-trip. Hoisting the slot here makes that shape unrepresentable rather * than merely rejected. * * @generated from field: optional uint64 target_slot = 2; */ targetSlot?: bigint | undefined; }; /** * Describes the message thru.services.v1.BatchGenerateStateProofsRequest. * Use `create(BatchGenerateStateProofsRequestSchema)` to create a new message. */ declare const BatchGenerateStateProofsRequestSchema: GenMessage; /** * BatchGenerateStateProofsResponse returns one result per request, IN THE ORDER * REQUESTED. * * Results are positional rather than keyed because the same account may * legitimately appear more than once in a batch (at different proof types), so * an address alone does not identify a request. * * @generated from message thru.services.v1.BatchGenerateStateProofsResponse */ type BatchGenerateStateProofsResponse = Message<"thru.services.v1.BatchGenerateStateProofsResponse"> & { /** * @generated from field: repeated thru.services.v1.StateProofResult results = 1; */ results: StateProofResult[]; }; /** * Describes the message thru.services.v1.BatchGenerateStateProofsResponse. * Use `create(BatchGenerateStateProofsResponseSchema)` to create a new message. */ declare const BatchGenerateStateProofsResponseSchema: GenMessage; /** * StateProofResult is one request's outcome. * * PARTIAL BY DESIGN: a key that cannot be proved -- absent when membership was * asked, present when non-membership was -- is an ordinary answer ABOUT THAT * KEY and must not fail the other 999. Exactly one of proof/error is set. * * @generated from message thru.services.v1.StateProofResult */ type StateProofResult = Message<"thru.services.v1.StateProofResult"> & { /** * @generated from field: optional thru.core.v1.StateProof proof = 1; */ proof?: StateProof | undefined; /** * google.rpc.Code for this request, 0 when proof is set. * * @generated from field: optional int32 error_code = 2; */ errorCode?: number | undefined; /** * @generated from field: optional string error_message = 3; */ errorMessage?: string | undefined; }; /** * Describes the message thru.services.v1.StateProofResult. * Use `create(StateProofResultSchema)` to create a new message. */ declare const StateProofResultSchema: GenMessage; /** * GetCompressionConfigRequest requests the current durable compression inputs. * * @generated from message thru.services.v1.GetCompressionConfigRequest */ type GetCompressionConfigRequest = Message<"thru.services.v1.GetCompressionConfigRequest"> & {}; /** * Describes the message thru.services.v1.GetCompressionConfigRequest. * Use `create(GetCompressionConfigRequestSchema)` to create a new message. */ declare const GetCompressionConfigRequestSchema: GenMessage; /** * CompressionConfig contains inputs from one durable finalized slot. * * @generated from message thru.services.v1.CompressionConfig */ type CompressionConfig = Message<"thru.services.v1.CompressionConfig"> & { /** * Finalized slot shared by the account metadata, activity, and policy inputs. * * @generated from field: uint64 slot = 1; */ slot: bigint; /** * Settled net-growth counter in state units, not wall-clock time. * * @generated from field: uint64 state_clock = 2; */ stateClock: bigint; /** * Active state-unit load used by the compression eligibility policy. * * @generated from field: uint64 active_state_units = 3; */ activeStateUnits: bigint; /** * Maximum state units a block may consume. * * @generated from field: uint64 max_state_units_per_block = 4; */ maxStateUnitsPerBlock: bigint; /** * Maximum active state units configured for the chain. * * @generated from field: uint64 max_active_state_units = 5; */ maxActiveStateUnits: bigint; /** * Active-load baseline, in state units, below which compression is disabled. * * @generated from field: uint64 compress_baseline_units = 6; */ compressBaselineUnits: bigint; /** * Additional load, in state units, for each halving of the inactivity window. * * @generated from field: uint64 compress_halving_step_units = 7; */ compressHalvingStepUnits: bigint; }; /** * Describes the message thru.services.v1.CompressionConfig. * Use `create(CompressionConfigSchema)` to create a new message. */ declare const CompressionConfigSchema: GenMessage; /** * CanCompressRequest identifies the active account to evaluate. * * @generated from message thru.services.v1.CanCompressRequest */ type CanCompressRequest = Message<"thru.services.v1.CanCompressRequest"> & { /** * Address of the account whose activity and metadata are checked. * * @generated from field: thru.common.v1.Pubkey address = 1; */ address?: Pubkey | undefined; }; /** * Describes the message thru.services.v1.CanCompressRequest. * Use `create(CanCompressRequestSchema)` to create a new message. */ declare const CanCompressRequestSchema: GenMessage; /** * CanCompressResponse returns eligibility and its consistent durable inputs. * * @generated from message thru.services.v1.CanCompressResponse */ type CanCompressResponse = Message<"thru.services.v1.CanCompressResponse"> & { /** * Non-owner inactivity-policy eligibility, also respecting UNCOMPRESSABLE. * This is a prediction at config.slot, not transaction admission: proofs, * startup warmup, cooldown, write locks and call-stack checks still apply. * * @generated from field: bool can_compress = 1; */ canCompress: boolean; /** * Account's last activity stamp in state-clock units; zero if absent. * * @generated from field: uint64 last_used = 2; */ lastUsed: bigint; /** * Policy inputs from the same finalized slot as the account's activity. * * @generated from field: thru.services.v1.CompressionConfig config = 3; */ config?: CompressionConfig | undefined; }; /** * Describes the message thru.services.v1.CanCompressResponse. * Use `create(CanCompressResponseSchema)` to create a new message. */ declare const CanCompressResponseSchema: GenMessage; /** * NodeMode represents the consensus/repair operating mode. * * @generated from enum thru.services.v1.NodeMode */ declare enum NodeMode { /** * @generated from enum value: NODE_MODE_UNKNOWN = 0; */ UNKNOWN = 0, /** * @generated from enum value: NODE_MODE_REGULAR = 1; */ REGULAR = 1, /** * @generated from enum value: NODE_MODE_CATASTROPHIC = 2; */ CATASTROPHIC = 2 } /** * Describes the enum thru.services.v1.NodeMode. */ declare const NodeModeSchema: GenEnum; /** * QueryService defines unary RPCs for accessing blockchain data. * * @generated from service thru.services.v1.QueryService */ declare const QueryService: GenService<{ /** * Returns typed chain parameters and the state clock in one durable view. * * @generated from rpc thru.services.v1.QueryService.GetCompressionConfig */ getCompressionConfig: { methodKind: "unary"; input: typeof GetCompressionConfigRequestSchema; output: typeof CompressionConfigSchema; }; /** * Reads account metadata, activity and config from the same durable snapshot. * * @generated from rpc thru.services.v1.QueryService.CanCompress */ canCompress: { methodKind: "unary"; input: typeof CanCompressRequestSchema; output: typeof CanCompressResponseSchema; }; /** * Get block heights * * @generated from rpc thru.services.v1.QueryService.GetHeight */ getHeight: { methodKind: "unary"; input: typeof GetHeightRequestSchema; output: typeof GetHeightResponseSchema; }; /** * Get chain-level information including chain ID. * * @generated from rpc thru.services.v1.QueryService.GetChainInfo */ getChainInfo: { methodKind: "unary"; input: typeof GetChainInfoRequestSchema; output: typeof GetChainInfoResponseSchema; }; /** * Get account information. * * @generated from rpc thru.services.v1.QueryService.GetAccount */ getAccount: { methodKind: "unary"; input: typeof GetAccountRequestSchema; output: typeof AccountSchema; }; /** * Get account raw bytes. * * @generated from rpc thru.services.v1.QueryService.GetRawAccount */ getRawAccount: { methodKind: "unary"; input: typeof GetRawAccountRequestSchema; output: typeof RawAccountSchema; }; /** * Get raw bytes for many accounts in one call. Partial: addresses that do * not exist are absent from the response map. * * @generated from rpc thru.services.v1.QueryService.BatchGetRawAccounts */ batchGetRawAccounts: { methodKind: "unary"; input: typeof BatchGetRawAccountsRequestSchema; output: typeof BatchGetRawAccountsResponseSchema; }; /** * Get many transactions in one call. Partial: unknown signatures are absent * from the response map. * * @generated from rpc thru.services.v1.QueryService.BatchGetTransactions */ batchGetTransactions: { methodKind: "unary"; input: typeof BatchGetTransactionsRequestSchema; output: typeof BatchGetTransactionsResponseSchema; }; /** * Get transaction by signature. * * @generated from rpc thru.services.v1.QueryService.GetTransaction */ getTransaction: { methodKind: "unary"; input: typeof GetTransactionRequestSchema; output: typeof TransactionSchema; }; /** * Get raw transaction by signature. * * @generated from rpc thru.services.v1.QueryService.GetRawTransaction */ getRawTransaction: { methodKind: "unary"; input: typeof GetRawTransactionRequestSchema; output: typeof RawTransactionSchema; }; /** * Get block by slot or hash. * * @generated from rpc thru.services.v1.QueryService.GetBlock */ getBlock: { methodKind: "unary"; input: typeof GetBlockRequestSchema; output: typeof BlockSchema; }; /** * Get raw block bytes. * * @generated from rpc thru.services.v1.QueryService.GetRawBlock */ getRawBlock: { methodKind: "unary"; input: typeof GetRawBlockRequestSchema; output: typeof RawBlockSchema; }; /** * List accounts using CEL-based filtering. * * @generated from rpc thru.services.v1.QueryService.ListAccounts */ listAccounts: { methodKind: "unary"; input: typeof ListAccountsRequestSchema; output: typeof ListAccountsResponseSchema; }; /** * List blocks using pagination and filtering. By default returns blocks ordered from latest slot to the first one. * * @generated from rpc thru.services.v1.QueryService.ListBlocks */ listBlocks: { methodKind: "unary"; input: typeof ListBlocksRequestSchema; output: typeof ListBlocksResponseSchema; }; /** * List executed transaction signatures involving an account. * * @generated from rpc thru.services.v1.QueryService.ListTransactionsForAccount */ listTransactionsForAccount: { methodKind: "unary"; input: typeof ListTransactionsForAccountRequestSchema; output: typeof ListTransactionsForAccountResponseSchema; }; /** * Get a specific event by ID. * * @generated from rpc thru.services.v1.QueryService.GetEvent */ getEvent: { methodKind: "unary"; input: typeof GetEventRequestSchema; output: typeof EventSchema; }; /** * List events with CEL filtering and pagination. Returns events ordered from most recent to older. * * @generated from rpc thru.services.v1.QueryService.ListEvents */ listEvents: { methodKind: "unary"; input: typeof ListEventsRequestSchema; output: typeof ListEventsResponseSchema; }; /** * List executed transactions with CEL filtering and pagination. Returns transactions ordered from most recent to older. * * @generated from rpc thru.services.v1.QueryService.ListTransactions */ listTransactions: { methodKind: "unary"; input: typeof ListTransactionsRequestSchema; output: typeof ListTransactionsResponseSchema; }; /** * Get derived transaction status metadata. * * @generated from rpc thru.services.v1.QueryService.GetTransactionStatus */ getTransactionStatus: { methodKind: "unary"; input: typeof GetTransactionStatusRequestSchema; output: typeof TransactionStatusSchema; }; /** * Generate an account state proof snapshot. * Generate many state proofs in one call, sharing the trie descent across * them. Partial: a request that cannot be proved carries its own error. * * @generated from rpc thru.services.v1.QueryService.BatchGenerateStateProofs */ batchGenerateStateProofs: { methodKind: "unary"; input: typeof BatchGenerateStateProofsRequestSchema; output: typeof BatchGenerateStateProofsResponseSchema; }; /** * @generated from rpc thru.services.v1.QueryService.GenerateStateProof */ generateStateProof: { methodKind: "unary"; input: typeof GenerateStateProofRequestSchema; output: typeof GenerateStateProofResponseSchema; }; /** * Get component version strings. * * @generated from rpc thru.services.v1.QueryService.GetVersion */ getVersion: { methodKind: "unary"; input: typeof GetVersionRequestSchema; output: typeof GetVersionResponseSchema; }; /** * Get state roots for a range of slots. * Used for transaction replay to verify state proofs against historical roots. * * @generated from rpc thru.services.v1.QueryService.GetStateRoots */ getStateRoots: { methodKind: "unary"; input: typeof GetStateRootsRequestSchema; output: typeof GetStateRootsResponseSchema; }; /** * Get active state hashes for a range of slots. * * @generated from rpc thru.services.v1.QueryService.GetActiveStateHashes */ getActiveStateHashes: { methodKind: "unary"; input: typeof GetActiveStateHashesRequestSchema; output: typeof GetActiveStateHashesResponseSchema; }; /** * Get slot-level metrics including state counters and distributed fees * (absent-block-producer + claimed). * * @generated from rpc thru.services.v1.QueryService.GetSlotMetrics */ getSlotMetrics: { methodKind: "unary"; input: typeof GetSlotMetricsRequestSchema; output: typeof GetSlotMetricsResponseSchema; }; /** * List slot metrics for a range of slots. * * @generated from rpc thru.services.v1.QueryService.ListSlotMetrics */ listSlotMetrics: { methodKind: "unary"; input: typeof ListSlotMetricsRequestSchema; output: typeof ListSlotMetricsResponseSchema; }; /** * Get the node's own ED25519 public key. * * @generated from rpc thru.services.v1.QueryService.GetNodePubkey */ getNodePubkey: { methodKind: "unary"; input: typeof GetNodePubkeyRequestSchema; output: typeof GetNodePubkeyResponseSchema; }; /** * Get all known node records from the gossip network. * * @generated from rpc thru.services.v1.QueryService.GetNodeRecords */ getNodeRecords: { methodKind: "unary"; input: typeof GetNodeRecordsRequestSchema; output: typeof GetNodeRecordsResponseSchema; }; /** * Get the node's operational status including consensus readiness. * * @generated from rpc thru.services.v1.QueryService.GetNodeStatus */ getNodeStatus: { methodKind: "unary"; input: typeof GetNodeStatusRequestSchema; output: typeof GetNodeStatusResponseSchema; }; }>; export { type GetAccountRequest as $, type ActiveStateHashEntry as A, type BatchGenerateStateProofsRequest as B, BlockView as C, BlockViewSchema as D, type BytesList as E, BytesListSchema as F, type CanCompressRequest as G, CanCompressRequestSchema as H, type CanCompressResponse as I, CanCompressResponseSchema as J, type CelFilterValidation as K, CelFilterValidationSchema as L, CommandService as M, type CompressionConfig as N, CompressionConfigSchema as O, type Event as P, EventSchema as Q, ExecutionStatus as R, ExecutionStatusSchema as S, type Filter as T, type FilterParamValue as U, FilterParamValueSchema as V, FilterSchema as W, type GenerateStateProofRequest as X, GenerateStateProofRequestSchema as Y, type GenerateStateProofResponse as Z, GenerateStateProofResponseSchema as _, ActiveStateHashEntrySchema as a, type ListEventsRequest as a$, GetAccountRequestSchema as a0, type GetActiveStateHashesRequest as a1, GetActiveStateHashesRequestSchema as a2, type GetActiveStateHashesResponse as a3, GetActiveStateHashesResponseSchema as a4, type GetBlockRequest as a5, GetBlockRequestSchema as a6, type GetChainInfoRequest as a7, GetChainInfoRequestSchema as a8, type GetChainInfoResponse as a9, GetRawTransactionRequestSchema as aA, type GetSlotMetricsRequest as aB, GetSlotMetricsRequestSchema as aC, type GetSlotMetricsResponse as aD, GetSlotMetricsResponseSchema as aE, type GetStateRootsRequest as aF, GetStateRootsRequestSchema as aG, type GetStateRootsResponse as aH, GetStateRootsResponseSchema as aI, type GetTransactionRequest as aJ, GetTransactionRequestSchema as aK, type GetTransactionStatusRequest as aL, GetTransactionStatusRequestSchema as aM, type GetVersionRequest as aN, GetVersionRequestSchema as aO, type GetVersionResponse as aP, GetVersionResponseSchema as aQ, type Hash as aR, HashSchema as aS, type ListAccountsRequest as aT, ListAccountsRequestSchema as aU, type ListAccountsResponse as aV, ListAccountsResponseSchema as aW, type ListBlocksRequest as aX, ListBlocksRequestSchema as aY, type ListBlocksResponse as aZ, ListBlocksResponseSchema as a_, GetChainInfoResponseSchema as aa, type GetCompressionConfigRequest as ab, GetCompressionConfigRequestSchema as ac, type GetEventRequest as ad, GetEventRequestSchema as ae, type GetHeightRequest as af, GetHeightRequestSchema as ag, type GetHeightResponse as ah, GetHeightResponseSchema as ai, type GetNodePubkeyRequest as aj, GetNodePubkeyRequestSchema as ak, type GetNodePubkeyResponse as al, GetNodePubkeyResponseSchema as am, type GetNodeRecordsRequest as an, GetNodeRecordsRequestSchema as ao, type GetNodeRecordsResponse as ap, GetNodeRecordsResponseSchema as aq, type GetNodeStatusRequest as ar, GetNodeStatusRequestSchema as as, type GetNodeStatusResponse as at, GetNodeStatusResponseSchema as au, type GetRawAccountRequest as av, GetRawAccountRequestSchema as aw, type GetRawBlockRequest as ax, GetRawBlockRequestSchema as ay, type GetRawTransactionRequest as az, BatchGenerateStateProofsRequestSchema as b, type TransactionHeader as b$, ListEventsRequestSchema as b0, type ListEventsResponse as b1, ListEventsResponseSchema as b2, type ListSlotMetricsRequest as b3, ListSlotMetricsRequestSchema as b4, type ListSlotMetricsResponse as b5, ListSlotMetricsResponseSchema as b6, type ListTransactionsForAccountRequest as b7, ListTransactionsForAccountRequestSchema as b8, type ListTransactionsForAccountResponse as b9, type RawTransaction as bA, RawTransactionSchema as bB, type SendAndTrackTxnRequest as bC, SendAndTrackTxnRequestSchema as bD, type SendAndTrackTxnResponse as bE, SendAndTrackTxnResponseSchema as bF, type SendTransactionRequest as bG, SendTransactionRequestSchema as bH, type SendTransactionResponse as bI, SendTransactionResponseSchema as bJ, type StateProof as bK, type StateProofRequest as bL, StateProofRequestSchema as bM, type StateProofResult as bN, StateProofResultSchema as bO, StateProofSchema as bP, StateProofType as bQ, StateProofTypeSchema as bR, type StateRootEntry as bS, StateRootEntrySchema as bT, SubmissionStatus as bU, SubmissionStatusSchema as bV, type Transaction as bW, type TransactionEvent as bX, TransactionEventSchema as bY, type TransactionExecutionResult as bZ, TransactionExecutionResultSchema as b_, ListTransactionsForAccountResponseSchema as ba, type ListTransactionsRequest as bb, ListTransactionsRequestSchema as bc, type ListTransactionsResponse as bd, ListTransactionsResponseSchema as be, type NodeConsensusStatus as bf, NodeConsensusStatusSchema as bg, type NodeContact as bh, NodeContactSchema as bi, NodeMode as bj, NodeModeSchema as bk, type NodeProtocol as bl, NodeProtocolSchema as bm, type NodeRecord as bn, NodeRecordSchema as bo, type NodeRepairStatus as bp, NodeRepairStatusSchema as bq, type PageRequest as br, PageRequestSchema as bs, type PageResponse as bt, PageResponseSchema as bu, type PubkeyList as bv, PubkeyListSchema as bw, QueryService as bx, type RawBlock as by, RawBlockSchema as bz, type BatchGenerateStateProofsResponse as c, TransactionHeaderSchema as c0, TransactionSchema as c1, type TransactionStatus as c2, TransactionStatusSchema as c3, TransactionView as c4, TransactionViewSchema as c5, TransactionVmError as c6, TransactionVmErrorSchema as c7, file_thru_common_v1_filters as c8, file_thru_common_v1_pagination as c9, file_thru_core_v1_block as ca, file_thru_core_v1_node as cb, file_thru_core_v1_state as cc, file_thru_core_v1_transaction as cd, file_thru_core_v1_types as ce, file_thru_services_v1_command_service as cf, file_thru_services_v1_query_service as cg, BatchGenerateStateProofsResponseSchema as d, type BatchGetRawAccountsItem as e, BatchGetRawAccountsItemSchema as f, type BatchGetRawAccountsRequest as g, BatchGetRawAccountsRequestSchema as h, type BatchGetRawAccountsResponse as i, BatchGetRawAccountsResponseSchema as j, type BatchGetTransactionsRequest as k, BatchGetTransactionsRequestSchema as l, type BatchGetTransactionsResponse as m, BatchGetTransactionsResponseSchema as n, type BatchSendTransactionsRequest as o, BatchSendTransactionsRequestSchema as p, type BatchSendTransactionsResponse as q, BatchSendTransactionsResponseSchema as r, type Block as s, type BlockFooter as t, BlockFooterSchema as u, type BlockHash as v, BlockHashSchema as w, type BlockHeader as x, BlockHeaderSchema as y, BlockSchema as z };