syntax = "proto3";
import "block.proto";
import "mmr_tree.proto";
import "types.proto";
package tari.base_node;
// Request type for a received BaseNodeService request.
message BaseNodeServiceRequest {
uint64 request_key = 1;
oneof request {
// Indicates a GetChainMetadata request. The value of the bool should be ignored.
bool get_chain_metadata = 2;
// Indicates a FetchKernels request.
HashOutputs fetch_kernels = 3;
// Indicates a FetchHeaders request.
BlockHeights fetch_headers = 4;
// Indicates a FetchHeadersWithHashes request.
HashOutputs fetch_headers_with_hashes = 5;
// Indicates a FetchMatchingUtxos request.
HashOutputs fetch_matching_utxos = 6;
// Indicates a FetchMatchingBlocks request.
BlockHeights fetch_matching_blocks = 7;
// Indicates a FetchBlocksWithHashes request.
HashOutputs fetch_blocks_with_hashes = 8;
// Indicates a GetNewBlockTemplate request.
uint64 get_new_block_template = 9;
// Indicates a GetNewBlock request.
tari.core.NewBlockTemplate get_new_block = 10;
// Get headers in best chain following any headers in this list
FetchHeadersAfter fetch_headers_after = 12;
// Indicates a FetchMatchingTxos request.
HashOutputs fetch_matching_txos = 15;
// Indicates a Fetch block with kernels request
Signatures fetch_blocks_with_kernels = 16;
// Indicates a Fetch block with kernels request
Commitments fetch_blocks_with_stxos = 17;
// Indicates a Fetch block with kernels request
Commitments fetch_blocks_with_utxos = 18;
// Indicates a Fetch kernel by excess signature request
tari.types.Signature fetch_kernel_by_excess_sig = 19;
}
}
message BlockHeights {
repeated uint64 heights = 1;
}
message HashOutputs {
repeated bytes outputs = 1;
}
message Signatures {
repeated tari.types.Signature sigs = 1;
}
message Commitments{
repeated tari.types.Commitment commitments = 1;
}
message FetchHeadersAfter {
repeated bytes hashes = 1;
bytes stopping_hash = 2;
}
message FetchMmrNodeCount {
MmrTree tree = 1;
uint64 height = 2;
}