diff --git a/README.md b/README.md
index c8d32ee..b3901a1 100644
--- a/README.md
+++ b/README.md
@@ -2,32 +2,10 @@
[](https://github.com/enviodev/hypersync-client-rust/actions/workflows/ci.yaml)
-
Rust crate for [Envio's](https://envio.dev/) HyperSync client.
[Documentation Page](https://docs.envio.dev/docs/hypersync-clients)
-
-### Dependencies
-
-Need to install capnproto tool in order to build the library.
-
-#### Linux
-
-```bash
-apt-get install -y capnproto libcapnp-dev
-```
-
-#### Windows
-
-```bash
-choco install capnproto
-```
-
-#### MacOS
-
-```bash
-brew install capnp
-```
diff --git a/hypersync-client/Cargo.toml b/hypersync-client/Cargo.toml
index e6680eb..2781c0b 100644
--- a/hypersync-client/Cargo.toml
+++ b/hypersync-client/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hypersync-client"
-version = "0.20.0-rc.1"
+version = "0.20.0-rc.2"
edition = "2021"
description = "client library for hypersync"
license = "MPL-2.0"
@@ -47,7 +47,7 @@ nohash-hasher = "0.2.0"
ethers = { version = "2.0.14", optional = true }
alloy-primitives = "1.1"
-hypersync-net-types = { path = "../hypersync-net-types", version = "0.11.0-rc.1" }
+hypersync-net-types = { path = "../hypersync-net-types", version = "0.11.0-rc.2" }
hypersync-format = { path = "../hypersync-format", version = "0.5" }
hypersync-schema = { path = "../hypersync-schema", version = "0.3" }
diff --git a/hypersync-client/src/config.rs b/hypersync-client/src/config.rs
index 8c7f881..341fb61 100644
--- a/hypersync-client/src/config.rs
+++ b/hypersync-client/src/config.rs
@@ -21,6 +21,25 @@ pub struct ClientConfig {
pub retry_base_ms: Option,
/// Ceiling time for request backoff.
pub retry_ceiling_ms: Option,
+ /// Query serialization format to use for HTTP requests.
+ #[serde(default)]
+ pub serialization_format: SerializationFormat,
+}
+
+/// Determines query serialization format for HTTP requests.
+#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
+pub enum SerializationFormat {
+ /// Use JSON serialization (default)
+ Json,
+ /// Use Cap'n Proto binary serialization
+ CapnProto,
+}
+
+impl Default for SerializationFormat {
+ fn default() -> Self {
+ // Keep this the default until all hs instances are upgraded to use Cap'n Proto endpoint
+ Self::Json
+ }
}
/// Config for hypersync event streaming.
diff --git a/hypersync-client/src/lib.rs b/hypersync-client/src/lib.rs
index b28bd57..c436e1c 100644
--- a/hypersync-client/src/lib.rs
+++ b/hypersync-client/src/lib.rs
@@ -35,7 +35,7 @@ use url::Url;
pub use column_mapping::{ColumnMapping, DataType};
pub use config::HexOutput;
-pub use config::{ClientConfig, StreamConfig};
+pub use config::{ClientConfig, SerializationFormat, StreamConfig};
pub use decode::Decoder;
pub use decode_call::CallDecoder;
pub use types::{ArrowBatch, ArrowResponse, ArrowResponseData, QueryResponse};
@@ -61,6 +61,8 @@ pub struct Client {
retry_base_ms: u64,
/// Ceiling time for request backoff.
retry_ceiling_ms: u64,
+ /// Query serialization format to use for HTTP requests.
+ serialization_format: SerializationFormat,
}
impl Client {
@@ -86,6 +88,7 @@ impl Client {
retry_backoff_ms: cfg.retry_backoff_ms.unwrap_or(500),
retry_base_ms: cfg.retry_base_ms.unwrap_or(200),
retry_ceiling_ms: cfg.retry_ceiling_ms.unwrap_or(5_000),
+ serialization_format: cfg.serialization_format,
})
}
@@ -383,8 +386,8 @@ impl Client {
))
}
- /// Executes query once and returns the result in (Arrow, size) format.
- async fn get_arrow_impl(&self, query: &Query) -> Result<(ArrowResponse, u64)> {
+ /// Executes query once and returns the result in (Arrow, size) format using JSON serialization.
+ async fn get_arrow_impl_json(&self, query: &Query) -> Result<(ArrowResponse, u64)> {
let mut url = self.url.clone();
let mut segments = url.path_segments_mut().ok().context("get path segments")?;
segments.push("query");
@@ -418,6 +421,56 @@ impl Client {
Ok((res, bytes.len().try_into().unwrap()))
}
+ /// Executes query once and returns the result in (Arrow, size) format using Cap'n Proto serialization.
+ async fn get_arrow_impl_capnp(&self, query: &Query) -> Result<(ArrowResponse, u64)> {
+ let mut url = self.url.clone();
+ let mut segments = url.path_segments_mut().ok().context("get path segments")?;
+ segments.push("query");
+ segments.push("arrow-ipc");
+ segments.push("capnp");
+ std::mem::drop(segments);
+ let mut req = self.http_client.request(Method::POST, url);
+
+ if let Some(bearer_token) = &self.bearer_token {
+ req = req.bearer_auth(bearer_token);
+ }
+
+ let query_bytes = query.to_bytes().context("serialize query to bytes")?;
+ let res = req
+ .header("content-type", "application/x-capnp")
+ .body(query_bytes)
+ .send()
+ .await
+ .context("execute http req")?;
+
+ let status = res.status();
+ if !status.is_success() {
+ let text = res.text().await.context("read text to see error")?;
+
+ return Err(anyhow!(
+ "http response status code {}, err body: {}",
+ status,
+ text
+ ));
+ }
+
+ let bytes = res.bytes().await.context("read response body bytes")?;
+
+ let res = tokio::task::block_in_place(|| {
+ parse_query_response(&bytes).context("parse query response")
+ })?;
+
+ Ok((res, bytes.len().try_into().unwrap()))
+ }
+
+ /// Executes query once and returns the result in (Arrow, size) format.
+ async fn get_arrow_impl(&self, query: &Query) -> Result<(ArrowResponse, u64)> {
+ match self.serialization_format {
+ SerializationFormat::Json => self.get_arrow_impl_json(query).await,
+ SerializationFormat::CapnProto => self.get_arrow_impl_capnp(query).await,
+ }
+ }
+
/// Executes query with retries and returns the response in Arrow format.
pub async fn get_arrow(&self, query: &Query) -> Result {
self.get_arrow_with_size(query).await.map(|res| res.0)
diff --git a/hypersync-client/src/preset_query.rs b/hypersync-client/src/preset_query.rs
index 02ece3e..ccef12a 100644
--- a/hypersync-client/src/preset_query.rs
+++ b/hypersync-client/src/preset_query.rs
@@ -3,6 +3,9 @@ use std::collections::BTreeSet;
use arrayvec::ArrayVec;
use hypersync_format::{Address, LogArgument};
+use hypersync_net_types::block::BlockField;
+use hypersync_net_types::log::LogField;
+use hypersync_net_types::transaction::TransactionField;
use hypersync_net_types::{
FieldSelection, LogFilter, LogSelection, Query, TransactionFilter, TransactionSelection,
};
@@ -12,17 +15,8 @@ use hypersync_net_types::{
/// Note: this is only for quickstart purposes. For the best performance, create a custom query
/// that only includes the fields you'll use in `field_selection`.
pub fn blocks_and_transactions(from_block: u64, to_block: Option) -> Query {
- let all_block_fields: BTreeSet = hypersync_schema::block_header()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
-
- let all_tx_fields: BTreeSet = hypersync_schema::transaction()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
+ let all_block_fields = BlockField::all();
+ let all_tx_fields = TransactionField::all();
Query {
from_block,
@@ -45,15 +39,11 @@ pub fn blocks_and_transactions(from_block: u64, to_block: Option) -> Query
/// that only includes the fields you'll use in `field_selection`.
pub fn blocks_and_transaction_hashes(from_block: u64, to_block: Option) -> Query {
let mut tx_field_selection = BTreeSet::new();
- tx_field_selection.insert("block_hash".to_owned());
- tx_field_selection.insert("block_number".to_owned());
- tx_field_selection.insert("hash".to_owned());
+ tx_field_selection.insert(TransactionField::BlockHash);
+ tx_field_selection.insert(TransactionField::BlockNumber);
+ tx_field_selection.insert(TransactionField::Hash);
- let all_block_fields: BTreeSet = hypersync_schema::block_header()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
+ let all_block_fields = BlockField::all();
Query {
from_block,
@@ -74,11 +64,7 @@ pub fn blocks_and_transaction_hashes(from_block: u64, to_block: Option) ->
/// Note: this is only for quickstart purposes. For the best performance, create a custom query
/// that only includes the fields you'll use in `field_selection`.
pub fn logs(from_block: u64, to_block: Option, contract_address: Address) -> Query {
- let all_log_fields: BTreeSet = hypersync_schema::log()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
+ let all_log_fields = LogField::all();
Query {
from_block,
@@ -109,11 +95,7 @@ pub fn logs_of_event(
let mut topics = ArrayVec::, 4>::new();
topics.insert(0, vec![topic0]);
- let all_log_fields: BTreeSet = hypersync_schema::log()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
+ let all_log_fields = LogField::all();
Query {
from_block,
@@ -136,11 +118,7 @@ pub fn logs_of_event(
/// Note: this is only for quickstart purposes. For the best performance, create a custom query
/// that only includes the fields you'll use in `field_selection`.
pub fn transactions(from_block: u64, to_block: Option) -> Query {
- let all_txn_fields: BTreeSet = hypersync_schema::transaction()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
+ let all_txn_fields = TransactionField::all();
Query {
from_block,
@@ -163,11 +141,7 @@ pub fn transactions_from_address(
to_block: Option,
address: Address,
) -> Query {
- let all_txn_fields: BTreeSet = hypersync_schema::transaction()
- .fields
- .iter()
- .map(|x| x.name.clone())
- .collect();
+ let all_txn_fields = TransactionField::all();
Query {
from_block,
diff --git a/hypersync-client/src/simple_types.rs b/hypersync-client/src/simple_types.rs
index 7bcc6a7..05a2f53 100644
--- a/hypersync-client/src/simple_types.rs
+++ b/hypersync-client/src/simple_types.rs
@@ -6,7 +6,9 @@ use hypersync_format::{
AccessList, Address, Authorization, BlockNumber, BloomFilter, Data, Hash, LogArgument,
LogIndex, Nonce, Quantity, TransactionIndex, TransactionStatus, TransactionType, Withdrawal,
};
-use hypersync_net_types::FieldSelection;
+use hypersync_net_types::{
+ block::BlockField, log::LogField, transaction::TransactionField, FieldSelection,
+};
use nohash_hasher::IntMap;
use serde::{Deserialize, Serialize};
use xxhash_rust::xxh3::Xxh3Builder;
@@ -26,10 +28,10 @@ pub struct Event {
// Field lists for implementing event based API, these fields are used for joining
// so they should always be added to the field selection.
-const BLOCK_JOIN_FIELD: &str = "number";
-const TX_JOIN_FIELD: &str = "hash";
-const LOG_JOIN_FIELD_WITH_TX: &str = "transaction_hash";
-const LOG_JOIN_FIELD_WITH_BLOCK: &str = "block_number";
+const BLOCK_JOIN_FIELD: BlockField = BlockField::Number;
+const TX_JOIN_FIELD: TransactionField = TransactionField::Hash;
+const LOG_JOIN_FIELD_WITH_TX: LogField = LogField::TransactionHash;
+const LOG_JOIN_FIELD_WITH_BLOCK: LogField = LogField::BlockNumber;
enum InternalJoinStrategy {
NotSelected,
@@ -51,7 +53,7 @@ impl From<&FieldSelection> for InternalEventJoinStrategy {
Self {
block: if block_fields_num == 0 {
InternalJoinStrategy::NotSelected
- } else if block_fields_num == 1 && field_selection.block.contains(BLOCK_JOIN_FIELD) {
+ } else if block_fields_num == 1 && field_selection.block.contains(&BLOCK_JOIN_FIELD) {
InternalJoinStrategy::OnlyLogJoinField
} else {
InternalJoinStrategy::FullJoin
@@ -59,7 +61,7 @@ impl From<&FieldSelection> for InternalEventJoinStrategy {
transaction: if transaction_fields_num == 0 {
InternalJoinStrategy::NotSelected
} else if transaction_fields_num == 1
- && field_selection.transaction.contains(TX_JOIN_FIELD)
+ && field_selection.transaction.contains(&TX_JOIN_FIELD)
{
InternalJoinStrategy::OnlyLogJoinField
} else {
@@ -75,34 +77,24 @@ impl InternalEventJoinStrategy {
match self.block {
InternalJoinStrategy::NotSelected => (),
InternalJoinStrategy::OnlyLogJoinField => {
- field_selection
- .log
- .insert(LOG_JOIN_FIELD_WITH_BLOCK.to_string());
- field_selection.block.remove(BLOCK_JOIN_FIELD);
+ field_selection.log.insert(LOG_JOIN_FIELD_WITH_BLOCK);
+ field_selection.block.remove(&BLOCK_JOIN_FIELD);
}
InternalJoinStrategy::FullJoin => {
- field_selection
- .log
- .insert(LOG_JOIN_FIELD_WITH_BLOCK.to_string());
- field_selection.block.insert(BLOCK_JOIN_FIELD.to_string());
+ field_selection.log.insert(LOG_JOIN_FIELD_WITH_BLOCK);
+ field_selection.block.insert(BLOCK_JOIN_FIELD);
}
}
match self.transaction {
InternalJoinStrategy::NotSelected => (),
InternalJoinStrategy::OnlyLogJoinField => {
- field_selection
- .log
- .insert(LOG_JOIN_FIELD_WITH_TX.to_string());
- field_selection.transaction.remove(TX_JOIN_FIELD);
+ field_selection.log.insert(LOG_JOIN_FIELD_WITH_TX);
+ field_selection.transaction.remove(&TX_JOIN_FIELD);
}
InternalJoinStrategy::FullJoin => {
- field_selection
- .log
- .insert(LOG_JOIN_FIELD_WITH_TX.to_string());
- field_selection
- .transaction
- .insert(TX_JOIN_FIELD.to_string());
+ field_selection.log.insert(LOG_JOIN_FIELD_WITH_TX);
+ field_selection.transaction.insert(TX_JOIN_FIELD);
}
}
}
diff --git a/hypersync-client/tests/api_test.rs b/hypersync-client/tests/api_test.rs
index 9bf5b35..878435f 100644
--- a/hypersync-client/tests/api_test.rs
+++ b/hypersync-client/tests/api_test.rs
@@ -2,10 +2,14 @@ use std::{collections::BTreeSet, env::temp_dir, sync::Arc};
use alloy_json_abi::JsonAbi;
use hypersync_client::{
- preset_query, simple_types::Transaction, Client, ClientConfig, ColumnMapping, StreamConfig,
+ preset_query, simple_types::Transaction, Client, ClientConfig, ColumnMapping,
+ SerializationFormat, StreamConfig,
};
use hypersync_format::{Address, FilterWrapper, Hex, LogArgument};
-use hypersync_net_types::{FieldSelection, Query, TransactionFilter, TransactionSelection};
+use hypersync_net_types::{
+ block::BlockField, log::LogField, transaction::TransactionField, FieldSelection, LogSelection,
+ Query, TransactionFilter, TransactionSelection,
+};
use polars_arrow::array::UInt64Array;
#[tokio::test(flavor = "multi_thread")]
@@ -14,9 +18,9 @@ async fn test_api_arrow_ipc() {
let client = Client::new(ClientConfig::default()).unwrap();
let mut block_field_selection = BTreeSet::new();
- block_field_selection.insert("number".to_owned());
- block_field_selection.insert("timestamp".to_owned());
- block_field_selection.insert("hash".to_owned());
+ block_field_selection.insert(BlockField::Number);
+ block_field_selection.insert(BlockField::Timestamp);
+ block_field_selection.insert(BlockField::Hash);
let res = client
.get_arrow(&Query {
@@ -446,9 +450,9 @@ async fn test_small_bloom_filter_query() {
Address::decode_hex("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045").unwrap();
let mut txn_field_selection = BTreeSet::new();
- txn_field_selection.insert("block_number".to_owned());
- txn_field_selection.insert("from".to_owned());
- txn_field_selection.insert("hash".to_owned());
+ txn_field_selection.insert(TransactionField::BlockNumber);
+ txn_field_selection.insert(TransactionField::From);
+ txn_field_selection.insert(TransactionField::Hash);
let addrs = [vitalik_eth_addr.clone()];
let from_address_filter =
@@ -527,3 +531,40 @@ async fn test_decode_string_param_into_arrow() {
dbg!(data.data.decoded_logs);
}
+
+#[tokio::test(flavor = "multi_thread")]
+#[ignore]
+async fn test_api_capnp_client() {
+ let client = Arc::new(
+ Client::new(ClientConfig {
+ url: Some("http://localhost:1131".parse().unwrap()),
+ serialization_format: SerializationFormat::CapnProto,
+
+ ..Default::default()
+ })
+ .unwrap(),
+ );
+
+ let field_selection = FieldSelection {
+ block: BlockField::all(),
+ log: LogField::all(),
+ transaction: TransactionField::all(),
+ trace: Default::default(),
+ };
+ let query = Query {
+ from_block: 0,
+ logs: vec![LogSelection::default()],
+ transactions: Vec::new(),
+ include_all_blocks: true,
+ field_selection,
+ ..Default::default()
+ };
+ println!("starting stream, query {:?}", &query);
+
+ let mut res = client.stream(query, StreamConfig::default()).await.unwrap();
+
+ while let Some(res) = res.recv().await {
+ let res = res.unwrap();
+ dbg!(res);
+ }
+}
diff --git a/hypersync-format/src/types/bloom_filter_wrapper.rs b/hypersync-format/src/types/bloom_filter_wrapper.rs
index fcb8e37..fde23ad 100644
--- a/hypersync-format/src/types/bloom_filter_wrapper.rs
+++ b/hypersync-format/src/types/bloom_filter_wrapper.rs
@@ -15,6 +15,14 @@ use crate::Data;
#[derive(Clone)]
pub struct FilterWrapper(pub Filter);
+impl PartialEq for FilterWrapper {
+ fn eq(&self, other: &Self) -> bool {
+ self.0.as_bytes() == other.0.as_bytes()
+ }
+}
+
+impl Eq for FilterWrapper {}
+
impl FilterWrapper {
pub fn new(bits_per_key: usize, num_keys: usize) -> Self {
Self(Filter::new(bits_per_key, num_keys))
@@ -46,11 +54,11 @@ impl FilterWrapper {
Ok(FilterWrapper(filter))
}
-}
-impl PartialEq for FilterWrapper {
- fn eq(&self, other: &Self) -> bool {
- self.0.as_bytes() == other.0.as_bytes()
+ pub fn from_bytes(bytes: &[u8]) -> Result {
+ Filter::from_bytes(bytes)
+ .ok_or(Error::BloomFilterFromBytes)
+ .map(FilterWrapper)
}
}
diff --git a/hypersync-net-types/Cargo.toml b/hypersync-net-types/Cargo.toml
index f8571fe..becab6d 100644
--- a/hypersync-net-types/Cargo.toml
+++ b/hypersync-net-types/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hypersync-net-types"
-version = "0.11.0-rc.1"
+version = "0.11.0-rc.2"
edition = "2021"
description = "hypersync types for transport over network"
license = "MPL-2.0"
@@ -11,10 +11,21 @@ serde = { version = "1", features = ["derive"] }
arrayvec = { version = "0.7", features = ["serde"] }
hypersync-format = { path = "../hypersync-format", version = "0.5" }
-
-[build-dependencies]
-capnpc = "0.19"
+schemars = "1.0.4"
+strum = "0.27.2"
+strum_macros = "0.27.2"
+zstd = "0.13.3"
+anyhow = "1.0.100"
[dev-dependencies]
+hypersync-schema = { path = "../hypersync-schema" }
serde_json = "1"
pretty_assertions = "1"
+sha3 = "0.10.8"
+flate2 = "1.1.5"
+lz4_flex = "0.11.5"
+tabled = "0.20.0"
+
+[[bench]]
+name = "compression"
+harness = false
diff --git a/hypersync-net-types/Makefile b/hypersync-net-types/Makefile
new file mode 100644
index 0000000..c9e7ef3
--- /dev/null
+++ b/hypersync-net-types/Makefile
@@ -0,0 +1,8 @@
+.PHONY: generate_capnp_types clean_generated_capnp_types
+
+generate_capnp_types:
+ capnp compile hypersync_net_types.capnp -o rust:./src/__generated__
+ rustfmt src/__generated__/hypersync_net_types_capnp.rs
+
+clean_generated_capnp_types:
+ rm -f src/__generated__/hypersync_net_types_capnp.rs
diff --git a/hypersync-net-types/benches/compression.rs b/hypersync-net-types/benches/compression.rs
new file mode 100644
index 0000000..99da1b5
--- /dev/null
+++ b/hypersync-net-types/benches/compression.rs
@@ -0,0 +1,385 @@
+use arrayvec::ArrayVec;
+use hypersync_format::{Address, FixedSizeData};
+use hypersync_net_types::{log::LogField, FieldSelection, LogFilter, LogSelection, Query};
+use pretty_assertions::assert_eq;
+use std::{
+ collections::HashMap,
+ io::{Read, Write},
+ time::Duration,
+};
+
+fn main() {
+ // Collect rankings in each benchmark to find out which is the overall best
+ let mut bytes_ranks = HashMap::new();
+ let mut decode_time_ranks = HashMap::new();
+ let mut encode_time_ranks = HashMap::new();
+
+ let mut add_to_ranks = |mut encodings: Vec| {
+ // sort by len fist
+ encodings.sort_by_key(|a| a.bytes.len());
+ let mut prev_val = 0;
+ let mut current_pos = 0;
+ for encoding in encodings.iter() {
+ if encoding.bytes.len() > prev_val {
+ current_pos += 1;
+ prev_val = encoding.bytes.len();
+ }
+ let current = bytes_ranks.get(&encoding.name).unwrap_or(&0);
+ bytes_ranks.insert(encoding.name.clone(), current + current_pos);
+ }
+
+ encodings.sort_by_key(|a| a.decode_time);
+ let mut prev_val = Duration::from_secs(0);
+ current_pos = 0;
+ for encoding in encodings.iter() {
+ if encoding.decode_time > prev_val {
+ current_pos += 1;
+ prev_val = encoding.decode_time;
+ }
+ let current = decode_time_ranks.get(&encoding.name).unwrap_or(&0);
+ decode_time_ranks.insert(encoding.name.clone(), current + current_pos);
+ }
+ encodings.sort_by_key(|a| a.encode_time);
+ prev_val = Duration::from_secs(0);
+ current_pos = 0;
+ for encoding in encodings.iter() {
+ if encoding.encode_time > prev_val {
+ current_pos += 1;
+ prev_val = encoding.encode_time;
+ }
+ let current = encode_time_ranks.get(&encoding.name).unwrap_or(&0);
+ encode_time_ranks.insert(encoding.name.clone(), current + current_pos);
+ }
+ };
+
+ // Benchmark different payload sizes of logs queries (similar to an indexer)
+ let logs = mock_logs_query(build_mock_logs(3, 3, 1));
+ let res = benchmark_compression(logs, "small payload");
+ add_to_ranks(res);
+
+ let logs = build_mock_logs(5, 6, 3);
+ let mock_query = mock_logs_query(logs);
+ let res = benchmark_compression(mock_query, "moderate payload");
+ add_to_ranks(res);
+
+ let logs = build_mock_logs(3, 5, 6);
+ let mock_query = mock_logs_query(logs);
+ let res = benchmark_compression(mock_query, "moderate payload 2");
+ add_to_ranks(res);
+
+ let logs = build_mock_logs(4, 3, 5);
+ let mock_query = mock_logs_query(logs);
+ let res = benchmark_compression(mock_query, "moderate payload 3");
+ add_to_ranks(res);
+
+ let logs = build_mock_logs(3, 7, 50);
+ let mock_query = mock_logs_query(logs);
+ let res = benchmark_compression(mock_query, "medium large payload");
+ add_to_ranks(res);
+
+ let logs = build_mock_logs(3, 6, 200);
+ let mock_query = mock_logs_query(logs);
+ let res = benchmark_compression(mock_query, "large payload");
+ add_to_ranks(res);
+
+ let logs = build_mock_logs(5, 6, 1000);
+ let mock_query = mock_logs_query(logs);
+ let res = benchmark_compression(mock_query, "huge payload");
+ add_to_ranks(res);
+
+ // let logs = build_mock_logs(1, 3, 10000);
+ // let res = benchmark_compression(mock_logs_query(logs), "huge payload less contracts");
+ // add_to_ranks(res);
+
+ // Print rankings
+ let mut bytes_ranks = bytes_ranks.into_iter().collect::>();
+ bytes_ranks.sort_by_key(|a| a.1);
+ println!("\nBytes ranks");
+ for (name, rank) in bytes_ranks.iter() {
+ println!("{name}: {rank}");
+ }
+
+ let mut decode_time_ranks = decode_time_ranks.into_iter().collect::>();
+ decode_time_ranks.sort_by_key(|a| a.1);
+ println!("\nDecode time ranks");
+ for (name, rank) in decode_time_ranks.iter() {
+ println!("{name}: {rank}");
+ }
+ println!("\nEncode time ranks");
+ let mut encode_time_ranks = encode_time_ranks.into_iter().collect::>();
+ encode_time_ranks.sort_by_key(|a| a.1);
+ for (name, rank) in encode_time_ranks.iter() {
+ println!("{name}: {rank}");
+ }
+}
+
+fn build_mock_logs(
+ num_contracts: usize,
+ num_topic_0_per_contract: usize,
+ num_addresses_per_contract: usize,
+) -> Vec {
+ fn mock_topic(input_a: usize, input_b: usize, seed: &str) -> FixedSizeData<32> {
+ use sha3::{Digest, Sha3_256};
+ let mut hasher = Sha3_256::new();
+ hasher.update(seed.as_bytes());
+ hasher.update((input_a as u64).to_le_bytes());
+ hasher.update((input_b as u64).to_le_bytes());
+ let result = hasher.finalize();
+ let val: [u8; 32] = result.into();
+ FixedSizeData::from(val)
+ }
+
+ fn mock_address(input_a: usize, input_b: usize) -> Address {
+ let topic = mock_topic(input_a, input_b, "ADDRESS");
+ let address: [u8; 20] = topic.as_ref()[0..20].try_into().unwrap();
+ Address::from(address)
+ }
+ let mut logs: Vec = Vec::new();
+
+ for contract_idx in 0..num_contracts {
+ let mut topics = ArrayVec::new();
+ topics.push(vec![]);
+ let mut log_selection = LogFilter {
+ address: vec![],
+ address_filter: None,
+ topics,
+ };
+
+ for topic_idx in 0..num_topic_0_per_contract {
+ log_selection.topics[0].push(mock_topic(contract_idx, topic_idx, "TOPICS"));
+ }
+
+ for addr_idx in 0..num_addresses_per_contract {
+ let address = mock_address(contract_idx, addr_idx);
+ log_selection.address.push(address);
+ }
+ logs.push(log_selection.into());
+ }
+ logs
+}
+
+fn mock_logs_query(logs: Vec) -> Query {
+ Query {
+ from_block: 50,
+ to_block: Some(500),
+ logs,
+ field_selection: FieldSelection {
+ log: LogField::all(),
+ ..Default::default()
+ },
+ ..Default::default()
+ }
+}
+#[derive(Debug, Clone)]
+struct Encoding {
+ name: String,
+ bytes: Vec,
+ encode_time: std::time::Duration,
+ decode_time: std::time::Duration,
+}
+
+use tabled::{Table, Tabled};
+
+#[derive(Tabled)]
+struct EncodingRow {
+ name: String,
+ bytes_len: String,
+ encode_time: String,
+ decode_time: String,
+}
+
+impl Encoding {
+ fn to_table(rows: Vec) -> Table {
+ let smallest_bytes = rows.iter().map(|r| r.bytes.len()).min().unwrap();
+ let shortest_encode_time = rows.iter().map(|r| r.encode_time).min().unwrap();
+ let shortest_decode_time = rows.iter().map(|r| r.decode_time).min().unwrap();
+
+ let mut table_rows = Vec::new();
+ for encoding in rows {
+ table_rows.push(encoding.to_encoding_row(
+ smallest_bytes,
+ shortest_encode_time,
+ shortest_decode_time,
+ ));
+ }
+ Table::new(table_rows)
+ }
+ fn to_encoding_row(
+ &self,
+ smallest_bytes: usize,
+ shortest_encode_time: Duration,
+ shortest_decode_time: Duration,
+ ) -> EncodingRow {
+ fn percentage_incr(a: f64, b: f64) -> f64 {
+ ((a - b) / b * 100.0).round()
+ }
+ fn add_percentage(val: Duration, lowest: Duration) -> String {
+ if val == lowest {
+ format!("{val:?}")
+ } else {
+ let percentage = percentage_incr(val.as_micros() as f64, lowest.as_micros() as f64);
+ format!("{val:?} ({percentage}%)")
+ }
+ }
+
+ let bytes_len = if self.bytes.len() == smallest_bytes {
+ format!("{}", self.bytes.len())
+ } else {
+ let percentage = percentage_incr(self.bytes.len() as f64, smallest_bytes as f64);
+ format!("{} ({percentage}%)", self.bytes.len())
+ };
+
+ EncodingRow {
+ name: self.name.clone(),
+ bytes_len,
+ encode_time: add_percentage(self.encode_time, shortest_encode_time),
+ decode_time: add_percentage(self.decode_time, shortest_decode_time),
+ }
+ }
+ fn new(
+ input: &T,
+ name: String,
+ encode: impl FnOnce(&T) -> Vec,
+ decode: impl FnOnce(&[u8]) -> T,
+ ) -> Encoding {
+ let encode_start = std::time::Instant::now();
+ let val = encode(input);
+ let encode_time = encode_start.elapsed();
+
+ let decode_start = std::time::Instant::now();
+ let decoded = decode(&val);
+ let decode_time = decode_start.elapsed();
+ assert_eq!(input, &decoded);
+
+ Encoding {
+ name,
+ bytes: val,
+ encode_time,
+ decode_time,
+ }
+ }
+
+ fn with_compression(
+ &self,
+ name: &'static str,
+ compress: impl FnOnce(&[u8], u32) -> Vec,
+ decompress: impl FnOnce(&[u8], u32) -> Vec,
+ level: u32,
+ ) -> Encoding {
+ let name = format!("{}-{}{}", self.name, name, level);
+ let mut compressed_data = Self::new(
+ &self.bytes,
+ name,
+ |bytes| compress(bytes, level),
+ |bytes| decompress(bytes, level),
+ );
+
+ compressed_data.encode_time += self.encode_time;
+ compressed_data.decode_time += self.decode_time;
+
+ compressed_data
+ }
+
+ fn add_to_table_with_compressions(self, table_vec: &mut Vec) {
+ table_vec.push(self.clone());
+
+ fn zlib_encode(bytes: &[u8], level: u32) -> Vec {
+ use flate2::{write::ZlibEncoder, Compression};
+ let mut enc = ZlibEncoder::new(Vec::new(), Compression::new(level));
+ enc.write_all(bytes).unwrap();
+ enc.finish().unwrap()
+ }
+ fn zlib_decode(bytes: &[u8], _level: u32) -> Vec {
+ use flate2::read::ZlibDecoder;
+ let mut dec = ZlibDecoder::new(bytes);
+ let mut buf = Vec::new();
+ dec.read_to_end(&mut buf).unwrap();
+ buf
+ }
+
+ fn zstd_encode(bytes: &[u8], level: u32) -> Vec {
+ zstd::encode_all(bytes, level as i32).unwrap()
+ }
+ fn zstd_decode(bytes: &[u8], _level: u32) -> Vec {
+ zstd::decode_all(bytes).unwrap()
+ }
+ table_vec.push(self.with_compression("zstd", zstd_encode, zstd_decode, 3));
+ table_vec.push(self.with_compression("zlib", zlib_encode, zlib_decode, 3));
+ table_vec.push(self.with_compression("zstd", zstd_encode, zstd_decode, 9));
+ table_vec.push(self.with_compression("zlib", zlib_encode, zlib_decode, 9));
+ table_vec.push(self.with_compression("zstd", zstd_encode, zstd_decode, 6));
+ table_vec.push(self.with_compression("lz4", lz4_encode, lz4_decode, 0));
+ table_vec.push(self.with_compression("zstd", zstd_encode, zstd_decode, 12));
+
+ fn lz4_encode(bytes: &[u8], _level: u32) -> Vec {
+ lz4_flex::compress(bytes)
+ }
+ fn lz4_decode(bytes: &[u8], _level: u32) -> Vec {
+ lz4_flex::decompress(bytes, u32::MAX as usize).unwrap()
+ }
+ }
+}
+fn benchmark_compression(query: Query, label: &str) -> Vec {
+ let capnp_packed = {
+ fn to_capnp_bytes_packed(query: &Query) -> Vec {
+ query.to_capnp_bytes_packed().unwrap()
+ }
+
+ fn from_capnp_bytes_packed(bytes: &[u8]) -> Query {
+ Query::from_capnp_bytes_packed(bytes).unwrap()
+ }
+
+ Encoding::new(
+ &query,
+ "capnp-packed".to_string(),
+ to_capnp_bytes_packed,
+ from_capnp_bytes_packed,
+ )
+ };
+
+ let capnp = {
+ fn to_capnp_bytes(query: &Query) -> Vec {
+ query.to_capnp_bytes().unwrap()
+ }
+
+ fn from_capnp_bytes(bytes: &[u8]) -> Query {
+ Query::from_capnp_bytes(bytes).unwrap()
+ }
+
+ Encoding::new(
+ &query,
+ "capnp".to_string(),
+ to_capnp_bytes,
+ from_capnp_bytes,
+ )
+ };
+
+ let json = {
+ fn to_json(query: &Query) -> Vec {
+ serde_json::to_vec(query).unwrap()
+ }
+ fn from_json(bytes: &[u8]) -> Query {
+ serde_json::from_slice(bytes).unwrap()
+ }
+ Encoding::new(&query, "json".to_string(), to_json, from_json)
+ };
+ Encoding::new(
+ &query,
+ "json".to_string(),
+ |q| serde_json::to_vec(q).unwrap(),
+ |bytes| serde_json::from_slice(bytes).unwrap(),
+ );
+
+ let mut table_rows = Vec::new();
+
+ for encoding in [capnp, capnp_packed, json] {
+ encoding.add_to_table_with_compressions(&mut table_rows);
+ }
+
+ table_rows.sort_by_key(|a| a.bytes.len());
+
+ let table = Encoding::to_table(table_rows.clone());
+
+ println!("Benchmark {label}\n{table}\n");
+ table_rows
+}
diff --git a/hypersync-net-types/build.rs b/hypersync-net-types/build.rs
deleted file mode 100644
index f8902cb..0000000
--- a/hypersync-net-types/build.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-fn main() {
- capnpc::CompilerCommand::new()
- .file("hypersync_net_types.capnp")
- .run()
- .expect("compiling schema");
-}
diff --git a/hypersync-net-types/hypersync_net_types.capnp b/hypersync-net-types/hypersync_net_types.capnp
index 2ddfeff..4169d1d 100644
--- a/hypersync-net-types/hypersync_net_types.capnp
+++ b/hypersync-net-types/hypersync_net_types.capnp
@@ -22,3 +22,221 @@ struct QueryResponse {
data @3 :QueryResponseData;
rollbackGuard @4 :RollbackGuard;
}
+
+struct Selection(T) {
+ include @0 :T;
+ exclude @1 :T;
+}
+
+
+struct BlockFilter {
+ hash @0 :List(Data);
+ miner @1 :List(Data);
+}
+
+
+struct LogFilter {
+ address @0 :List(Data);
+ addressFilter @1 :Data;
+ topics @2 :List(List(Data));
+}
+
+struct AuthorizationSelection {
+ chainId @0 :List(UInt64);
+ address @1 :List(Data);
+}
+
+struct TransactionFilter {
+ from @0 :List(Data);
+ fromFilter @1 :Data;
+ to @2 :List(Data);
+ toFilter @3 :Data;
+ sighash @4 :List(Data);
+ status @5 :OptUInt8;
+ type @6 :List(UInt8);
+ contractAddress @7 :List(Data);
+ contractAddressFilter @8 :Data;
+ hash @9 :List(Data);
+ authorizationList @10 :List(AuthorizationSelection);
+}
+
+struct TraceFilter {
+ from @0 :List(Data);
+ fromFilter @1 :Data;
+ to @2 :List(Data);
+ toFilter @3 :Data;
+ address @4 :List(Data);
+ addressFilter @5 :Data;
+ callType @6 :List(Text);
+ rewardType @7 :List(Text);
+ type @8 :List(Text);
+ sighash @9 :List(Data);
+}
+
+struct FieldSelection {
+ block @0 :List(BlockField);
+ transaction @1 :List(TransactionField);
+ log @2 :List(LogField);
+ trace @3 :List(TraceField);
+}
+
+enum JoinMode {
+ default @0;
+ joinAll @1;
+ joinNothing @2;
+}
+
+enum BlockField {
+ number @0;
+ hash @1;
+ parentHash @2;
+ sha3Uncles @3;
+ logsBloom @4;
+ transactionsRoot @5;
+ stateRoot @6;
+ receiptsRoot @7;
+ miner @8;
+ extraData @9;
+ size @10;
+ gasLimit @11;
+ gasUsed @12;
+ timestamp @13;
+ mixHash @14;
+ nonce @15;
+ difficulty @16;
+ totalDifficulty @17;
+ uncles @18;
+ baseFeePerGas @19;
+ blobGasUsed @20;
+ excessBlobGas @21;
+ parentBeaconBlockRoot @22;
+ withdrawalsRoot @23;
+ withdrawals @24;
+ l1BlockNumber @25;
+ sendCount @26;
+ sendRoot @27;
+}
+
+enum TransactionField {
+ blockHash @0;
+ blockNumber @1;
+ gas @2;
+ hash @3;
+ input @4;
+ nonce @5;
+ transactionIndex @6;
+ value @7;
+ cumulativeGasUsed @8;
+ effectiveGasPrice @9;
+ gasUsed @10;
+ logsBloom @11;
+ from @12;
+ gasPrice @13;
+ to @14;
+ v @15;
+ r @16;
+ s @17;
+ maxPriorityFeePerGas @18;
+ maxFeePerGas @19;
+ chainId @20;
+ contractAddress @21;
+ type @22;
+ root @23;
+ status @24;
+ yParity @25;
+ accessList @26;
+ authorizationList @27;
+ l1Fee @28;
+ l1GasPrice @29;
+ l1GasUsed @30;
+ l1FeeScalar @31;
+ gasUsedForL1 @32;
+ maxFeePerBlobGas @33;
+ blobVersionedHashes @34;
+ blobGasPrice @35;
+ blobGasUsed @36;
+ depositNonce @37;
+ depositReceiptVersion @38;
+ l1BaseFeeScalar @39;
+ l1BlobBaseFee @40;
+ l1BlobBaseFeeScalar @41;
+ l1BlockNumber @42;
+ mint @43;
+ sighash @44;
+ sourceHash @45;
+}
+
+enum LogField {
+ transactionHash @0;
+ blockHash @1;
+ blockNumber @2;
+ transactionIndex @3;
+ logIndex @4;
+ address @5;
+ data @6;
+ removed @7;
+ topic0 @8;
+ topic1 @9;
+ topic2 @10;
+ topic3 @11;
+}
+
+enum TraceField {
+ transactionHash @0;
+ blockHash @1;
+ blockNumber @2;
+ transactionPosition @3;
+ type @4;
+ error @5;
+ from @6;
+ to @7;
+ author @8;
+ gas @9;
+ gasUsed @10;
+ actionAddress @11;
+ address @12;
+ balance @13;
+ callType @14;
+ code @15;
+ init @16;
+ input @17;
+ output @18;
+ refundAddress @19;
+ rewardType @20;
+ sighash @21;
+ subtraces @22;
+ traceAddress @23;
+ value @24;
+}
+
+struct QueryBody {
+ logs @1 :List(Selection(LogFilter));
+ transactions @2 :List(Selection(TransactionFilter));
+ traces @3 :List(Selection(TraceFilter));
+ blocks @4 :List(Selection(BlockFilter));
+ includeAllBlocks @5 :Bool;
+ fieldSelection @6 :FieldSelection;
+ maxNumBlocks @7 :OptUInt64;
+ maxNumTransactions @8 :OptUInt64;
+ maxNumLogs @9 :OptUInt64;
+ maxNumTraces @10 :OptUInt64;
+ joinMode @0 :JoinMode;
+}
+
+struct BlockRange {
+ fromBlock @0 :UInt64;
+ toBlock @1 :OptUInt64;
+}
+
+struct Query {
+ blockRange @0 :BlockRange;
+ body @1 :QueryBody;
+}
+
+struct OptUInt64 {
+ value @0 :UInt64;
+}
+
+struct OptUInt8 {
+ value @0 :UInt8;
+}
diff --git a/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs b/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs
new file mode 100644
index 0000000..ce2eec0
--- /dev/null
+++ b/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs
@@ -0,0 +1,8619 @@
+// @generated by the capnpc-rust plugin to the Cap'n Proto schema compiler.
+// DO NOT EDIT.
+// source: hypersync_net_types.capnp
+
+pub mod query_response_data {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_blocks(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_blocks(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_transactions(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_transactions(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ #[inline]
+ pub fn get_logs(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_logs(&self) -> bool {
+ !self.reader.get_pointer_field(2).is_null()
+ }
+ #[inline]
+ pub fn get_traces(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_traces(&self) -> bool {
+ !self.reader.get_pointer_field(3).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 4,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_blocks(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_blocks(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(0).set_data(value);
+ }
+ #[inline]
+ pub fn init_blocks(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(0).init_data(size)
+ }
+ #[inline]
+ pub fn has_blocks(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_transactions(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_transactions(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(1).set_data(value);
+ }
+ #[inline]
+ pub fn init_transactions(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(1).init_data(size)
+ }
+ #[inline]
+ pub fn has_transactions(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ #[inline]
+ pub fn get_logs(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_logs(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(2).set_data(value);
+ }
+ #[inline]
+ pub fn init_logs(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(2).init_data(size)
+ }
+ #[inline]
+ pub fn has_logs(&self) -> bool {
+ !self.builder.is_pointer_field_null(2)
+ }
+ #[inline]
+ pub fn get_traces(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_traces(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(3).set_data(value);
+ }
+ #[inline]
+ pub fn init_traces(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(3).init_data(size)
+ }
+ #[inline]
+ pub fn has_traces(&self) -> bool {
+ !self.builder.is_pointer_field_null(3)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 81] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(49, 157, 62, 151, 169, 39, 204, 137),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 98, 1, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 231, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 81, 117, 101, 114, 121, 82),
+ ::capnp::word(101, 115, 112, 111, 110, 115, 101, 68),
+ ::capnp::word(97, 116, 97, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(16, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(92, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(104, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(101, 0, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(100, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(112, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(116, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(113, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(120, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 115, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 115, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 111, 103, 115, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 99, 101, 115, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 2 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 3 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[0, 2, 3, 1];
+ pub const TYPE_ID: u64 = 0x89cc_27a9_973e_9d31;
+ }
+}
+
+pub mod rollback_guard {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_hash(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_hash(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_block_number(self) -> u64 {
+ self.reader.get_data_field::(0)
+ }
+ #[inline]
+ pub fn get_timestamp(self) -> i64 {
+ self.reader.get_data_field::(1)
+ }
+ #[inline]
+ pub fn get_first_block_number(self) -> u64 {
+ self.reader.get_data_field::(2)
+ }
+ #[inline]
+ pub fn get_first_parent_hash(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_first_parent_hash(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 3,
+ pointers: 2,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_hash(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_hash(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(0).set_data(value);
+ }
+ #[inline]
+ pub fn init_hash(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(0).init_data(size)
+ }
+ #[inline]
+ pub fn has_hash(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_block_number(self) -> u64 {
+ self.builder.get_data_field::(0)
+ }
+ #[inline]
+ pub fn set_block_number(&mut self, value: u64) {
+ self.builder.set_data_field::(0, value);
+ }
+ #[inline]
+ pub fn get_timestamp(self) -> i64 {
+ self.builder.get_data_field::(1)
+ }
+ #[inline]
+ pub fn set_timestamp(&mut self, value: i64) {
+ self.builder.set_data_field::(1, value);
+ }
+ #[inline]
+ pub fn get_first_block_number(self) -> u64 {
+ self.builder.get_data_field::(2)
+ }
+ #[inline]
+ pub fn set_first_block_number(&mut self, value: u64) {
+ self.builder.set_data_field::(2, value);
+ }
+ #[inline]
+ pub fn get_first_parent_hash(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_first_parent_hash(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(1).set_data(value);
+ }
+ #[inline]
+ pub fn init_first_parent_hash(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(1).init_data(size)
+ }
+ #[inline]
+ pub fn has_first_parent_hash(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 99] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(75, 175, 253, 87, 239, 86, 125, 149),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 3, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 66, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 31, 1, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 82, 111, 108, 108, 98, 97),
+ ::capnp::word(99, 107, 71, 117, 97, 114, 100, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(20, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(125, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(120, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(132, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(129, 0, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(128, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(140, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(137, 0, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(136, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(148, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(3, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(145, 0, 0, 0, 138, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(148, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(160, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(4, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(157, 0, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(156, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(168, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(104, 97, 115, 104, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 78, 117, 109),
+ ::capnp::word(98, 101, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 105, 109, 101, 115, 116, 97, 109),
+ ::capnp::word(112, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(102, 105, 114, 115, 116, 66, 108, 111),
+ ::capnp::word(99, 107, 78, 117, 109, 98, 101, 114),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(102, 105, 114, 115, 116, 80, 97, 114),
+ ::capnp::word(101, 110, 116, 72, 97, 115, 104, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => ::introspect(),
+ 2 => ::introspect(),
+ 3 => ::introspect(),
+ 4 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3, 4];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[1, 3, 4, 0, 2];
+ pub const TYPE_ID: u64 = 0x957d_56ef_57fd_af4b;
+ }
+}
+
+pub mod query_response {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_archive_height(self) -> i64 {
+ self.reader.get_data_field::(0)
+ }
+ #[inline]
+ pub fn get_next_block(self) -> u64 {
+ self.reader.get_data_field::(1)
+ }
+ #[inline]
+ pub fn get_total_execution_time(self) -> u64 {
+ self.reader.get_data_field::(2)
+ }
+ #[inline]
+ pub fn get_data(
+ self,
+ ) -> ::capnp::Result>
+ {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_data(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_rollback_guard(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_rollback_guard(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 3,
+ pointers: 2,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_archive_height(self) -> i64 {
+ self.builder.get_data_field::(0)
+ }
+ #[inline]
+ pub fn set_archive_height(&mut self, value: i64) {
+ self.builder.set_data_field::(0, value);
+ }
+ #[inline]
+ pub fn get_next_block(self) -> u64 {
+ self.builder.get_data_field::(1)
+ }
+ #[inline]
+ pub fn set_next_block(&mut self, value: u64) {
+ self.builder.set_data_field::(1, value);
+ }
+ #[inline]
+ pub fn get_total_execution_time(self) -> u64 {
+ self.builder.get_data_field::(2)
+ }
+ #[inline]
+ pub fn set_total_execution_time(&mut self, value: u64) {
+ self.builder.set_data_field::(2, value);
+ }
+ #[inline]
+ pub fn get_data(
+ self,
+ ) -> ::capnp::Result>
+ {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_data(
+ &mut self,
+ value: crate::hypersync_net_types_capnp::query_response_data::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_data(
+ self,
+ ) -> crate::hypersync_net_types_capnp::query_response_data::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
+ }
+ #[inline]
+ pub fn has_data(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_rollback_guard(
+ self,
+ ) -> ::capnp::Result>
+ {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_rollback_guard(
+ &mut self,
+ value: crate::hypersync_net_types_capnp::rollback_guard::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(1),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_rollback_guard(
+ self,
+ ) -> crate::hypersync_net_types_capnp::rollback_guard::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
+ }
+ #[inline]
+ pub fn has_rollback_guard(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {
+ pub fn get_data(&self) -> crate::hypersync_net_types_capnp::query_response_data::Pipeline {
+ ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
+ }
+ pub fn get_rollback_guard(
+ &self,
+ ) -> crate::hypersync_net_types_capnp::rollback_guard::Pipeline {
+ ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
+ }
+ }
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 99] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(226, 9, 54, 243, 16, 76, 106, 205),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 3, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 66, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 31, 1, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 81, 117, 101, 114, 121, 82),
+ ::capnp::word(101, 115, 112, 111, 110, 115, 101, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(20, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(125, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(124, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(136, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(133, 0, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(132, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(144, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(141, 0, 0, 0, 154, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(144, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(156, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(153, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(148, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(160, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(4, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(157, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(156, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(168, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(97, 114, 99, 104, 105, 118, 101, 72),
+ ::capnp::word(101, 105, 103, 104, 116, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(110, 101, 120, 116, 66, 108, 111, 99),
+ ::capnp::word(107, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 116, 97, 108, 69, 120, 101),
+ ::capnp::word(99, 117, 116, 105, 111, 110, 84, 105),
+ ::capnp::word(109, 101, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(100, 97, 116, 97, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(49, 157, 62, 151, 169, 39, 204, 137),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(114, 111, 108, 108, 98, 97, 99, 107),
+ ::capnp::word(71, 117, 97, 114, 100, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(75, 175, 253, 87, 239, 86, 125, 149),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => ::introspect(),
+ 1 => ::introspect(),
+ 2 => ::introspect(),
+ 3 => ::introspect(),
+ 4 => ::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3, 4];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[0, 3, 1, 4, 2];
+ pub const TYPE_ID: u64 = 0xcd6a_4c10_f336_09e2;
+ }
+}
+
+pub mod selection {
+ /* T */
+ #[derive(Copy, Clone)]
+ pub struct Owned {
+ _phantom: ::core::marker::PhantomData,
+ }
+ impl ::capnp::introspect::Introspect for Owned
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types::,
+ annotation_types: _private::get_annotation_types::,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned
+ where
+ T: ::capnp::traits::Owned,
+ {
+ type Reader<'a> = Reader<'a, T>;
+ type Builder<'a> = Builder<'a, T>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned
+ where
+ T: ::capnp::traits::Owned,
+ {
+ type Reader<'a> = Reader<'a, T>;
+ type Builder<'a> = Builder<'a, T>;
+ }
+ impl ::capnp::traits::Pipelined for Owned
+ where
+ T: ::capnp::traits::Owned,
+ {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ _phantom: ::core::marker::PhantomData,
+ }
+ impl ::core::marker::Copy for Reader<'_, T> where T: ::capnp::traits::Owned {}
+ impl ::core::clone::Clone for Reader<'_, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a, T> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self {
+ reader,
+ _phantom: ::core::marker::PhantomData,
+ }
+ }
+ }
+
+ impl<'a, T> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn from(reader: Reader<'a, T>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types::,
+ annotation_types: _private::get_annotation_types::,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a, T> ::capnp::traits::FromPointerReader<'a> for Reader<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a, T> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a, T> ::capnp::traits::Imbue<'a> for Reader<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a, T> Reader<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ pub fn reborrow(&self) -> Reader<'_, T> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_include(self) -> ::capnp::Result<::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_include(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_exclude(self) -> ::capnp::Result<::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_exclude(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ }
+
+ pub struct Builder<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ _phantom: ::core::marker::PhantomData,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 2,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a, T> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self {
+ builder,
+ _phantom: ::core::marker::PhantomData,
+ }
+ }
+ }
+
+ impl<'a, T> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn from(builder: Builder<'a, T>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types::,
+ annotation_types: _private::get_annotation_types::,
+ }),
+ ))
+ }
+ }
+
+ impl<'a, T> ::capnp::traits::ImbueMut<'a> for Builder<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a, T> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput> for Reader<'_, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a, T> Builder<'a, T>
+ where
+ T: ::capnp::traits::Owned,
+ {
+ pub fn into_reader(self) -> Reader<'a, T> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_, T> {
+ Builder {
+ builder: self.builder.reborrow(),
+ ..*self
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_, T> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_include(self) -> ::capnp::Result<::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn initn_include(self, length: u32) -> ::Builder<'a> {
+ ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0)).initn_as(length)
+ }
+ #[inline]
+ pub fn set_include(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_include(self) -> ::Builder<'a> {
+ ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0)).init_as()
+ }
+ #[inline]
+ pub fn has_include(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_exclude(self) -> ::capnp::Result<::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn initn_exclude(self, length: u32) -> ::Builder<'a> {
+ ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(1)).initn_as(length)
+ }
+ #[inline]
+ pub fn set_exclude(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(1),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_exclude(self) -> ::Builder<'a> {
+ ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(1)).init_as()
+ }
+ #[inline]
+ pub fn has_exclude(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ _phantom: ::core::marker::PhantomData,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ _phantom: ::core::marker::PhantomData,
+ }
+ }
+ }
+ impl Pipeline
+ where
+ T: ::capnp::traits::Pipelined,
+ ::Pipeline: ::capnp::capability::FromTypelessPipeline,
+ {
+ pub fn get_include(&self) -> ::Pipeline {
+ ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
+ }
+ pub fn get_exclude(&self) -> ::Pipeline {
+ ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
+ }
+ }
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 52] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(123, 136, 14, 45, 199, 154, 37, 201),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 34, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 119, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(149, 0, 0, 0, 15, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 83, 101, 108, 101, 99, 116),
+ ::capnp::word(105, 111, 110, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(45, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(105, 110, 99, 108, 117, 100, 101, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(123, 136, 14, 45, 199, 154, 37, 201),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(101, 120, 99, 108, 117, 100, 101, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(123, 136, 14, 45, 199, 154, 37, 201),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(4, 0, 0, 0, 0, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 18, 0, 0, 0),
+ ::capnp::word(84, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type
+ where
+ T: ::capnp::traits::Owned,
+ {
+ match index {
+ 0 => ::introspect(),
+ 1 => ::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type
+ where
+ T: ::capnp::traits::Owned,
+ {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[1, 0];
+ pub const TYPE_ID: u64 = 0xc925_9ac7_2d0e_887b;
+ }
+}
+
+pub mod block_filter {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_hash(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_hash(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_miner(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_miner(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 2,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_hash(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_hash(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_hash(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(0),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_hash(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_miner(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_miner(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(1),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_miner(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(1),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_miner(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 57] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(198, 210, 137, 50, 10, 244, 5, 189),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 50, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 119, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 66, 108, 111, 99, 107, 70),
+ ::capnp::word(105, 108, 116, 101, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(64, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(61, 0, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(56, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(104, 97, 115, 104, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 105, 110, 101, 114, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[0, 1];
+ pub const TYPE_ID: u64 = 0xbd05_f40a_3289_d2c6;
+ }
+}
+
+pub mod log_filter {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_address(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_address(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_address_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_address_filter(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ #[inline]
+ pub fn get_topics(
+ self,
+ ) -> ::capnp::Result<::capnp::list_list::Reader<'a, ::capnp::data_list::Owned>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_topics(&self) -> bool {
+ !self.reader.get_pointer_field(2).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 3,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_address(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_address(
+ &mut self,
+ value: ::capnp::data_list::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_address(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(0),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_address(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_address_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_address_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(1).set_data(value);
+ }
+ #[inline]
+ pub fn init_address_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(1).init_data(size)
+ }
+ #[inline]
+ pub fn has_address_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ #[inline]
+ pub fn get_topics(
+ self,
+ ) -> ::capnp::Result<::capnp::list_list::Builder<'a, ::capnp::data_list::Owned>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_topics(
+ &mut self,
+ value: ::capnp::list_list::Reader<'_, ::capnp::data_list::Owned>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(2),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_topics(
+ self,
+ size: u32,
+ ) -> ::capnp::list_list::Builder<'a, ::capnp::data_list::Owned> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(2),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_topics(&self) -> bool {
+ !self.builder.is_pointer_field_null(2)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 77] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(179, 254, 244, 73, 117, 248, 19, 160),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 34, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 175, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 76, 111, 103, 70, 105, 108),
+ ::capnp::word(116, 101, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(69, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(64, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(89, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(88, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(100, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(92, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(136, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 70),
+ ::capnp::word(105, 108, 116, 101, 114, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 112, 105, 99, 115, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 2 => <::capnp::list_list::Owned<::capnp::data_list::Owned> as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[0, 1, 2];
+ pub const TYPE_ID: u64 = 0xa013_f875_49f4_feb3;
+ }
+}
+
+pub mod authorization_selection {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_chain_id(self) -> ::capnp::Result<::capnp::primitive_list::Reader<'a, u64>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_chain_id(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_address(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_address(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 2,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_chain_id(self) -> ::capnp::Result<::capnp::primitive_list::Builder<'a, u64>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_chain_id(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<::capnp::primitive_list::Owned>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_chain_id(self, size: u32) -> ::capnp::primitive_list::Builder<'a, u64> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(0),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_chain_id(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_address(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_address(
+ &mut self,
+ value: ::capnp::data_list::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(1),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_address(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(1),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_address(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 59] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(141, 105, 202, 172, 115, 150, 48, 135),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 138, 1, 0, 0),
+ ::capnp::word(45, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 119, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 65, 117, 116, 104, 111, 114),
+ ::capnp::word(105, 122, 97, 116, 105, 111, 110, 83),
+ ::capnp::word(101, 108, 101, 99, 116, 105, 111, 110),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(64, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(61, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(56, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(99, 104, 97, 105, 110, 73, 100, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::primitive_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[1, 0];
+ pub const TYPE_ID: u64 = 0x8730_9673_acca_698d;
+ }
+}
+
+pub mod transaction_filter {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_from(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_from(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_from_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_from_filter(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ #[inline]
+ pub fn get_to(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_to(&self) -> bool {
+ !self.reader.get_pointer_field(2).is_null()
+ }
+ #[inline]
+ pub fn get_to_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_to_filter(&self) -> bool {
+ !self.reader.get_pointer_field(3).is_null()
+ }
+ #[inline]
+ pub fn get_sighash(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(4),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_sighash(&self) -> bool {
+ !self.reader.get_pointer_field(4).is_null()
+ }
+ #[inline]
+ pub fn get_status(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(5),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_status(&self) -> bool {
+ !self.reader.get_pointer_field(5).is_null()
+ }
+ #[inline]
+ pub fn get_type(self) -> ::capnp::Result<::capnp::primitive_list::Reader<'a, u8>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(6),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_type(&self) -> bool {
+ !self.reader.get_pointer_field(6).is_null()
+ }
+ #[inline]
+ pub fn get_contract_address(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(7),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_contract_address(&self) -> bool {
+ !self.reader.get_pointer_field(7).is_null()
+ }
+ #[inline]
+ pub fn get_contract_address_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(8),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_contract_address_filter(&self) -> bool {
+ !self.reader.get_pointer_field(8).is_null()
+ }
+ #[inline]
+ pub fn get_hash(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(9),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_hash(&self) -> bool {
+ !self.reader.get_pointer_field(9).is_null()
+ }
+ #[inline]
+ pub fn get_authorization_list(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::struct_list::Reader<
+ 'a,
+ crate::hypersync_net_types_capnp::authorization_selection::Owned,
+ >,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(10),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_authorization_list(&self) -> bool {
+ !self.reader.get_pointer_field(10).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 11,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_from(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_from(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_from(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(0),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_from(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_from_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_from_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(1).set_data(value);
+ }
+ #[inline]
+ pub fn init_from_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(1).init_data(size)
+ }
+ #[inline]
+ pub fn has_from_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ #[inline]
+ pub fn get_to(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_to(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(2),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_to(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(2),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_to(&self) -> bool {
+ !self.builder.is_pointer_field_null(2)
+ }
+ #[inline]
+ pub fn get_to_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_to_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(3).set_data(value);
+ }
+ #[inline]
+ pub fn init_to_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(3).init_data(size)
+ }
+ #[inline]
+ pub fn has_to_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(3)
+ }
+ #[inline]
+ pub fn get_sighash(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(4),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_sighash(
+ &mut self,
+ value: ::capnp::data_list::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(4),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_sighash(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(4),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_sighash(&self) -> bool {
+ !self.builder.is_pointer_field_null(4)
+ }
+ #[inline]
+ pub fn get_status(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(5),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_status(
+ &mut self,
+ value: crate::hypersync_net_types_capnp::opt_u_int8::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(5),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_status(self) -> crate::hypersync_net_types_capnp::opt_u_int8::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), 0)
+ }
+ #[inline]
+ pub fn has_status(&self) -> bool {
+ !self.builder.is_pointer_field_null(5)
+ }
+ #[inline]
+ pub fn get_type(self) -> ::capnp::Result<::capnp::primitive_list::Builder<'a, u8>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(6),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_type(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<::capnp::primitive_list::Owned>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(6),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_type(self, size: u32) -> ::capnp::primitive_list::Builder<'a, u8> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(6),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_type(&self) -> bool {
+ !self.builder.is_pointer_field_null(6)
+ }
+ #[inline]
+ pub fn get_contract_address(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(7),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_contract_address(
+ &mut self,
+ value: ::capnp::data_list::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(7),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_contract_address(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(7),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_contract_address(&self) -> bool {
+ !self.builder.is_pointer_field_null(7)
+ }
+ #[inline]
+ pub fn get_contract_address_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(8),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_contract_address_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(8).set_data(value);
+ }
+ #[inline]
+ pub fn init_contract_address_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(8).init_data(size)
+ }
+ #[inline]
+ pub fn has_contract_address_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(8)
+ }
+ #[inline]
+ pub fn get_hash(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(9),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_hash(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(9),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_hash(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(9),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_hash(&self) -> bool {
+ !self.builder.is_pointer_field_null(9)
+ }
+ #[inline]
+ pub fn get_authorization_list(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::struct_list::Builder<
+ 'a,
+ crate::hypersync_net_types_capnp::authorization_selection::Owned,
+ >,
+ > {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(10),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_authorization_list(
+ &mut self,
+ value: ::capnp::struct_list::Reader<
+ '_,
+ crate::hypersync_net_types_capnp::authorization_selection::Owned,
+ >,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(10),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_authorization_list(
+ self,
+ size: u32,
+ ) -> ::capnp::struct_list::Builder<
+ 'a,
+ crate::hypersync_net_types_capnp::authorization_selection::Owned,
+ > {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(10),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_authorization_list(&self) -> bool {
+ !self.builder.is_pointer_field_null(10)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {
+ pub fn get_status(&self) -> crate::hypersync_net_types_capnp::opt_u_int8::Pipeline {
+ ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(5))
+ }
+ }
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 220] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(56, 147, 107, 206, 187, 26, 251, 190),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(11, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 98, 1, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 111, 2, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 84, 114, 97, 110, 115, 97),
+ ::capnp::word(99, 116, 105, 111, 110, 70, 105, 108),
+ ::capnp::word(116, 101, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(44, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(32, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(60, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(57, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(56, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(68, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(65, 1, 0, 0, 26, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(60, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(88, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(85, 1, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(84, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(96, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(4, 0, 0, 0, 4, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(93, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(88, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(116, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(5, 0, 0, 0, 5, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(113, 1, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(120, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(6, 0, 0, 0, 6, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(117, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(112, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(140, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(7, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(137, 1, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(136, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(164, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(8, 0, 0, 0, 8, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(161, 1, 0, 0, 178, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(164, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(176, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(9, 0, 0, 0, 9, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(173, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(168, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(196, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(10, 0, 0, 0, 10, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 10, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(193, 1, 0, 0, 146, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(196, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(224, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(102, 114, 111, 109, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(102, 114, 111, 109, 70, 105, 108, 116),
+ ::capnp::word(101, 114, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 70, 105, 108, 116, 101, 114),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 105, 103, 104, 97, 115, 104, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 116, 97, 116, 117, 115, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(50, 179, 230, 200, 42, 167, 255, 167),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 121, 112, 101, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(6, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(99, 111, 110, 116, 114, 97, 99, 116),
+ ::capnp::word(65, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(99, 111, 110, 116, 114, 97, 99, 116),
+ ::capnp::word(65, 100, 100, 114, 101, 115, 115, 70),
+ ::capnp::word(105, 108, 116, 101, 114, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 97, 115, 104, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 117, 116, 104, 111, 114, 105, 122),
+ ::capnp::word(97, 116, 105, 111, 110, 76, 105, 115),
+ ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(141, 105, 202, 172, 115, 150, 48, 135),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 2 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 3 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 4 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 5 => ::introspect(),
+ 6 => <::capnp::primitive_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 7 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 8 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 9 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 10 => <::capnp::struct_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[10, 7, 8, 0, 1, 9, 4, 5, 2, 3, 6];
+ pub const TYPE_ID: u64 = 0xbefb_1abb_ce6b_9338;
+ }
+}
+
+pub mod trace_filter {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_from(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_from(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_from_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_from_filter(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ #[inline]
+ pub fn get_to(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_to(&self) -> bool {
+ !self.reader.get_pointer_field(2).is_null()
+ }
+ #[inline]
+ pub fn get_to_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_to_filter(&self) -> bool {
+ !self.reader.get_pointer_field(3).is_null()
+ }
+ #[inline]
+ pub fn get_address(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(4),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_address(&self) -> bool {
+ !self.reader.get_pointer_field(4).is_null()
+ }
+ #[inline]
+ pub fn get_address_filter(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(5),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_address_filter(&self) -> bool {
+ !self.reader.get_pointer_field(5).is_null()
+ }
+ #[inline]
+ pub fn get_call_type(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(6),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_call_type(&self) -> bool {
+ !self.reader.get_pointer_field(6).is_null()
+ }
+ #[inline]
+ pub fn get_reward_type(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(7),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_reward_type(&self) -> bool {
+ !self.reader.get_pointer_field(7).is_null()
+ }
+ #[inline]
+ pub fn get_type(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(8),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_type(&self) -> bool {
+ !self.reader.get_pointer_field(8).is_null()
+ }
+ #[inline]
+ pub fn get_sighash(self) -> ::capnp::Result<::capnp::data_list::Reader<'a>> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(9),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_sighash(&self) -> bool {
+ !self.reader.get_pointer_field(9).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 10,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_from(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_from(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_from(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(0),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_from(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_from_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_from_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(1).set_data(value);
+ }
+ #[inline]
+ pub fn init_from_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(1).init_data(size)
+ }
+ #[inline]
+ pub fn has_from_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ #[inline]
+ pub fn get_to(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_to(&mut self, value: ::capnp::data_list::Reader<'_>) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(2),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_to(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(2),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_to(&self) -> bool {
+ !self.builder.is_pointer_field_null(2)
+ }
+ #[inline]
+ pub fn get_to_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_to_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(3).set_data(value);
+ }
+ #[inline]
+ pub fn init_to_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(3).init_data(size)
+ }
+ #[inline]
+ pub fn has_to_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(3)
+ }
+ #[inline]
+ pub fn get_address(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(4),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_address(
+ &mut self,
+ value: ::capnp::data_list::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(4),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_address(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(4),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_address(&self) -> bool {
+ !self.builder.is_pointer_field_null(4)
+ }
+ #[inline]
+ pub fn get_address_filter(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(5),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_address_filter(&mut self, value: ::capnp::data::Reader<'_>) {
+ self.builder.reborrow().get_pointer_field(5).set_data(value);
+ }
+ #[inline]
+ pub fn init_address_filter(self, size: u32) -> ::capnp::data::Builder<'a> {
+ self.builder.get_pointer_field(5).init_data(size)
+ }
+ #[inline]
+ pub fn has_address_filter(&self) -> bool {
+ !self.builder.is_pointer_field_null(5)
+ }
+ #[inline]
+ pub fn get_call_type(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(6),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_call_type(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(6),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_call_type(self, size: u32) -> ::capnp::text_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(6),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_call_type(&self) -> bool {
+ !self.builder.is_pointer_field_null(6)
+ }
+ #[inline]
+ pub fn get_reward_type(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(7),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_reward_type(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(7),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_reward_type(self, size: u32) -> ::capnp::text_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(7),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_reward_type(&self) -> bool {
+ !self.builder.is_pointer_field_null(7)
+ }
+ #[inline]
+ pub fn get_type(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(8),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_type(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(8),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_type(self, size: u32) -> ::capnp::text_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(8),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_type(&self) -> bool {
+ !self.builder.is_pointer_field_null(8)
+ }
+ #[inline]
+ pub fn get_sighash(self) -> ::capnp::Result<::capnp::data_list::Builder<'a>> {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(9),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_sighash(
+ &mut self,
+ value: ::capnp::data_list::Reader<'_>,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(9),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_sighash(self, size: u32) -> ::capnp::data_list::Builder<'a> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(9),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_sighash(&self) -> bool {
+ !self.builder.is_pointer_field_null(9)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 202] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(197, 194, 61, 54, 113, 80, 134, 163),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(10, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 50, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 55, 2, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 84, 114, 97, 99, 101, 70),
+ ::capnp::word(105, 108, 116, 101, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(40, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(4, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(32, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(29, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(28, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(40, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 1, 0, 0, 26, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(32, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(60, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(57, 1, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(56, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(68, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(4, 0, 0, 0, 4, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(65, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(60, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(88, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(5, 0, 0, 0, 5, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(85, 1, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(84, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(96, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(6, 0, 0, 0, 6, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(93, 1, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(92, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(120, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(7, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(117, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(144, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(8, 0, 0, 0, 8, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(141, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(136, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(164, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(9, 0, 0, 0, 9, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(161, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(156, 1, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(184, 1, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(102, 114, 111, 109, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(102, 114, 111, 109, 70, 105, 108, 116),
+ ::capnp::word(101, 114, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 70, 105, 108, 116, 101, 114),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 70),
+ ::capnp::word(105, 108, 116, 101, 114, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(99, 97, 108, 108, 84, 121, 112, 101),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(114, 101, 119, 97, 114, 100, 84, 121),
+ ::capnp::word(112, 101, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 121, 112, 101, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 105, 103, 104, 97, 115, 104, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 2 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 3 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 4 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 5 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 6 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 7 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 8 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 9 => <::capnp::data_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[4, 5, 6, 0, 1, 7, 9, 2, 3, 8];
+ pub const TYPE_ID: u64 = 0xa386_5071_363d_c2c5;
+ }
+}
+
+pub mod field_selection {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_block(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Reader<'a, crate::hypersync_net_types_capnp::BlockField>,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_block(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_transaction(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Reader<'a, crate::hypersync_net_types_capnp::TransactionField>,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_transaction(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ #[inline]
+ pub fn get_log(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Reader<'a, crate::hypersync_net_types_capnp::LogField>,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_log(&self) -> bool {
+ !self.reader.get_pointer_field(2).is_null()
+ }
+ #[inline]
+ pub fn get_trace(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Reader<'a, crate::hypersync_net_types_capnp::TraceField>,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_trace(&self) -> bool {
+ !self.reader.get_pointer_field(3).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 0,
+ pointers: 4,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(
+ builder
+ .get_struct(
+ ::STRUCT_SIZE,
+ default,
+ )?
+ .into(),
+ )
+ }
+ }
+
+ impl ::capnp::traits::SetterInput for Reader<'_> {
+ fn set_pointer_builder(
+ mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
+ value: Self,
+ canonicalize: bool,
+ ) -> ::capnp::Result<()> {
+ pointer.set_struct(&value.reader, canonicalize)
+ }
+ }
+
+ impl<'a> Builder<'a> {
+ pub fn into_reader(self) -> Reader<'a> {
+ self.builder.into_reader().into()
+ }
+ pub fn reborrow(&mut self) -> Builder<'_> {
+ Builder {
+ builder: self.builder.reborrow(),
+ }
+ }
+ pub fn reborrow_as_reader(&self) -> Reader<'_> {
+ self.builder.as_reader().into()
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.builder.as_reader().total_size()
+ }
+ #[inline]
+ pub fn get_block(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::BlockField>,
+ > {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_block(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<
+ ::capnp::enum_list::Owned,
+ >,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(0),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_block(
+ self,
+ size: u32,
+ ) -> ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::BlockField> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(0),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_block(&self) -> bool {
+ !self.builder.is_pointer_field_null(0)
+ }
+ #[inline]
+ pub fn get_transaction(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::TransactionField>,
+ > {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_transaction(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<
+ ::capnp::enum_list::Owned,
+ >,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(1),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_transaction(
+ self,
+ size: u32,
+ ) -> ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::TransactionField>
+ {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(1),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_transaction(&self) -> bool {
+ !self.builder.is_pointer_field_null(1)
+ }
+ #[inline]
+ pub fn get_log(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::LogField>,
+ > {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_log(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<
+ ::capnp::enum_list::Owned,
+ >,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(2),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_log(
+ self,
+ size: u32,
+ ) -> ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::LogField> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(2),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_log(&self) -> bool {
+ !self.builder.is_pointer_field_null(2)
+ }
+ #[inline]
+ pub fn get_trace(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::TraceField>,
+ > {
+ ::capnp::traits::FromPointerBuilder::get_from_pointer(
+ self.builder.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn set_trace(
+ &mut self,
+ value: impl ::capnp::traits::SetterInput<
+ ::capnp::enum_list::Owned,
+ >,
+ ) -> ::capnp::Result<()> {
+ ::capnp::traits::SetterInput::set_pointer_builder(
+ self.builder.reborrow().get_pointer_field(3),
+ value,
+ false,
+ )
+ }
+ #[inline]
+ pub fn init_trace(
+ self,
+ size: u32,
+ ) -> ::capnp::enum_list::Builder<'a, crate::hypersync_net_types_capnp::TraceField> {
+ ::capnp::traits::FromPointerBuilder::init_pointer(
+ self.builder.get_pointer_field(3),
+ size,
+ )
+ }
+ #[inline]
+ pub fn has_trace(&self) -> bool {
+ !self.builder.is_pointer_field_null(3)
+ }
+ }
+
+ pub struct Pipeline {
+ _typeless: ::capnp::any_pointer::Pipeline,
+ }
+ impl ::capnp::capability::FromTypelessPipeline for Pipeline {
+ fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
+ Self {
+ _typeless: typeless,
+ }
+ }
+ }
+ impl Pipeline {}
+ mod _private {
+ pub static ENCODED_NODE: [::capnp::Word; 97] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(110, 171, 199, 124, 78, 87, 136, 142),
+ ::capnp::word(26, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 74, 1, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 231, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 70, 105, 101, 108, 100, 83),
+ ::capnp::word(101, 108, 101, 99, 116, 105, 111, 110),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(16, 0, 0, 0, 3, 0, 4, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 0, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(92, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(120, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(117, 0, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(144, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(141, 0, 0, 0, 34, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(136, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(164, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(161, 0, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(156, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(184, 0, 0, 0, 2, 0, 1, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(44, 73, 100, 85, 82, 180, 224, 175),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(215, 33, 250, 108, 138, 203, 230, 193),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 111, 103, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(121, 202, 210, 192, 206, 135, 165, 144),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 99, 101, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(209, 77, 68, 9, 111, 56, 227, 220),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
+ match index {
+ 0 => <::capnp::enum_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 1 => <::capnp::enum_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 2 => <::capnp::enum_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ 3 => <::capnp::enum_list::Owned as ::capnp::introspect::Introspect>::introspect(),
+ _ => panic!("invalid field index {}", index),
+ }
+ }
+ pub fn get_annotation_types(
+ child_index: Option,
+ index: u32,
+ ) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+ pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
+ ::capnp::introspect::RawStructSchema {
+ encoded_node: &ENCODED_NODE,
+ nonunion_members: NONUNION_MEMBERS,
+ members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
+ members_by_name: MEMBERS_BY_NAME,
+ };
+ pub static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3];
+ pub static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
+ pub static MEMBERS_BY_NAME: &[u16] = &[0, 2, 3, 1];
+ pub const TYPE_ID: u64 = 0x8e88_574e_7cc7_ab6e;
+ }
+}
+
+#[repr(u16)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+pub enum JoinMode {
+ Default = 0,
+ JoinAll = 1,
+ JoinNothing = 2,
+}
+
+impl ::capnp::introspect::Introspect for JoinMode {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema {
+ encoded_node: &join_mode::ENCODED_NODE,
+ annotation_types: join_mode::get_annotation_types,
+ })
+ .into()
+ }
+}
+impl ::core::convert::From for ::capnp::dynamic_value::Reader<'_> {
+ fn from(e: JoinMode) -> Self {
+ ::capnp::dynamic_value::Enum::new(
+ e.into(),
+ ::capnp::introspect::RawEnumSchema {
+ encoded_node: &join_mode::ENCODED_NODE,
+ annotation_types: join_mode::get_annotation_types,
+ }
+ .into(),
+ )
+ .into()
+ }
+}
+impl ::core::convert::TryFrom for JoinMode {
+ type Error = ::capnp::NotInSchema;
+ fn try_from(
+ value: u16,
+ ) -> ::core::result::Result>::Error> {
+ match value {
+ 0 => ::core::result::Result::Ok(Self::Default),
+ 1 => ::core::result::Result::Ok(Self::JoinAll),
+ 2 => ::core::result::Result::Ok(Self::JoinNothing),
+ n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
+ }
+ }
+}
+impl From for u16 {
+ #[inline]
+ fn from(x: JoinMode) -> u16 {
+ x as u16
+ }
+}
+impl ::capnp::traits::HasTypeId for JoinMode {
+ const TYPE_ID: u64 = 0x814f_2ba3_6715_2ce1u64;
+}
+mod join_mode {
+ pub static ENCODED_NODE: [::capnp::Word; 32] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(225, 44, 21, 103, 163, 43, 79, 129),
+ ::capnp::word(26, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 26, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 79, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 74, 111, 105, 110, 77, 111),
+ ::capnp::word(100, 101, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(12, 0, 0, 0, 1, 0, 2, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(29, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(100, 101, 102, 97, 117, 108, 116, 0),
+ ::capnp::word(106, 111, 105, 110, 65, 108, 108, 0),
+ ::capnp::word(106, 111, 105, 110, 78, 111, 116, 104),
+ ::capnp::word(105, 110, 103, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_annotation_types(child_index: Option, index: u32) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+}
+
+#[repr(u16)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+pub enum BlockField {
+ Number = 0,
+ Hash = 1,
+ ParentHash = 2,
+ Sha3Uncles = 3,
+ LogsBloom = 4,
+ TransactionsRoot = 5,
+ StateRoot = 6,
+ ReceiptsRoot = 7,
+ Miner = 8,
+ ExtraData = 9,
+ Size = 10,
+ GasLimit = 11,
+ GasUsed = 12,
+ Timestamp = 13,
+ MixHash = 14,
+ Nonce = 15,
+ Difficulty = 16,
+ TotalDifficulty = 17,
+ Uncles = 18,
+ BaseFeePerGas = 19,
+ BlobGasUsed = 20,
+ ExcessBlobGas = 21,
+ ParentBeaconBlockRoot = 22,
+ WithdrawalsRoot = 23,
+ Withdrawals = 24,
+ L1BlockNumber = 25,
+ SendCount = 26,
+ SendRoot = 27,
+}
+
+impl ::capnp::introspect::Introspect for BlockField {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema {
+ encoded_node: &block_field::ENCODED_NODE,
+ annotation_types: block_field::get_annotation_types,
+ })
+ .into()
+ }
+}
+impl ::core::convert::From for ::capnp::dynamic_value::Reader<'_> {
+ fn from(e: BlockField) -> Self {
+ ::capnp::dynamic_value::Enum::new(
+ e.into(),
+ ::capnp::introspect::RawEnumSchema {
+ encoded_node: &block_field::ENCODED_NODE,
+ annotation_types: block_field::get_annotation_types,
+ }
+ .into(),
+ )
+ .into()
+ }
+}
+impl ::core::convert::TryFrom for BlockField {
+ type Error = ::capnp::NotInSchema;
+ fn try_from(
+ value: u16,
+ ) -> ::core::result::Result>::Error> {
+ match value {
+ 0 => ::core::result::Result::Ok(Self::Number),
+ 1 => ::core::result::Result::Ok(Self::Hash),
+ 2 => ::core::result::Result::Ok(Self::ParentHash),
+ 3 => ::core::result::Result::Ok(Self::Sha3Uncles),
+ 4 => ::core::result::Result::Ok(Self::LogsBloom),
+ 5 => ::core::result::Result::Ok(Self::TransactionsRoot),
+ 6 => ::core::result::Result::Ok(Self::StateRoot),
+ 7 => ::core::result::Result::Ok(Self::ReceiptsRoot),
+ 8 => ::core::result::Result::Ok(Self::Miner),
+ 9 => ::core::result::Result::Ok(Self::ExtraData),
+ 10 => ::core::result::Result::Ok(Self::Size),
+ 11 => ::core::result::Result::Ok(Self::GasLimit),
+ 12 => ::core::result::Result::Ok(Self::GasUsed),
+ 13 => ::core::result::Result::Ok(Self::Timestamp),
+ 14 => ::core::result::Result::Ok(Self::MixHash),
+ 15 => ::core::result::Result::Ok(Self::Nonce),
+ 16 => ::core::result::Result::Ok(Self::Difficulty),
+ 17 => ::core::result::Result::Ok(Self::TotalDifficulty),
+ 18 => ::core::result::Result::Ok(Self::Uncles),
+ 19 => ::core::result::Result::Ok(Self::BaseFeePerGas),
+ 20 => ::core::result::Result::Ok(Self::BlobGasUsed),
+ 21 => ::core::result::Result::Ok(Self::ExcessBlobGas),
+ 22 => ::core::result::Result::Ok(Self::ParentBeaconBlockRoot),
+ 23 => ::core::result::Result::Ok(Self::WithdrawalsRoot),
+ 24 => ::core::result::Result::Ok(Self::Withdrawals),
+ 25 => ::core::result::Result::Ok(Self::L1BlockNumber),
+ 26 => ::core::result::Result::Ok(Self::SendCount),
+ 27 => ::core::result::Result::Ok(Self::SendRoot),
+ n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
+ }
+ }
+}
+impl From for u16 {
+ #[inline]
+ fn from(x: BlockField) -> u16 {
+ x as u16
+ }
+}
+impl ::capnp::traits::HasTypeId for BlockField {
+ const TYPE_ID: u64 = 0xafe0_b452_5564_492cu64;
+}
+mod block_field {
+ pub static ENCODED_NODE: [::capnp::Word; 153] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(44, 73, 100, 85, 82, 180, 224, 175),
+ ::capnp::word(26, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 42, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 167, 2, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 66, 108, 111, 99, 107, 70),
+ ::capnp::word(105, 101, 108, 100, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(112, 0, 0, 0, 1, 0, 2, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(73, 1, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(65, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(57, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(53, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(4, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(49, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(45, 1, 0, 0, 138, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(6, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(45, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(41, 1, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 1, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(29, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(10, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(25, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(11, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(17, 1, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(249, 0, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(241, 0, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(17, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(237, 0, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(233, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(19, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(225, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(20, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(221, 0, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(217, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(22, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(213, 0, 0, 0, 178, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(23, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(213, 0, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(24, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(209, 0, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(25, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(205, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(26, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(201, 0, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(27, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(197, 0, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(110, 117, 109, 98, 101, 114, 0, 0),
+ ::capnp::word(104, 97, 115, 104, 0, 0, 0, 0),
+ ::capnp::word(112, 97, 114, 101, 110, 116, 72, 97),
+ ::capnp::word(115, 104, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 104, 97, 51, 85, 110, 99, 108),
+ ::capnp::word(101, 115, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 111, 103, 115, 66, 108, 111, 111),
+ ::capnp::word(109, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 115, 82, 111, 111, 116),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 116, 97, 116, 101, 82, 111, 111),
+ ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(114, 101, 99, 101, 105, 112, 116, 115),
+ ::capnp::word(82, 111, 111, 116, 0, 0, 0, 0),
+ ::capnp::word(109, 105, 110, 101, 114, 0, 0, 0),
+ ::capnp::word(101, 120, 116, 114, 97, 68, 97, 116),
+ ::capnp::word(97, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 105, 122, 101, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 76, 105, 109, 105, 116),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 85, 115, 101, 100, 0),
+ ::capnp::word(116, 105, 109, 101, 115, 116, 97, 109),
+ ::capnp::word(112, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 105, 120, 72, 97, 115, 104, 0),
+ ::capnp::word(110, 111, 110, 99, 101, 0, 0, 0),
+ ::capnp::word(100, 105, 102, 102, 105, 99, 117, 108),
+ ::capnp::word(116, 121, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 116, 97, 108, 68, 105, 102),
+ ::capnp::word(102, 105, 99, 117, 108, 116, 121, 0),
+ ::capnp::word(117, 110, 99, 108, 101, 115, 0, 0),
+ ::capnp::word(98, 97, 115, 101, 70, 101, 101, 80),
+ ::capnp::word(101, 114, 71, 97, 115, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 98, 71, 97, 115, 85),
+ ::capnp::word(115, 101, 100, 0, 0, 0, 0, 0),
+ ::capnp::word(101, 120, 99, 101, 115, 115, 66, 108),
+ ::capnp::word(111, 98, 71, 97, 115, 0, 0, 0),
+ ::capnp::word(112, 97, 114, 101, 110, 116, 66, 101),
+ ::capnp::word(97, 99, 111, 110, 66, 108, 111, 99),
+ ::capnp::word(107, 82, 111, 111, 116, 0, 0, 0),
+ ::capnp::word(119, 105, 116, 104, 100, 114, 97, 119),
+ ::capnp::word(97, 108, 115, 82, 111, 111, 116, 0),
+ ::capnp::word(119, 105, 116, 104, 100, 114, 97, 119),
+ ::capnp::word(97, 108, 115, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 49, 66, 108, 111, 99, 107, 78),
+ ::capnp::word(117, 109, 98, 101, 114, 0, 0, 0),
+ ::capnp::word(115, 101, 110, 100, 67, 111, 117, 110),
+ ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 101, 110, 100, 82, 111, 111, 116),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_annotation_types(child_index: Option, index: u32) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+}
+
+#[repr(u16)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+pub enum TransactionField {
+ BlockHash = 0,
+ BlockNumber = 1,
+ Gas = 2,
+ Hash = 3,
+ Input = 4,
+ Nonce = 5,
+ TransactionIndex = 6,
+ Value = 7,
+ CumulativeGasUsed = 8,
+ EffectiveGasPrice = 9,
+ GasUsed = 10,
+ LogsBloom = 11,
+ From = 12,
+ GasPrice = 13,
+ To = 14,
+ V = 15,
+ R = 16,
+ S = 17,
+ MaxPriorityFeePerGas = 18,
+ MaxFeePerGas = 19,
+ ChainId = 20,
+ ContractAddress = 21,
+ Type = 22,
+ Root = 23,
+ Status = 24,
+ YParity = 25,
+ AccessList = 26,
+ AuthorizationList = 27,
+ L1Fee = 28,
+ L1GasPrice = 29,
+ L1GasUsed = 30,
+ L1FeeScalar = 31,
+ GasUsedForL1 = 32,
+ MaxFeePerBlobGas = 33,
+ BlobVersionedHashes = 34,
+ BlobGasPrice = 35,
+ BlobGasUsed = 36,
+ DepositNonce = 37,
+ DepositReceiptVersion = 38,
+ L1BaseFeeScalar = 39,
+ L1BlobBaseFee = 40,
+ L1BlobBaseFeeScalar = 41,
+ L1BlockNumber = 42,
+ Mint = 43,
+ Sighash = 44,
+ SourceHash = 45,
+}
+
+impl ::capnp::introspect::Introspect for TransactionField {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema {
+ encoded_node: &transaction_field::ENCODED_NODE,
+ annotation_types: transaction_field::get_annotation_types,
+ })
+ .into()
+ }
+}
+impl ::core::convert::From for ::capnp::dynamic_value::Reader<'_> {
+ fn from(e: TransactionField) -> Self {
+ ::capnp::dynamic_value::Enum::new(
+ e.into(),
+ ::capnp::introspect::RawEnumSchema {
+ encoded_node: &transaction_field::ENCODED_NODE,
+ annotation_types: transaction_field::get_annotation_types,
+ }
+ .into(),
+ )
+ .into()
+ }
+}
+impl ::core::convert::TryFrom for TransactionField {
+ type Error = ::capnp::NotInSchema;
+ fn try_from(
+ value: u16,
+ ) -> ::core::result::Result>::Error>
+ {
+ match value {
+ 0 => ::core::result::Result::Ok(Self::BlockHash),
+ 1 => ::core::result::Result::Ok(Self::BlockNumber),
+ 2 => ::core::result::Result::Ok(Self::Gas),
+ 3 => ::core::result::Result::Ok(Self::Hash),
+ 4 => ::core::result::Result::Ok(Self::Input),
+ 5 => ::core::result::Result::Ok(Self::Nonce),
+ 6 => ::core::result::Result::Ok(Self::TransactionIndex),
+ 7 => ::core::result::Result::Ok(Self::Value),
+ 8 => ::core::result::Result::Ok(Self::CumulativeGasUsed),
+ 9 => ::core::result::Result::Ok(Self::EffectiveGasPrice),
+ 10 => ::core::result::Result::Ok(Self::GasUsed),
+ 11 => ::core::result::Result::Ok(Self::LogsBloom),
+ 12 => ::core::result::Result::Ok(Self::From),
+ 13 => ::core::result::Result::Ok(Self::GasPrice),
+ 14 => ::core::result::Result::Ok(Self::To),
+ 15 => ::core::result::Result::Ok(Self::V),
+ 16 => ::core::result::Result::Ok(Self::R),
+ 17 => ::core::result::Result::Ok(Self::S),
+ 18 => ::core::result::Result::Ok(Self::MaxPriorityFeePerGas),
+ 19 => ::core::result::Result::Ok(Self::MaxFeePerGas),
+ 20 => ::core::result::Result::Ok(Self::ChainId),
+ 21 => ::core::result::Result::Ok(Self::ContractAddress),
+ 22 => ::core::result::Result::Ok(Self::Type),
+ 23 => ::core::result::Result::Ok(Self::Root),
+ 24 => ::core::result::Result::Ok(Self::Status),
+ 25 => ::core::result::Result::Ok(Self::YParity),
+ 26 => ::core::result::Result::Ok(Self::AccessList),
+ 27 => ::core::result::Result::Ok(Self::AuthorizationList),
+ 28 => ::core::result::Result::Ok(Self::L1Fee),
+ 29 => ::core::result::Result::Ok(Self::L1GasPrice),
+ 30 => ::core::result::Result::Ok(Self::L1GasUsed),
+ 31 => ::core::result::Result::Ok(Self::L1FeeScalar),
+ 32 => ::core::result::Result::Ok(Self::GasUsedForL1),
+ 33 => ::core::result::Result::Ok(Self::MaxFeePerBlobGas),
+ 34 => ::core::result::Result::Ok(Self::BlobVersionedHashes),
+ 35 => ::core::result::Result::Ok(Self::BlobGasPrice),
+ 36 => ::core::result::Result::Ok(Self::BlobGasUsed),
+ 37 => ::core::result::Result::Ok(Self::DepositNonce),
+ 38 => ::core::result::Result::Ok(Self::DepositReceiptVersion),
+ 39 => ::core::result::Result::Ok(Self::L1BaseFeeScalar),
+ 40 => ::core::result::Result::Ok(Self::L1BlobBaseFee),
+ 41 => ::core::result::Result::Ok(Self::L1BlobBaseFeeScalar),
+ 42 => ::core::result::Result::Ok(Self::L1BlockNumber),
+ 43 => ::core::result::Result::Ok(Self::Mint),
+ 44 => ::core::result::Result::Ok(Self::Sighash),
+ 45 => ::core::result::Result::Ok(Self::SourceHash),
+ n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
+ }
+ }
+}
+impl From for u16 {
+ #[inline]
+ fn from(x: TransactionField) -> u16 {
+ x as u16
+ }
+}
+impl ::capnp::traits::HasTypeId for TransactionField {
+ const TYPE_ID: u64 = 0xc1e6_cb8a_6cfa_21d7u64;
+}
+mod transaction_field {
+ pub static ENCODED_NODE: [::capnp::Word; 240] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(215, 33, 250, 108, 138, 203, 230, 193),
+ ::capnp::word(26, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 90, 1, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 87, 4, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 84, 114, 97, 110, 115, 97),
+ ::capnp::word(99, 116, 105, 111, 110, 70, 105, 101),
+ ::capnp::word(108, 100, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(184, 0, 0, 0, 1, 0, 2, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 2, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(29, 2, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(25, 2, 0, 0, 34, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(17, 2, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(4, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 2, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 2, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(6, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(249, 1, 0, 0, 138, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(249, 1, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(241, 1, 0, 0, 146, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(241, 1, 0, 0, 146, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(10, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(241, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(11, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(233, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(229, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(221, 1, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(217, 1, 0, 0, 26, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(209, 1, 0, 0, 18, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(201, 1, 0, 0, 18, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(17, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(193, 1, 0, 0, 18, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(185, 1, 0, 0, 170, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(19, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(185, 1, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(20, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(181, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(173, 1, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(22, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(169, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(23, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(161, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(24, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(153, 1, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(25, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(145, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(26, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(137, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(27, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(133, 1, 0, 0, 146, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(28, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(133, 1, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(29, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(125, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(30, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(121, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(31, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(117, 1, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(32, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(113, 1, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 1, 0, 0, 138, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(34, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 1, 0, 0, 162, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(35, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 1, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(36, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(105, 1, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(101, 1, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(38, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 1, 0, 0, 178, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(39, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 1, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(40, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(93, 1, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(41, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(89, 1, 0, 0, 162, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(42, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(89, 1, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(43, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(85, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(44, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(77, 1, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(45, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(69, 1, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 72, 97, 115),
+ ::capnp::word(104, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 78, 117, 109),
+ ::capnp::word(98, 101, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 97, 115, 104, 0, 0, 0, 0),
+ ::capnp::word(105, 110, 112, 117, 116, 0, 0, 0),
+ ::capnp::word(110, 111, 110, 99, 101, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 73, 110, 100, 101, 120),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(118, 97, 108, 117, 101, 0, 0, 0),
+ ::capnp::word(99, 117, 109, 117, 108, 97, 116, 105),
+ ::capnp::word(118, 101, 71, 97, 115, 85, 115, 101),
+ ::capnp::word(100, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(101, 102, 102, 101, 99, 116, 105, 118),
+ ::capnp::word(101, 71, 97, 115, 80, 114, 105, 99),
+ ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 85, 115, 101, 100, 0),
+ ::capnp::word(108, 111, 103, 115, 66, 108, 111, 111),
+ ::capnp::word(109, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(102, 114, 111, 109, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 80, 114, 105, 99, 101),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(118, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(114, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(109, 97, 120, 80, 114, 105, 111, 114),
+ ::capnp::word(105, 116, 121, 70, 101, 101, 80, 101),
+ ::capnp::word(114, 71, 97, 115, 0, 0, 0, 0),
+ ::capnp::word(109, 97, 120, 70, 101, 101, 80, 101),
+ ::capnp::word(114, 71, 97, 115, 0, 0, 0, 0),
+ ::capnp::word(99, 104, 97, 105, 110, 73, 100, 0),
+ ::capnp::word(99, 111, 110, 116, 114, 97, 99, 116),
+ ::capnp::word(65, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(116, 121, 112, 101, 0, 0, 0, 0),
+ ::capnp::word(114, 111, 111, 116, 0, 0, 0, 0),
+ ::capnp::word(115, 116, 97, 116, 117, 115, 0, 0),
+ ::capnp::word(121, 80, 97, 114, 105, 116, 121, 0),
+ ::capnp::word(97, 99, 99, 101, 115, 115, 76, 105),
+ ::capnp::word(115, 116, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 117, 116, 104, 111, 114, 105, 122),
+ ::capnp::word(97, 116, 105, 111, 110, 76, 105, 115),
+ ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 49, 70, 101, 101, 0, 0, 0),
+ ::capnp::word(108, 49, 71, 97, 115, 80, 114, 105),
+ ::capnp::word(99, 101, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 49, 71, 97, 115, 85, 115, 101),
+ ::capnp::word(100, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 49, 70, 101, 101, 83, 99, 97),
+ ::capnp::word(108, 97, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 85, 115, 101, 100, 70),
+ ::capnp::word(111, 114, 76, 49, 0, 0, 0, 0),
+ ::capnp::word(109, 97, 120, 70, 101, 101, 80, 101),
+ ::capnp::word(114, 66, 108, 111, 98, 71, 97, 115),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 98, 86, 101, 114, 115),
+ ::capnp::word(105, 111, 110, 101, 100, 72, 97, 115),
+ ::capnp::word(104, 101, 115, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 98, 71, 97, 115, 80),
+ ::capnp::word(114, 105, 99, 101, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 98, 71, 97, 115, 85),
+ ::capnp::word(115, 101, 100, 0, 0, 0, 0, 0),
+ ::capnp::word(100, 101, 112, 111, 115, 105, 116, 78),
+ ::capnp::word(111, 110, 99, 101, 0, 0, 0, 0),
+ ::capnp::word(100, 101, 112, 111, 115, 105, 116, 82),
+ ::capnp::word(101, 99, 101, 105, 112, 116, 86, 101),
+ ::capnp::word(114, 115, 105, 111, 110, 0, 0, 0),
+ ::capnp::word(108, 49, 66, 97, 115, 101, 70, 101),
+ ::capnp::word(101, 83, 99, 97, 108, 97, 114, 0),
+ ::capnp::word(108, 49, 66, 108, 111, 98, 66, 97),
+ ::capnp::word(115, 101, 70, 101, 101, 0, 0, 0),
+ ::capnp::word(108, 49, 66, 108, 111, 98, 66, 97),
+ ::capnp::word(115, 101, 70, 101, 101, 83, 99, 97),
+ ::capnp::word(108, 97, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 49, 66, 108, 111, 99, 107, 78),
+ ::capnp::word(117, 109, 98, 101, 114, 0, 0, 0),
+ ::capnp::word(109, 105, 110, 116, 0, 0, 0, 0),
+ ::capnp::word(115, 105, 103, 104, 97, 115, 104, 0),
+ ::capnp::word(115, 111, 117, 114, 99, 101, 72, 97),
+ ::capnp::word(115, 104, 0, 0, 0, 0, 0, 0),
+ ];
+ pub fn get_annotation_types(child_index: Option, index: u32) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+}
+
+#[repr(u16)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+pub enum LogField {
+ TransactionHash = 0,
+ BlockHash = 1,
+ BlockNumber = 2,
+ TransactionIndex = 3,
+ LogIndex = 4,
+ Address = 5,
+ Data = 6,
+ Removed = 7,
+ Topic0 = 8,
+ Topic1 = 9,
+ Topic2 = 10,
+ Topic3 = 11,
+}
+
+impl ::capnp::introspect::Introspect for LogField {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema {
+ encoded_node: &log_field::ENCODED_NODE,
+ annotation_types: log_field::get_annotation_types,
+ })
+ .into()
+ }
+}
+impl ::core::convert::From for ::capnp::dynamic_value::Reader<'_> {
+ fn from(e: LogField) -> Self {
+ ::capnp::dynamic_value::Enum::new(
+ e.into(),
+ ::capnp::introspect::RawEnumSchema {
+ encoded_node: &log_field::ENCODED_NODE,
+ annotation_types: log_field::get_annotation_types,
+ }
+ .into(),
+ )
+ .into()
+ }
+}
+impl ::core::convert::TryFrom for LogField {
+ type Error = ::capnp::NotInSchema;
+ fn try_from(
+ value: u16,
+ ) -> ::core::result::Result>::Error> {
+ match value {
+ 0 => ::core::result::Result::Ok(Self::TransactionHash),
+ 1 => ::core::result::Result::Ok(Self::BlockHash),
+ 2 => ::core::result::Result::Ok(Self::BlockNumber),
+ 3 => ::core::result::Result::Ok(Self::TransactionIndex),
+ 4 => ::core::result::Result::Ok(Self::LogIndex),
+ 5 => ::core::result::Result::Ok(Self::Address),
+ 6 => ::core::result::Result::Ok(Self::Data),
+ 7 => ::core::result::Result::Ok(Self::Removed),
+ 8 => ::core::result::Result::Ok(Self::Topic0),
+ 9 => ::core::result::Result::Ok(Self::Topic1),
+ 10 => ::core::result::Result::Ok(Self::Topic2),
+ 11 => ::core::result::Result::Ok(Self::Topic3),
+ n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
+ }
+ }
+}
+impl From for u16 {
+ #[inline]
+ fn from(x: LogField) -> u16 {
+ x as u16
+ }
+}
+impl ::capnp::traits::HasTypeId for LogField {
+ const TYPE_ID: u64 = 0x90a5_87ce_c0d2_ca79u64;
+}
+mod log_field {
+ pub static ENCODED_NODE: [::capnp::Word; 73] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(121, 202, 210, 192, 206, 135, 165, 144),
+ ::capnp::word(26, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 26, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 39, 1, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 76, 111, 103, 70, 105, 101),
+ ::capnp::word(108, 100, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(48, 0, 0, 0, 1, 0, 2, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(137, 0, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(133, 0, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(129, 0, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(125, 0, 0, 0, 138, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(4, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(125, 0, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(121, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(6, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(113, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(105, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(89, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(10, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(81, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(11, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(73, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 72, 97, 115, 104, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 72, 97, 115),
+ ::capnp::word(104, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 78, 117, 109),
+ ::capnp::word(98, 101, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 73, 110, 100, 101, 120),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(108, 111, 103, 73, 110, 100, 101, 120),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(100, 97, 116, 97, 0, 0, 0, 0),
+ ::capnp::word(114, 101, 109, 111, 118, 101, 100, 0),
+ ::capnp::word(116, 111, 112, 105, 99, 48, 0, 0),
+ ::capnp::word(116, 111, 112, 105, 99, 49, 0, 0),
+ ::capnp::word(116, 111, 112, 105, 99, 50, 0, 0),
+ ::capnp::word(116, 111, 112, 105, 99, 51, 0, 0),
+ ];
+ pub fn get_annotation_types(child_index: Option, index: u32) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+}
+
+#[repr(u16)]
+#[derive(Clone, Copy, Debug, PartialEq, Eq)]
+pub enum TraceField {
+ TransactionHash = 0,
+ BlockHash = 1,
+ BlockNumber = 2,
+ TransactionPosition = 3,
+ Type = 4,
+ Error = 5,
+ From = 6,
+ To = 7,
+ Author = 8,
+ Gas = 9,
+ GasUsed = 10,
+ ActionAddress = 11,
+ Address = 12,
+ Balance = 13,
+ CallType = 14,
+ Code = 15,
+ Init = 16,
+ Input = 17,
+ Output = 18,
+ RefundAddress = 19,
+ RewardType = 20,
+ Sighash = 21,
+ Subtraces = 22,
+ TraceAddress = 23,
+ Value = 24,
+}
+
+impl ::capnp::introspect::Introspect for TraceField {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema {
+ encoded_node: &trace_field::ENCODED_NODE,
+ annotation_types: trace_field::get_annotation_types,
+ })
+ .into()
+ }
+}
+impl ::core::convert::From for ::capnp::dynamic_value::Reader<'_> {
+ fn from(e: TraceField) -> Self {
+ ::capnp::dynamic_value::Enum::new(
+ e.into(),
+ ::capnp::introspect::RawEnumSchema {
+ encoded_node: &trace_field::ENCODED_NODE,
+ annotation_types: trace_field::get_annotation_types,
+ }
+ .into(),
+ )
+ .into()
+ }
+}
+impl ::core::convert::TryFrom for TraceField {
+ type Error = ::capnp::NotInSchema;
+ fn try_from(
+ value: u16,
+ ) -> ::core::result::Result>::Error> {
+ match value {
+ 0 => ::core::result::Result::Ok(Self::TransactionHash),
+ 1 => ::core::result::Result::Ok(Self::BlockHash),
+ 2 => ::core::result::Result::Ok(Self::BlockNumber),
+ 3 => ::core::result::Result::Ok(Self::TransactionPosition),
+ 4 => ::core::result::Result::Ok(Self::Type),
+ 5 => ::core::result::Result::Ok(Self::Error),
+ 6 => ::core::result::Result::Ok(Self::From),
+ 7 => ::core::result::Result::Ok(Self::To),
+ 8 => ::core::result::Result::Ok(Self::Author),
+ 9 => ::core::result::Result::Ok(Self::Gas),
+ 10 => ::core::result::Result::Ok(Self::GasUsed),
+ 11 => ::core::result::Result::Ok(Self::ActionAddress),
+ 12 => ::core::result::Result::Ok(Self::Address),
+ 13 => ::core::result::Result::Ok(Self::Balance),
+ 14 => ::core::result::Result::Ok(Self::CallType),
+ 15 => ::core::result::Result::Ok(Self::Code),
+ 16 => ::core::result::Result::Ok(Self::Init),
+ 17 => ::core::result::Result::Ok(Self::Input),
+ 18 => ::core::result::Result::Ok(Self::Output),
+ 19 => ::core::result::Result::Ok(Self::RefundAddress),
+ 20 => ::core::result::Result::Ok(Self::RewardType),
+ 21 => ::core::result::Result::Ok(Self::Sighash),
+ 22 => ::core::result::Result::Ok(Self::Subtraces),
+ 23 => ::core::result::Result::Ok(Self::TraceAddress),
+ 24 => ::core::result::Result::Ok(Self::Value),
+ n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
+ }
+ }
+}
+impl From for u16 {
+ #[inline]
+ fn from(x: TraceField) -> u16 {
+ x as u16
+ }
+}
+impl ::capnp::traits::HasTypeId for TraceField {
+ const TYPE_ID: u64 = 0xdce3_386f_0944_4dd1u64;
+}
+mod trace_field {
+ pub static ENCODED_NODE: [::capnp::Word; 130] = [
+ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
+ ::capnp::word(209, 77, 68, 9, 111, 56, 227, 220),
+ ::capnp::word(26, 0, 0, 0, 2, 0, 0, 0),
+ ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 42, 1, 0, 0),
+ ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 0, 0, 0, 95, 2, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(104, 121, 112, 101, 114, 115, 121, 110),
+ ::capnp::word(99, 95, 110, 101, 116, 95, 116, 121),
+ ::capnp::word(112, 101, 115, 46, 99, 97, 112, 110),
+ ::capnp::word(112, 58, 84, 114, 97, 99, 101, 70),
+ ::capnp::word(105, 101, 108, 100, 0, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
+ ::capnp::word(100, 0, 0, 0, 1, 0, 2, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(37, 1, 0, 0, 130, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(33, 1, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(29, 1, 0, 0, 98, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(25, 1, 0, 0, 162, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(4, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(25, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(5, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(17, 1, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(6, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 1, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(1, 1, 0, 0, 26, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(249, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(241, 0, 0, 0, 34, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(10, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(233, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(11, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(225, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(221, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(13, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(213, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(205, 0, 0, 0, 74, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(201, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(193, 0, 0, 0, 42, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(17, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(185, 0, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(177, 0, 0, 0, 58, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(19, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(169, 0, 0, 0, 114, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(20, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(165, 0, 0, 0, 90, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(21, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(161, 0, 0, 0, 66, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(22, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(153, 0, 0, 0, 82, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(23, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(149, 0, 0, 0, 106, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(24, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(145, 0, 0, 0, 50, 0, 0, 0),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 72, 97, 115, 104, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 72, 97, 115),
+ ::capnp::word(104, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(98, 108, 111, 99, 107, 78, 117, 109),
+ ::capnp::word(98, 101, 114, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116),
+ ::capnp::word(105, 111, 110, 80, 111, 115, 105, 116),
+ ::capnp::word(105, 111, 110, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 121, 112, 101, 0, 0, 0, 0),
+ ::capnp::word(101, 114, 114, 111, 114, 0, 0, 0),
+ ::capnp::word(102, 114, 111, 109, 0, 0, 0, 0),
+ ::capnp::word(116, 111, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(97, 117, 116, 104, 111, 114, 0, 0),
+ ::capnp::word(103, 97, 115, 0, 0, 0, 0, 0),
+ ::capnp::word(103, 97, 115, 85, 115, 101, 100, 0),
+ ::capnp::word(97, 99, 116, 105, 111, 110, 65, 100),
+ ::capnp::word(100, 114, 101, 115, 115, 0, 0, 0),
+ ::capnp::word(97, 100, 100, 114, 101, 115, 115, 0),
+ ::capnp::word(98, 97, 108, 97, 110, 99, 101, 0),
+ ::capnp::word(99, 97, 108, 108, 84, 121, 112, 101),
+ ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(99, 111, 100, 101, 0, 0, 0, 0),
+ ::capnp::word(105, 110, 105, 116, 0, 0, 0, 0),
+ ::capnp::word(105, 110, 112, 117, 116, 0, 0, 0),
+ ::capnp::word(111, 117, 116, 112, 117, 116, 0, 0),
+ ::capnp::word(114, 101, 102, 117, 110, 100, 65, 100),
+ ::capnp::word(100, 114, 101, 115, 115, 0, 0, 0),
+ ::capnp::word(114, 101, 119, 97, 114, 100, 84, 121),
+ ::capnp::word(112, 101, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(115, 105, 103, 104, 97, 115, 104, 0),
+ ::capnp::word(115, 117, 98, 116, 114, 97, 99, 101),
+ ::capnp::word(115, 0, 0, 0, 0, 0, 0, 0),
+ ::capnp::word(116, 114, 97, 99, 101, 65, 100, 100),
+ ::capnp::word(114, 101, 115, 115, 0, 0, 0, 0),
+ ::capnp::word(118, 97, 108, 117, 101, 0, 0, 0),
+ ];
+ pub fn get_annotation_types(child_index: Option, index: u32) -> ::capnp::introspect::Type {
+ panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
+ }
+}
+
+pub mod query_body {
+ #[derive(Copy, Clone)]
+ pub struct Owned(());
+ impl ::capnp::introspect::Introspect for Owned {
+ fn introspect() -> ::capnp::introspect::Type {
+ ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ })
+ .into()
+ }
+ }
+ impl ::capnp::traits::Owned for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::OwnedStruct for Owned {
+ type Reader<'a> = Reader<'a>;
+ type Builder<'a> = Builder<'a>;
+ }
+ impl ::capnp::traits::Pipelined for Owned {
+ type Pipeline = Pipeline;
+ }
+
+ pub struct Reader<'a> {
+ reader: ::capnp::private::layout::StructReader<'a>,
+ }
+ impl ::core::marker::Copy for Reader<'_> {}
+ impl ::core::clone::Clone for Reader<'_> {
+ fn clone(&self) -> Self {
+ *self
+ }
+ }
+
+ impl ::capnp::traits::HasTypeId for Reader<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
+ fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
+ Self { reader }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Reader<'a> {
+ fn from(reader: Reader<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Reader::new(
+ reader.reader,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl ::core::fmt::Debug for Reader<'_> {
+ fn fmt(
+ &self,
+ f: &mut ::core::fmt::Formatter<'_>,
+ ) -> ::core::result::Result<(), ::core::fmt::Error> {
+ core::fmt::Debug::fmt(
+ &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
+ f,
+ )
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
+ fn get_from_pointer(
+ reader: &::capnp::private::layout::PointerReader<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result {
+ ::core::result::Result::Ok(reader.get_struct(default)?.into())
+ }
+ }
+
+ impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
+ fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
+ self.reader
+ }
+ }
+
+ impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
+ fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
+ self.reader
+ .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
+ }
+ }
+
+ impl<'a> Reader<'a> {
+ pub fn reborrow(&self) -> Reader<'_> {
+ Self { ..*self }
+ }
+
+ pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
+ self.reader.total_size()
+ }
+ #[inline]
+ pub fn get_join_mode(
+ self,
+ ) -> ::core::result::Result
+ {
+ ::core::convert::TryInto::try_into(self.reader.get_data_field::(0))
+ }
+ #[inline]
+ pub fn get_logs(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::struct_list::Reader<
+ 'a,
+ crate::hypersync_net_types_capnp::selection::Owned<
+ crate::hypersync_net_types_capnp::log_filter::Owned,
+ >,
+ >,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(0),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_logs(&self) -> bool {
+ !self.reader.get_pointer_field(0).is_null()
+ }
+ #[inline]
+ pub fn get_transactions(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::struct_list::Reader<
+ 'a,
+ crate::hypersync_net_types_capnp::selection::Owned<
+ crate::hypersync_net_types_capnp::transaction_filter::Owned,
+ >,
+ >,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(1),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_transactions(&self) -> bool {
+ !self.reader.get_pointer_field(1).is_null()
+ }
+ #[inline]
+ pub fn get_traces(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::struct_list::Reader<
+ 'a,
+ crate::hypersync_net_types_capnp::selection::Owned<
+ crate::hypersync_net_types_capnp::trace_filter::Owned,
+ >,
+ >,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(2),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_traces(&self) -> bool {
+ !self.reader.get_pointer_field(2).is_null()
+ }
+ #[inline]
+ pub fn get_blocks(
+ self,
+ ) -> ::capnp::Result<
+ ::capnp::struct_list::Reader<
+ 'a,
+ crate::hypersync_net_types_capnp::selection::Owned<
+ crate::hypersync_net_types_capnp::block_filter::Owned,
+ >,
+ >,
+ > {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(3),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_blocks(&self) -> bool {
+ !self.reader.get_pointer_field(3).is_null()
+ }
+ #[inline]
+ pub fn get_include_all_blocks(self) -> bool {
+ self.reader.get_bool_field(16)
+ }
+ #[inline]
+ pub fn get_field_selection(
+ self,
+ ) -> ::capnp::Result>
+ {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(4),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_field_selection(&self) -> bool {
+ !self.reader.get_pointer_field(4).is_null()
+ }
+ #[inline]
+ pub fn get_max_num_blocks(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(5),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_max_num_blocks(&self) -> bool {
+ !self.reader.get_pointer_field(5).is_null()
+ }
+ #[inline]
+ pub fn get_max_num_transactions(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(6),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_max_num_transactions(&self) -> bool {
+ !self.reader.get_pointer_field(6).is_null()
+ }
+ #[inline]
+ pub fn get_max_num_logs(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(7),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_max_num_logs(&self) -> bool {
+ !self.reader.get_pointer_field(7).is_null()
+ }
+ #[inline]
+ pub fn get_max_num_traces(
+ self,
+ ) -> ::capnp::Result> {
+ ::capnp::traits::FromPointerReader::get_from_pointer(
+ &self.reader.get_pointer_field(8),
+ ::core::option::Option::None,
+ )
+ }
+ #[inline]
+ pub fn has_max_num_traces(&self) -> bool {
+ !self.reader.get_pointer_field(8).is_null()
+ }
+ }
+
+ pub struct Builder<'a> {
+ builder: ::capnp::private::layout::StructBuilder<'a>,
+ }
+ impl ::capnp::traits::HasStructSize for Builder<'_> {
+ const STRUCT_SIZE: ::capnp::private::layout::StructSize =
+ ::capnp::private::layout::StructSize {
+ data: 1,
+ pointers: 9,
+ };
+ }
+ impl ::capnp::traits::HasTypeId for Builder<'_> {
+ const TYPE_ID: u64 = _private::TYPE_ID;
+ }
+ impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
+ fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
+ Self { builder }
+ }
+ }
+
+ impl<'a> ::core::convert::From> for ::capnp::dynamic_value::Builder<'a> {
+ fn from(builder: Builder<'a>) -> Self {
+ Self::Struct(::capnp::dynamic_struct::Builder::new(
+ builder.builder,
+ ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
+ generic: &_private::RAW_SCHEMA,
+ field_types: _private::get_field_types,
+ annotation_types: _private::get_annotation_types,
+ }),
+ ))
+ }
+ }
+
+ impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
+ fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
+ self.builder
+ .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
+ }
+ }
+
+ impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
+ fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
+ builder
+ .init_struct(::STRUCT_SIZE)
+ .into()
+ }
+ fn get_from_pointer(
+ builder: ::capnp::private::layout::PointerBuilder<'a>,
+ default: ::core::option::Option<&'a [::capnp::Word]>,
+ ) -> ::capnp::Result