diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 53aa314..dd48405 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,6 +8,10 @@ on: branches: - main +# All jobs only read the repo (build/test/lint/package/codegen-check/fuzz). +permissions: + contents: read + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -70,6 +74,32 @@ jobs: cargo package -p hypersync-net-types cargo package -p hypersync-client + check_capnp_generated: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + # The capnpc plugin and the `capnp` runtime are released in lockstep, so + # the Dockerfile's pinned capnpc must match every `capnp` Cargo dependency. + - name: Check capnpc version matches the capnp dependency + run: | + expected=$(sed -nE 's/^ARG CAPNPC_VERSION=([0-9]+\.[0-9]+).*/\1/p' hypersync-net-types/capnp-codegen.Dockerfile) + status=0 + for f in $(grep -rl -E '^capnp = "' --include=Cargo.toml .); do + ver=$(sed -nE 's/^capnp = "([0-9]+\.[0-9]+).*/\1/p' "$f") + if [ "$ver" != "$expected" ]; then + echo "::error file=$f::capnp = \"$ver\" does not match the pinned capnpc $expected in capnp-codegen.Dockerfile" + status=1 + fi + done + [ "$status" -eq 0 ] && echo "capnp/capnpc versions aligned ($expected)" + exit $status + - name: Regenerate capnp code + run: make -C hypersync-net-types generate_capnp_types + - name: Verify committed capnp code is up to date + run: | + git diff --exit-code -- hypersync-net-types/src/__generated__ \ + || (echo "::error::Committed capnp code is out of date. Run 'make -C hypersync-net-types generate_capnp_types' and commit the result." && exit 1) + lint: runs-on: ubuntu-latest steps: diff --git a/hypersync-net-types/.dockerignore b/hypersync-net-types/.dockerignore new file mode 100644 index 0000000..4c87a4c --- /dev/null +++ b/hypersync-net-types/.dockerignore @@ -0,0 +1,4 @@ +# Keep the build context minimal: only the schema is needed for codegen. +# If the schema ever `import`s another .capnp file, un-ignore it here too. +* +!hypersync_net_types.capnp diff --git a/hypersync-net-types/Makefile b/hypersync-net-types/Makefile index c9e7ef3..5d8d62e 100644 --- a/hypersync-net-types/Makefile +++ b/hypersync-net-types/Makefile @@ -1,8 +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 + DOCKER_BUILDKIT=1 docker build -f capnp-codegen.Dockerfile --target export \ + --output type=local,dest=src/__generated__ . clean_generated_capnp_types: rm -f src/__generated__/hypersync_net_types_capnp.rs diff --git a/hypersync-net-types/capnp-codegen.Dockerfile b/hypersync-net-types/capnp-codegen.Dockerfile new file mode 100644 index 0000000..93addc0 --- /dev/null +++ b/hypersync-net-types/capnp-codegen.Dockerfile @@ -0,0 +1,25 @@ +# Pinned toolchain for deterministic Cap'n Proto code generation. Generating +# inside this image keeps the committed output byte-for-byte reproducible across +# developer machines and CI, regardless of the host's capnp/rustfmt versions. +FROM rust:1.94-slim-trixie@sha256:cf09adf8c3ebaba10779e5c23ff7fe4df4cccdab8a91f199b0c142c53fef3e1a AS codegen + +# Must stay compatible with the `capnp` runtime dependency in Cargo.toml. +ARG CAPNPC_VERSION=0.23.2 +# The capnp compiler version affects the generated schema blobs, so pin it too. +ARG CAPNPROTO_VERSION=1.1.0-2 + +RUN apt-get update \ + && apt-get install -y --no-install-recommends "capnproto=${CAPNPROTO_VERSION}" \ + && rm -rf /var/lib/apt/lists/* +RUN rustup component add rustfmt +RUN cargo install capnpc --version "=${CAPNPC_VERSION}" --locked + +WORKDIR /work +COPY hypersync_net_types.capnp . +RUN mkdir -p out \ + && capnp compile hypersync_net_types.capnp -o rust:out \ + && rustfmt out/hypersync_net_types_capnp.rs + +# Minimal stage so `docker build --output` exports only the generated file. +FROM scratch AS export +COPY --from=codegen /work/out/hypersync_net_types_capnp.rs / diff --git a/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs b/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs index 7cfc853..bccf1fd 100644 --- a/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs +++ b/hypersync-net-types/src/__generated__/hypersync_net_types_capnp.rs @@ -323,13 +323,14 @@ pub mod query_response_data { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 81] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 82] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(22, 0, 0, 0, 138, 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), @@ -412,14 +413,14 @@ pub mod query_response_data { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -732,13 +733,14 @@ pub mod rollback_guard { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 99] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 100] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(140, 0, 0, 0, 43, 1, 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), @@ -840,14 +842,14 @@ pub mod rollback_guard { 2 => ::introspect(), 3 => ::introspect(), 4 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -1198,13 +1200,14 @@ pub mod query_response { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 99] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 100] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(45, 1, 0, 0, 228, 1, 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), @@ -1306,14 +1309,14 @@ pub mod query_response { 2 => ::introspect(), 3 => ::introspect(), 4 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -1556,13 +1559,14 @@ pub mod cached_query_response { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 28] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 29] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(13, 163, 224, 48, 162, 54, 215, 144), ::capnp::word(26, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146), ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(230, 1, 0, 0, 99, 2, 0, 0), ::capnp::word(21, 0, 0, 0, 114, 1, 0, 0), ::capnp::word(41, 0, 0, 0, 7, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), @@ -1589,14 +1593,14 @@ pub mod cached_query_response { pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { match index { 0 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -1889,13 +1893,14 @@ pub mod cached_query_response { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 52] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 53] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(88, 76, 83, 210, 227, 145, 72, 201), ::capnp::word(46, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(13, 163, 224, 48, 162, 54, 215, 144), ::capnp::word(1, 0, 7, 0, 1, 0, 2, 0), ::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, 170, 1, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), @@ -1947,14 +1952,14 @@ pub mod cached_query_response { match index { 0 => ::introspect(), 1 => <() as ::capnp::introspect::Introspect>::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -2356,13 +2361,14 @@ pub mod selection { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 52] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 53] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(101, 2, 0, 0, 162, 2, 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), @@ -2417,7 +2423,7 @@ pub mod selection { match index { 0 => ::introspect(), 1 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::introspect::panic_invalid_field_index(index), } } pub fn get_annotation_types( @@ -2427,7 +2433,7 @@ pub mod selection { where T: ::capnp::traits::Owned, { - panic!("invalid annotation indices ({:?}, {}) ", child_index, index) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -2718,13 +2724,14 @@ pub mod block_filter { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 57] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 58] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(165, 2, 0, 0, 238, 2, 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), @@ -2781,14 +2788,14 @@ pub mod block_filter { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -3122,13 +3129,14 @@ pub mod log_filter { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 77] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 78] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(241, 2, 0, 0, 94, 3, 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), @@ -3206,14 +3214,14 @@ pub mod log_filter { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -3510,13 +3518,14 @@ pub mod authorization_selection { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 59] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 60] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(96, 3, 0, 0, 187, 3, 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), @@ -3575,14 +3584,14 @@ pub mod authorization_selection { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -4228,13 +4237,14 @@ pub mod transaction_filter { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 220] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 221] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(189, 3, 0, 0, 34, 5, 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), @@ -4463,14 +4473,14 @@ pub mod transaction_filter { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -5051,13 +5061,14 @@ pub mod trace_filter { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 202] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 203] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(36, 5, 0, 0, 67, 6, 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), @@ -5267,14 +5278,14 @@ pub mod trace_filter { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -5704,13 +5715,14 @@ pub mod field_selection { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 97] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 98] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(69, 6, 0, 0, 230, 6, 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), @@ -5809,14 +5821,14 @@ pub mod field_selection { 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), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -5885,13 +5897,14 @@ 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), + pub static ENCODED_NODE: [::capnp::Word; 33] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(232, 6, 0, 0, 45, 7, 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), @@ -5920,7 +5933,7 @@ mod join_mode { ::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } } @@ -6027,13 +6040,14 @@ 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), + pub static ENCODED_NODE: [::capnp::Word; 154] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(47, 7, 0, 0, 99, 9, 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), @@ -6183,7 +6197,7 @@ mod block_field { ::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } } @@ -6327,13 +6341,14 @@ 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), + pub static ENCODED_NODE: [::capnp::Word; 241] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(101, 9, 0, 0, 254, 12, 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), @@ -6570,7 +6585,7 @@ mod transaction_field { ::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } } @@ -6645,13 +6660,14 @@ 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), + pub static ENCODED_NODE: [::capnp::Word; 74] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(0, 13, 0, 0, 228, 13, 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), @@ -6721,7 +6737,7 @@ mod log_field { ::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } } @@ -6822,13 +6838,14 @@ 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), + pub static ENCODED_NODE: [::capnp::Word; 131] = [ + ::capnp::word(0, 0, 0, 0, 6, 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(230, 13, 0, 0, 172, 15, 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), @@ -6955,7 +6972,7 @@ mod trace_field { ::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } } @@ -7715,13 +7732,14 @@ pub mod query_body { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 258] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 259] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(237, 135, 130, 51, 42, 10, 136, 130), ::capnp::word(26, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146), ::capnp::word(9, 0, 7, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(174, 15, 0, 0, 100, 17, 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), @@ -7988,14 +8006,14 @@ pub mod query_body { 8 => ::introspect(), 9 => ::introspect(), 10 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -8269,13 +8287,14 @@ pub mod block_range { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 50] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 51] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(186, 223, 151, 95, 15, 240, 183, 229), ::capnp::word(26, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146), ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(102, 17, 0, 0, 176, 17, 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), @@ -8325,14 +8344,14 @@ pub mod block_range { match index { 0 => ::introspect(), 1 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -8625,13 +8644,14 @@ pub mod request { } } mod _private { - pub static ENCODED_NODE: [::capnp::Word; 59] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 60] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(84, 0, 180, 54, 227, 78, 133, 190), ::capnp::word(26, 0, 0, 0, 1, 0, 1, 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(213, 18, 0, 0, 134, 19, 0, 0), ::capnp::word(21, 0, 0, 0, 18, 1, 0, 0), ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), @@ -8691,14 +8711,14 @@ pub mod request { 0 => ::introspect(), 1 => ::introspect(), 2 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -9019,13 +9039,14 @@ pub mod request { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 48] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 49] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(11, 115, 36, 192, 91, 123, 70, 177), ::capnp::word(34, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(84, 0, 180, 54, 227, 78, 133, 190), ::capnp::word(2, 0, 7, 0, 1, 0, 2, 0), ::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, 58, 1, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), @@ -9073,14 +9094,14 @@ pub mod request { match index { 0 => ::introspect(), 1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -9322,13 +9343,14 @@ pub mod opt_u_int64 { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 34] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 35] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(145, 156, 229, 39, 5, 172, 222, 134), ::capnp::word(26, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146), ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(136, 19, 0, 0, 178, 19, 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), @@ -9361,14 +9383,14 @@ pub mod opt_u_int64 { pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { match index { 0 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema { @@ -9597,13 +9619,14 @@ pub mod opt_u_int8 { } impl Pipeline {} mod _private { - pub static ENCODED_NODE: [::capnp::Word; 34] = [ - ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), + pub static ENCODED_NODE: [::capnp::Word; 35] = [ + ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0), ::capnp::word(50, 179, 230, 200, 42, 167, 255, 167), ::capnp::word(26, 0, 0, 0, 1, 0, 1, 0), ::capnp::word(197, 128, 248, 24, 106, 165, 137, 146), ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(180, 19, 0, 0, 220, 19, 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), @@ -9636,14 +9659,14 @@ pub mod opt_u_int8 { pub fn get_field_types(index: u16) -> ::capnp::introspect::Type { match index { 0 => ::introspect(), - _ => panic!("invalid field index {}", index), + _ => ::capnp::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) + ::capnp::introspect::panic_invalid_annotation_indices(child_index, index) } pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {