// @generated by the capnpc-rust plugin to the Cap'n Proto schema compiler.
// DO NOT EDIT.
// source: capn/data_chain.capnp

pub mod block_header {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_offset(self) -> u64 {
            self.reader.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn get_height(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_previous_offset(self) -> u64 {
            self.reader.get_data_field::<u64>(2)
        }
        #[inline]
        pub fn get_previous_hash(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_previous_hash(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_proposed_operation_id(self) -> u64 {
            self.reader.get_data_field::<u64>(3)
        }
        #[inline]
        pub fn get_proposed_node_id(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        pub fn has_proposed_node_id(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_operations_size(self) -> u32 {
            self.reader.get_data_field::<u32>(8)
        }
        #[inline]
        pub fn get_operations_header(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Reader<
                'a,
                crate::data_chain_capnp::block_operation_header::Owned,
            >,
        > {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(2),
                ::core::option::Option::None,
            )
        }
        pub fn has_operations_header(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_operations_hash(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(3),
                ::core::option::Option::None,
            )
        }
        pub fn has_operations_hash(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_signatures_size(self) -> u16 {
            self.reader.get_data_field::<u16>(18)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_offset(self) -> u64 {
            self.builder.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn set_offset(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(0, value);
        }
        #[inline]
        pub fn get_height(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_height(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_previous_offset(self) -> u64 {
            self.builder.get_data_field::<u64>(2)
        }
        #[inline]
        pub fn set_previous_offset(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(2, value);
        }
        #[inline]
        pub fn get_previous_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_previous_hash(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(0).set_data(value);
        }
        #[inline]
        pub fn init_previous_hash(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(0).init_data(size)
        }
        pub fn has_previous_hash(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_proposed_operation_id(self) -> u64 {
            self.builder.get_data_field::<u64>(3)
        }
        #[inline]
        pub fn set_proposed_operation_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(3, value);
        }
        #[inline]
        pub fn get_proposed_node_id(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_proposed_node_id(&mut self, value: ::capnp::text::Reader<'_>) {
            self.builder.get_pointer_field(1).set_text(value);
        }
        #[inline]
        pub fn init_proposed_node_id(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(1).init_text(size)
        }
        pub fn has_proposed_node_id(&self) -> bool {
            !self.builder.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_operations_size(self) -> u32 {
            self.builder.get_data_field::<u32>(8)
        }
        #[inline]
        pub fn set_operations_size(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(8, value);
        }
        #[inline]
        pub fn get_operations_header(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Builder<
                'a,
                crate::data_chain_capnp::block_operation_header::Owned,
            >,
        > {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(2),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_operations_header(
            &mut self,
            value: ::capnp::struct_list::Reader<
                'a,
                crate::data_chain_capnp::block_operation_header::Owned,
            >,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                self.builder.get_pointer_field(2),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_operations_header(
            self,
            size: u32,
        ) -> ::capnp::struct_list::Builder<'a, crate::data_chain_capnp::block_operation_header::Owned>
        {
            ::capnp::traits::FromPointerBuilder::init_pointer(
                self.builder.get_pointer_field(2),
                size,
            )
        }
        pub fn has_operations_header(&self) -> bool {
            !self.builder.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_operations_hash(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_operations_hash(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(3).set_data(value);
        }
        #[inline]
        pub fn init_operations_hash(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(3).init_data(size)
        }
        pub fn has_operations_hash(&self) -> bool {
            !self.builder.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_signatures_size(self) -> u16 {
            self.builder.get_data_field::<u16>(18)
        }
        #[inline]
        pub fn set_signatures_size(&mut self, value: u16) {
            self.builder.set_data_field::<u16>(18, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 5,
            pointers: 4,
        };
        pub const TYPE_ID: u64 = 0xc58d_6c6b_8803_2108;
    }
}

pub mod block_partial_header {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_offset(self) -> u64 {
            self.reader.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn get_height(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_previous_offset(self) -> u64 {
            self.reader.get_data_field::<u64>(2)
        }
        #[inline]
        pub fn get_previous_hash(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_previous_hash(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_proposed_operation_id(self) -> u64 {
            self.reader.get_data_field::<u64>(3)
        }
        #[inline]
        pub fn get_proposed_node_id(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        pub fn has_proposed_node_id(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_block_size(self) -> u32 {
            self.reader.get_data_field::<u32>(8)
        }
        #[inline]
        pub fn get_block_hash(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(2),
                ::core::option::Option::None,
            )
        }
        pub fn has_block_hash(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_operations_size(self) -> u32 {
            self.reader.get_data_field::<u32>(9)
        }
        #[inline]
        pub fn get_signatures_size(self) -> u16 {
            self.reader.get_data_field::<u16>(20)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_offset(self) -> u64 {
            self.builder.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn set_offset(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(0, value);
        }
        #[inline]
        pub fn get_height(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_height(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_previous_offset(self) -> u64 {
            self.builder.get_data_field::<u64>(2)
        }
        #[inline]
        pub fn set_previous_offset(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(2, value);
        }
        #[inline]
        pub fn get_previous_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_previous_hash(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(0).set_data(value);
        }
        #[inline]
        pub fn init_previous_hash(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(0).init_data(size)
        }
        pub fn has_previous_hash(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_proposed_operation_id(self) -> u64 {
            self.builder.get_data_field::<u64>(3)
        }
        #[inline]
        pub fn set_proposed_operation_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(3, value);
        }
        #[inline]
        pub fn get_proposed_node_id(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_proposed_node_id(&mut self, value: ::capnp::text::Reader<'_>) {
            self.builder.get_pointer_field(1).set_text(value);
        }
        #[inline]
        pub fn init_proposed_node_id(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(1).init_text(size)
        }
        pub fn has_proposed_node_id(&self) -> bool {
            !self.builder.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_block_size(self) -> u32 {
            self.builder.get_data_field::<u32>(8)
        }
        #[inline]
        pub fn set_block_size(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(8, value);
        }
        #[inline]
        pub fn get_block_hash(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_block_hash(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(2).set_data(value);
        }
        #[inline]
        pub fn init_block_hash(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(2).init_data(size)
        }
        pub fn has_block_hash(&self) -> bool {
            !self.builder.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_operations_size(self) -> u32 {
            self.builder.get_data_field::<u32>(9)
        }
        #[inline]
        pub fn set_operations_size(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(9, value);
        }
        #[inline]
        pub fn get_signatures_size(self) -> u16 {
            self.builder.get_data_field::<u16>(20)
        }
        #[inline]
        pub fn set_signatures_size(&mut self, value: u16) {
            self.builder.set_data_field::<u16>(20, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 6,
            pointers: 3,
        };
        pub const TYPE_ID: u64 = 0x8886_1bf3_a190_09f5;
    }
}

pub mod block_operation_header {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_operation_id(self) -> u64 {
            self.reader.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn get_data_offset(self) -> u32 {
            self.reader.get_data_field::<u32>(2)
        }
        #[inline]
        pub fn get_data_size(self) -> u32 {
            self.reader.get_data_field::<u32>(3)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_operation_id(self) -> u64 {
            self.builder.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn set_operation_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(0, value);
        }
        #[inline]
        pub fn get_data_offset(self) -> u32 {
            self.builder.get_data_field::<u32>(2)
        }
        #[inline]
        pub fn set_data_offset(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(2, value);
        }
        #[inline]
        pub fn get_data_size(self) -> u32 {
            self.builder.get_data_field::<u32>(3)
        }
        #[inline]
        pub fn set_data_size(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(3, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 2,
            pointers: 0,
        };
        pub const TYPE_ID: u64 = 0xde80_ef8a_55f0_5b39;
    }
}

pub mod block_signatures {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_operations_size(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_signatures(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Reader<'a, crate::data_chain_capnp::block_signature::Owned>,
        > {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_signatures(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_operations_size(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_operations_size(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_signatures(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Builder<'a, crate::data_chain_capnp::block_signature::Owned>,
        > {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_signatures(
            &mut self,
            value: ::capnp::struct_list::Reader<
                'a,
                crate::data_chain_capnp::block_signature::Owned,
            >,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                self.builder.get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_signatures(
            self,
            size: u32,
        ) -> ::capnp::struct_list::Builder<'a, crate::data_chain_capnp::block_signature::Owned>
        {
            ::capnp::traits::FromPointerBuilder::init_pointer(
                self.builder.get_pointer_field(0),
                size,
            )
        }
        pub fn has_signatures(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 1,
            pointers: 1,
        };
        pub const TYPE_ID: u64 = 0xb047_454b_80d5_24a2;
    }
}

pub mod block_signature {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_node_id(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_node_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_node_signature(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        pub fn has_node_signature(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_node_id(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_node_id(&mut self, value: ::capnp::text::Reader<'_>) {
            self.builder.get_pointer_field(0).set_text(value);
        }
        #[inline]
        pub fn init_node_id(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(0).init_text(size)
        }
        pub fn has_node_id(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_node_signature(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_node_signature(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(1).set_data(value);
        }
        #[inline]
        pub fn init_node_signature(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(1).init_data(size)
        }
        pub fn has_node_signature(&self) -> bool {
            !self.builder.get_pointer_field(1).is_null()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 0,
            pointers: 2,
        };
        pub const TYPE_ID: u64 = 0x9a8c_3724_2354_1835;
    }
}

pub mod chain_operation {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_group_id(self) -> u64 {
            self.reader.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn get_operation_id(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_node_id(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_node_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_operation(
            self,
        ) -> crate::data_chain_capnp::chain_operation::operation::Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.reader)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_group_id(self) -> u64 {
            self.builder.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn set_group_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(0, value);
        }
        #[inline]
        pub fn get_operation_id(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_operation_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_node_id(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_node_id(&mut self, value: ::capnp::text::Reader<'_>) {
            self.builder.get_pointer_field(0).set_text(value);
        }
        #[inline]
        pub fn init_node_id(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(0).init_text(size)
        }
        pub fn has_node_id(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_operation(
            self,
        ) -> crate::data_chain_capnp::chain_operation::operation::Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(self.builder)
        }
        #[inline]
        pub fn init_operation(
            self,
        ) -> crate::data_chain_capnp::chain_operation::operation::Builder<'a> {
            self.builder.set_data_field::<u16>(8, 0);
            self.builder.get_pointer_field(1).clear();
            ::capnp::traits::FromStructBuilder::new(self.builder)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_operation(
            &self,
        ) -> crate::data_chain_capnp::chain_operation::operation::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.noop())
        }
    }
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 3,
            pointers: 2,
        };
        pub const TYPE_ID: u64 = 0xdda9_13d8_0bcd_ce98;
    }

    pub mod operation {
        pub use self::Which::{BlockPropose, BlockRefuse, BlockSign, Entry};

        #[derive(Copy, Clone)]
        pub struct Owned(());
        impl<'a> ::capnp::traits::Owned<'a> for Owned {
            type Reader = Reader<'a>;
            type Builder = Builder<'a>;
        }
        impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
            type Reader = Reader<'a>;
            type Builder = Builder<'a>;
        }
        impl ::capnp::traits::Pipelined for Owned {
            type Pipeline = Pipeline;
        }

        #[derive(Clone, Copy)]
        pub struct Reader<'a> {
            reader: ::capnp::private::layout::StructReader<'a>,
        }

        impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
            #[inline]
            fn type_id() -> u64 {
                _private::TYPE_ID
            }
        }
        impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
            fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
                Reader { reader }
            }
        }

        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<Reader<'a>> {
                ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                    reader.get_struct(default)?,
                ))
            }
        }

        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<'_> {
                Reader { ..*self }
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.reader.total_size()
            }
            pub fn has_entry(&self) -> bool {
                if self.reader.get_data_field::<u16>(8) != 0 {
                    return false;
                }
                !self.reader.get_pointer_field(1).is_null()
            }
            pub fn has_block_propose(&self) -> bool {
                if self.reader.get_data_field::<u16>(8) != 1 {
                    return false;
                }
                !self.reader.get_pointer_field(1).is_null()
            }
            pub fn has_block_sign(&self) -> bool {
                if self.reader.get_data_field::<u16>(8) != 2 {
                    return false;
                }
                !self.reader.get_pointer_field(1).is_null()
            }
            pub fn has_block_refuse(&self) -> bool {
                if self.reader.get_data_field::<u16>(8) != 3 {
                    return false;
                }
                !self.reader.get_pointer_field(1).is_null()
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
                match self.reader.get_data_field::<u16>(8) {
                    0 => ::core::result::Result::Ok(Entry(
                        ::capnp::traits::FromPointerReader::get_from_pointer(
                            &self.reader.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    1 => ::core::result::Result::Ok(BlockPropose(
                        ::capnp::traits::FromPointerReader::get_from_pointer(
                            &self.reader.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    2 => ::core::result::Result::Ok(BlockSign(
                        ::capnp::traits::FromPointerReader::get_from_pointer(
                            &self.reader.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    3 => ::core::result::Result::Ok(BlockRefuse(
                        ::capnp::traits::FromPointerReader::get_from_pointer(
                            &self.reader.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Builder<'a> {
            builder: ::capnp::private::layout::StructBuilder<'a>,
        }
        impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
            #[inline]
            fn struct_size() -> ::capnp::private::layout::StructSize {
                _private::STRUCT_SIZE
            }
        }
        impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
            #[inline]
            fn type_id() -> u64 {
                _private::TYPE_ID
            }
        }
        impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
            fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
                Builder { builder }
            }
        }

        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,
            ) -> Builder<'a> {
                ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
            }
            fn get_from_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                default: ::core::option::Option<&'a [capnp::Word]>,
            ) -> ::capnp::Result<Builder<'a>> {
                ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                    builder.get_struct(_private::STRUCT_SIZE, default)?,
                ))
            }
        }

        impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
            fn set_pointer_builder<'b>(
                pointer: ::capnp::private::layout::PointerBuilder<'b>,
                value: Reader<'a>,
                canonicalize: bool,
            ) -> ::capnp::Result<()> {
                pointer.set_struct(&value.reader, canonicalize)
            }
        }

        impl<'a> Builder<'a> {
            pub fn into_reader(self) -> Reader<'a> {
                ::capnp::traits::FromStructReader::new(self.builder.into_reader())
            }
            pub fn reborrow(&mut self) -> Builder<'_> {
                Builder { ..*self }
            }
            pub fn reborrow_as_reader(&self) -> Reader<'_> {
                ::capnp::traits::FromStructReader::new(self.builder.into_reader())
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.builder.into_reader().total_size()
            }
            #[inline]
            pub fn set_entry(
                &mut self,
                value: crate::data_chain_capnp::operation_entry::Reader<'_>,
            ) -> ::capnp::Result<()> {
                self.builder.set_data_field::<u16>(8, 0);
                ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                    self.builder.get_pointer_field(1),
                    value,
                    false,
                )
            }
            #[inline]
            pub fn init_entry(self) -> crate::data_chain_capnp::operation_entry::Builder<'a> {
                self.builder.set_data_field::<u16>(8, 0);
                ::capnp::traits::FromPointerBuilder::init_pointer(
                    self.builder.get_pointer_field(1),
                    0,
                )
            }
            pub fn has_entry(&self) -> bool {
                if self.builder.get_data_field::<u16>(8) != 0 {
                    return false;
                }
                !self.builder.get_pointer_field(1).is_null()
            }
            #[inline]
            pub fn set_block_propose(
                &mut self,
                value: crate::data_chain_capnp::operation_block_propose::Reader<'_>,
            ) -> ::capnp::Result<()> {
                self.builder.set_data_field::<u16>(8, 1);
                ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                    self.builder.get_pointer_field(1),
                    value,
                    false,
                )
            }
            #[inline]
            pub fn init_block_propose(
                self,
            ) -> crate::data_chain_capnp::operation_block_propose::Builder<'a> {
                self.builder.set_data_field::<u16>(8, 1);
                ::capnp::traits::FromPointerBuilder::init_pointer(
                    self.builder.get_pointer_field(1),
                    0,
                )
            }
            pub fn has_block_propose(&self) -> bool {
                if self.builder.get_data_field::<u16>(8) != 1 {
                    return false;
                }
                !self.builder.get_pointer_field(1).is_null()
            }
            #[inline]
            pub fn set_block_sign(
                &mut self,
                value: crate::data_chain_capnp::operation_block_sign::Reader<'_>,
            ) -> ::capnp::Result<()> {
                self.builder.set_data_field::<u16>(8, 2);
                ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                    self.builder.get_pointer_field(1),
                    value,
                    false,
                )
            }
            #[inline]
            pub fn init_block_sign(
                self,
            ) -> crate::data_chain_capnp::operation_block_sign::Builder<'a> {
                self.builder.set_data_field::<u16>(8, 2);
                ::capnp::traits::FromPointerBuilder::init_pointer(
                    self.builder.get_pointer_field(1),
                    0,
                )
            }
            pub fn has_block_sign(&self) -> bool {
                if self.builder.get_data_field::<u16>(8) != 2 {
                    return false;
                }
                !self.builder.get_pointer_field(1).is_null()
            }
            #[inline]
            pub fn set_block_refuse(
                &mut self,
                value: crate::data_chain_capnp::operation_block_refuse::Reader<'_>,
            ) -> ::capnp::Result<()> {
                self.builder.set_data_field::<u16>(8, 3);
                ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                    self.builder.get_pointer_field(1),
                    value,
                    false,
                )
            }
            #[inline]
            pub fn init_block_refuse(
                self,
            ) -> crate::data_chain_capnp::operation_block_refuse::Builder<'a> {
                self.builder.set_data_field::<u16>(8, 3);
                ::capnp::traits::FromPointerBuilder::init_pointer(
                    self.builder.get_pointer_field(1),
                    0,
                )
            }
            pub fn has_block_refuse(&self) -> bool {
                if self.builder.get_data_field::<u16>(8) != 3 {
                    return false;
                }
                !self.builder.get_pointer_field(1).is_null()
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
                match self.builder.get_data_field::<u16>(8) {
                    0 => ::core::result::Result::Ok(Entry(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(
                            self.builder.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    1 => ::core::result::Result::Ok(BlockPropose(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(
                            self.builder.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    2 => ::core::result::Result::Ok(BlockSign(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(
                            self.builder.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    3 => ::core::result::Result::Ok(BlockRefuse(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(
                            self.builder.get_pointer_field(1),
                            ::core::option::Option::None,
                        ),
                    )),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Pipeline {
            _typeless: ::capnp::any_pointer::Pipeline,
        }
        impl ::capnp::capability::FromTypelessPipeline for Pipeline {
            fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
                Pipeline {
                    _typeless: typeless,
                }
            }
        }
        impl Pipeline {}
        mod _private {
            use capnp::private::layout;
            pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
                data: 3,
                pointers: 2,
            };
            pub const TYPE_ID: u64 = 0x92f4_99c1_1b32_a280;
        }
        pub enum Which<A0, A1, A2, A3> {
            Entry(A0),
            BlockPropose(A1),
            BlockSign(A2),
            BlockRefuse(A3),
        }
        pub type WhichReader<'a> = Which<
            ::capnp::Result<crate::data_chain_capnp::operation_entry::Reader<'a>>,
            ::capnp::Result<crate::data_chain_capnp::operation_block_propose::Reader<'a>>,
            ::capnp::Result<crate::data_chain_capnp::operation_block_sign::Reader<'a>>,
            ::capnp::Result<crate::data_chain_capnp::operation_block_refuse::Reader<'a>>,
        >;
        pub type WhichBuilder<'a> = Which<
            ::capnp::Result<crate::data_chain_capnp::operation_entry::Builder<'a>>,
            ::capnp::Result<crate::data_chain_capnp::operation_block_propose::Builder<'a>>,
            ::capnp::Result<crate::data_chain_capnp::operation_block_sign::Builder<'a>>,
            ::capnp::Result<crate::data_chain_capnp::operation_block_refuse::Builder<'a>>,
        >;
    }
}

pub mod chain_operation_header {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_group_id(self) -> u64 {
            self.reader.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn get_operation_id(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_operation_signature(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_operation_signature(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_group_id(self) -> u64 {
            self.builder.get_data_field::<u64>(0)
        }
        #[inline]
        pub fn set_group_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(0, value);
        }
        #[inline]
        pub fn get_operation_id(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_operation_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_operation_signature(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_operation_signature(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(0).set_data(value);
        }
        #[inline]
        pub fn init_operation_signature(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(0).init_data(size)
        }
        pub fn has_operation_signature(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 2,
            pointers: 1,
        };
        pub const TYPE_ID: u64 = 0xc9d5_6deb_a28e_e415;
    }
}

pub mod operation_entry {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_data(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_data(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_data(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_data(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(0).set_data(value);
        }
        #[inline]
        pub fn init_data(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(0).init_data(size)
        }
        pub fn has_data(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 0,
            pointers: 1,
        };
        pub const TYPE_ID: u64 = 0xcb83_72a9_b21e_27a4;
    }
}

pub mod operation_block_propose {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_block(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_block(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_block(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_block(&mut self, value: ::capnp::data::Reader<'_>) {
            self.builder.get_pointer_field(0).set_data(value);
        }
        #[inline]
        pub fn init_block(self, size: u32) -> ::capnp::data::Builder<'a> {
            self.builder.get_pointer_field(0).init_data(size)
        }
        pub fn has_block(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 0,
            pointers: 1,
        };
        pub const TYPE_ID: u64 = 0x8bc6_8080_5ddc_f3d8;
    }
}

pub mod operation_block_sign {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_signature(
            self,
        ) -> ::capnp::Result<crate::data_chain_capnp::block_signature::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        pub fn has_signature(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
        #[inline]
        pub fn get_signature(
            self,
        ) -> ::capnp::Result<crate::data_chain_capnp::block_signature::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_signature(
            &mut self,
            value: crate::data_chain_capnp::block_signature::Reader<'_>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetPointerBuilder::set_pointer_builder(
                self.builder.get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_signature(self) -> crate::data_chain_capnp::block_signature::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        pub fn has_signature(&self) -> bool {
            !self.builder.get_pointer_field(0).is_null()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_signature(&self) -> crate::data_chain_capnp::block_signature::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
    }
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 0,
            pointers: 1,
        };
        pub const TYPE_ID: u64 = 0x98ca_78c9_8ff0_25b1;
    }
}

pub mod operation_block_refuse {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl<'a> ::capnp::traits::Owned<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl<'a> ::capnp::traits::OwnedStruct<'a> for Owned {
        type Reader = Reader<'a>;
        type Builder = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    #[derive(Clone, Copy)]
    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }

    impl<'a> ::capnp::traits::HasTypeId for Reader<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructReader<'a> for Reader<'a> {
        fn new(reader: ::capnp::private::layout::StructReader<'a>) -> Reader<'a> {
            Reader { reader }
        }
    }

    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<Reader<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructReader::new(
                reader.get_struct(default)?,
            ))
        }
    }

    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<'_> {
            Reader { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl<'a> ::capnp::traits::HasStructSize for Builder<'a> {
        #[inline]
        fn struct_size() -> ::capnp::private::layout::StructSize {
            _private::STRUCT_SIZE
        }
    }
    impl<'a> ::capnp::traits::HasTypeId for Builder<'a> {
        #[inline]
        fn type_id() -> u64 {
            _private::TYPE_ID
        }
    }
    impl<'a> ::capnp::traits::FromStructBuilder<'a> for Builder<'a> {
        fn new(builder: ::capnp::private::layout::StructBuilder<'a>) -> Builder<'a> {
            Builder { builder }
        }
    }

    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,
        ) -> Builder<'a> {
            ::capnp::traits::FromStructBuilder::new(builder.init_struct(_private::STRUCT_SIZE))
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [capnp::Word]>,
        ) -> ::capnp::Result<Builder<'a>> {
            ::core::result::Result::Ok(::capnp::traits::FromStructBuilder::new(
                builder.get_struct(_private::STRUCT_SIZE, default)?,
            ))
        }
    }

    impl<'a> ::capnp::traits::SetPointerBuilder for Reader<'a> {
        fn set_pointer_builder<'b>(
            pointer: ::capnp::private::layout::PointerBuilder<'b>,
            value: Reader<'a>,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder { ..*self }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            ::capnp::traits::FromStructReader::new(self.builder.into_reader())
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.into_reader().total_size()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Pipeline {
            Pipeline {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        use capnp::private::layout;
        pub const STRUCT_SIZE: layout::StructSize = layout::StructSize {
            data: 0,
            pointers: 0,
        };
        pub const TYPE_ID: u64 = 0xa331_e858_deb0_3ce5;
    }
}
