// This file is generated by rust-protobuf 3.3.0. Do not edit // .proto file is parsed by protoc 3.20.1 // @generated // https://github.com/rust-lang/rust-clippy/issues/702 #![allow(unknown_lints)] #![allow(clippy::all)] #![allow(unused_attributes)] #![cfg_attr(rustfmt, rustfmt::skip)] #![allow(box_pointers)] #![allow(dead_code)] #![allow(missing_docs)] #![allow(non_camel_case_types)] #![allow(non_snake_case)] #![allow(non_upper_case_globals)] #![allow(trivial_casts)] #![allow(unused_results)] #![allow(unused_mut)] //! Generated file from `messages-bitcoin.proto` /// Generated files are compatible only with the same version /// of protobuf runtime. const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_3_0; // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.MultisigRedeemScriptType) #[derive(PartialEq,Clone,Default,Debug)] pub struct MultisigRedeemScriptType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.pubkeys) pub pubkeys: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.signatures) pub signatures: ::std::vec::Vec<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.m) pub m: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.nodes) pub nodes: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.address_n) pub address_n: ::std::vec::Vec, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a MultisigRedeemScriptType { fn default() -> &'a MultisigRedeemScriptType { ::default_instance() } } impl MultisigRedeemScriptType { pub fn new() -> MultisigRedeemScriptType { ::std::default::Default::default() } // required uint32 m = 3; pub fn m(&self) -> u32 { self.m.unwrap_or(0) } pub fn clear_m(&mut self) { self.m = ::std::option::Option::None; } pub fn has_m(&self) -> bool { self.m.is_some() } // Param is passed by value, moved pub fn set_m(&mut self, v: u32) { self.m = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "pubkeys", |m: &MultisigRedeemScriptType| { &m.pubkeys }, |m: &mut MultisigRedeemScriptType| { &mut m.pubkeys }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "signatures", |m: &MultisigRedeemScriptType| { &m.signatures }, |m: &mut MultisigRedeemScriptType| { &mut m.signatures }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "m", |m: &MultisigRedeemScriptType| { &m.m }, |m: &mut MultisigRedeemScriptType| { &mut m.m }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "nodes", |m: &MultisigRedeemScriptType| { &m.nodes }, |m: &mut MultisigRedeemScriptType| { &mut m.nodes }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &MultisigRedeemScriptType| { &m.address_n }, |m: &mut MultisigRedeemScriptType| { &mut m.address_n }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "MultisigRedeemScriptType", fields, oneofs, ) } } impl ::protobuf::Message for MultisigRedeemScriptType { const NAME: &'static str = "MultisigRedeemScriptType"; fn is_initialized(&self) -> bool { if self.m.is_none() { return false; } for v in &self.pubkeys { if !v.is_initialized() { return false; } }; for v in &self.nodes { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.pubkeys.push(is.read_message()?); }, 18 => { self.signatures.push(is.read_bytes()?); }, 24 => { self.m = ::std::option::Option::Some(is.read_uint32()?); }, 34 => { self.nodes.push(is.read_message()?); }, 42 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 40 => { self.address_n.push(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.pubkeys { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; }; for value in &self.signatures { my_size += ::protobuf::rt::bytes_size(2, &value); }; if let Some(v) = self.m { my_size += ::protobuf::rt::uint32_size(3, v); } for value in &self.nodes { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; }; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(5, *value); }; my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.pubkeys { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; }; for v in &self.signatures { os.write_bytes(2, &v)?; }; if let Some(v) = self.m { os.write_uint32(3, v)?; } for v in &self.nodes { ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?; }; for v in &self.address_n { os.write_uint32(5, *v)?; }; os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> MultisigRedeemScriptType { MultisigRedeemScriptType::new() } fn clear(&mut self) { self.pubkeys.clear(); self.signatures.clear(); self.m = ::std::option::Option::None; self.nodes.clear(); self.address_n.clear(); self.special_fields.clear(); } fn default_instance() -> &'static MultisigRedeemScriptType { static instance: MultisigRedeemScriptType = MultisigRedeemScriptType { pubkeys: ::std::vec::Vec::new(), signatures: ::std::vec::Vec::new(), m: ::std::option::Option::None, nodes: ::std::vec::Vec::new(), address_n: ::std::vec::Vec::new(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for MultisigRedeemScriptType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("MultisigRedeemScriptType").unwrap()).clone() } } impl ::std::fmt::Display for MultisigRedeemScriptType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for MultisigRedeemScriptType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `MultisigRedeemScriptType` pub mod multisig_redeem_script_type { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.HDNodePathType) #[derive(PartialEq,Clone,Default,Debug)] pub struct HDNodePathType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.HDNodePathType.node) pub node: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.HDNodePathType.address_n) pub address_n: ::std::vec::Vec, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.MultisigRedeemScriptType.HDNodePathType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a HDNodePathType { fn default() -> &'a HDNodePathType { ::default_instance() } } impl HDNodePathType { pub fn new() -> HDNodePathType { ::std::default::Default::default() } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(2); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::super::messages_common::HDNodeType>( "node", |m: &HDNodePathType| { &m.node }, |m: &mut HDNodePathType| { &mut m.node }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &HDNodePathType| { &m.address_n }, |m: &mut HDNodePathType| { &mut m.address_n }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "MultisigRedeemScriptType.HDNodePathType", fields, oneofs, ) } } impl ::protobuf::Message for HDNodePathType { const NAME: &'static str = "HDNodePathType"; fn is_initialized(&self) -> bool { if self.node.is_none() { return false; } for v in &self.node { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.node)?; }, 18 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 16 => { self.address_n.push(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.node.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(2, *value); }; my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.node.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } for v in &self.address_n { os.write_uint32(2, *v)?; }; os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> HDNodePathType { HDNodePathType::new() } fn clear(&mut self) { self.node.clear(); self.address_n.clear(); self.special_fields.clear(); } fn default_instance() -> &'static HDNodePathType { static instance: HDNodePathType = HDNodePathType { node: ::protobuf::MessageField::none(), address_n: ::std::vec::Vec::new(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for HDNodePathType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("MultisigRedeemScriptType.HDNodePathType").unwrap()).clone() } } impl ::std::fmt::Display for HDNodePathType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for HDNodePathType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.GetPublicKey) #[derive(PartialEq,Clone,Default,Debug)] pub struct GetPublicKey { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetPublicKey.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetPublicKey.ecdsa_curve_name) pub ecdsa_curve_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetPublicKey.show_display) pub show_display: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetPublicKey.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetPublicKey.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetPublicKey.ignore_xpub_magic) pub ignore_xpub_magic: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.GetPublicKey.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a GetPublicKey { fn default() -> &'a GetPublicKey { ::default_instance() } } impl GetPublicKey { pub fn new() -> GetPublicKey { ::std::default::Default::default() } // optional string ecdsa_curve_name = 2; pub fn ecdsa_curve_name(&self) -> &str { match self.ecdsa_curve_name.as_ref() { Some(v) => v, None => "", } } pub fn clear_ecdsa_curve_name(&mut self) { self.ecdsa_curve_name = ::std::option::Option::None; } pub fn has_ecdsa_curve_name(&self) -> bool { self.ecdsa_curve_name.is_some() } // Param is passed by value, moved pub fn set_ecdsa_curve_name(&mut self, v: ::std::string::String) { self.ecdsa_curve_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_ecdsa_curve_name(&mut self) -> &mut ::std::string::String { if self.ecdsa_curve_name.is_none() { self.ecdsa_curve_name = ::std::option::Option::Some(::std::string::String::new()); } self.ecdsa_curve_name.as_mut().unwrap() } // Take field pub fn take_ecdsa_curve_name(&mut self) -> ::std::string::String { self.ecdsa_curve_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional bool show_display = 3; pub fn show_display(&self) -> bool { self.show_display.unwrap_or(false) } pub fn clear_show_display(&mut self) { self.show_display = ::std::option::Option::None; } pub fn has_show_display(&self) -> bool { self.show_display.is_some() } // Param is passed by value, moved pub fn set_show_display(&mut self, v: bool) { self.show_display = ::std::option::Option::Some(v); } // optional string coin_name = 4; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 5; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDADDRESS), None => InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bool ignore_xpub_magic = 6; pub fn ignore_xpub_magic(&self) -> bool { self.ignore_xpub_magic.unwrap_or(false) } pub fn clear_ignore_xpub_magic(&mut self) { self.ignore_xpub_magic = ::std::option::Option::None; } pub fn has_ignore_xpub_magic(&self) -> bool { self.ignore_xpub_magic.is_some() } // Param is passed by value, moved pub fn set_ignore_xpub_magic(&mut self, v: bool) { self.ignore_xpub_magic = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(6); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &GetPublicKey| { &m.address_n }, |m: &mut GetPublicKey| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ecdsa_curve_name", |m: &GetPublicKey| { &m.ecdsa_curve_name }, |m: &mut GetPublicKey| { &mut m.ecdsa_curve_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "show_display", |m: &GetPublicKey| { &m.show_display }, |m: &mut GetPublicKey| { &mut m.show_display }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &GetPublicKey| { &m.coin_name }, |m: &mut GetPublicKey| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &GetPublicKey| { &m.script_type }, |m: &mut GetPublicKey| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ignore_xpub_magic", |m: &GetPublicKey| { &m.ignore_xpub_magic }, |m: &mut GetPublicKey| { &mut m.ignore_xpub_magic }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "GetPublicKey", fields, oneofs, ) } } impl ::protobuf::Message for GetPublicKey { const NAME: &'static str = "GetPublicKey"; fn is_initialized(&self) -> bool { true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.ecdsa_curve_name = ::std::option::Option::Some(is.read_string()?); }, 24 => { self.show_display = ::std::option::Option::Some(is.read_bool()?); }, 34 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 40 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 48 => { self.ignore_xpub_magic = ::std::option::Option::Some(is.read_bool()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.ecdsa_curve_name.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.show_display { my_size += 1 + 1; } if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(4, &v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(5, v.value()); } if let Some(v) = self.ignore_xpub_magic { my_size += 1 + 1; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.ecdsa_curve_name.as_ref() { os.write_string(2, v)?; } if let Some(v) = self.show_display { os.write_bool(3, v)?; } if let Some(v) = self.coin_name.as_ref() { os.write_string(4, v)?; } if let Some(v) = self.script_type { os.write_enum(5, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.ignore_xpub_magic { os.write_bool(6, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> GetPublicKey { GetPublicKey::new() } fn clear(&mut self) { self.address_n.clear(); self.ecdsa_curve_name = ::std::option::Option::None; self.show_display = ::std::option::Option::None; self.coin_name = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.ignore_xpub_magic = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static GetPublicKey { static instance: GetPublicKey = GetPublicKey { address_n: ::std::vec::Vec::new(), ecdsa_curve_name: ::std::option::Option::None, show_display: ::std::option::Option::None, coin_name: ::std::option::Option::None, script_type: ::std::option::Option::None, ignore_xpub_magic: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for GetPublicKey { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("GetPublicKey").unwrap()).clone() } } impl ::std::fmt::Display for GetPublicKey { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for GetPublicKey { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.PublicKey) #[derive(PartialEq,Clone,Default,Debug)] pub struct PublicKey { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PublicKey.node) pub node: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PublicKey.xpub) pub xpub: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PublicKey.root_fingerprint) pub root_fingerprint: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PublicKey.descriptor) pub descriptor: ::std::option::Option<::std::string::String>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.PublicKey.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a PublicKey { fn default() -> &'a PublicKey { ::default_instance() } } impl PublicKey { pub fn new() -> PublicKey { ::std::default::Default::default() } // required string xpub = 2; pub fn xpub(&self) -> &str { match self.xpub.as_ref() { Some(v) => v, None => "", } } pub fn clear_xpub(&mut self) { self.xpub = ::std::option::Option::None; } pub fn has_xpub(&self) -> bool { self.xpub.is_some() } // Param is passed by value, moved pub fn set_xpub(&mut self, v: ::std::string::String) { self.xpub = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_xpub(&mut self) -> &mut ::std::string::String { if self.xpub.is_none() { self.xpub = ::std::option::Option::Some(::std::string::String::new()); } self.xpub.as_mut().unwrap() } // Take field pub fn take_xpub(&mut self) -> ::std::string::String { self.xpub.take().unwrap_or_else(|| ::std::string::String::new()) } // optional uint32 root_fingerprint = 3; pub fn root_fingerprint(&self) -> u32 { self.root_fingerprint.unwrap_or(0) } pub fn clear_root_fingerprint(&mut self) { self.root_fingerprint = ::std::option::Option::None; } pub fn has_root_fingerprint(&self) -> bool { self.root_fingerprint.is_some() } // Param is passed by value, moved pub fn set_root_fingerprint(&mut self, v: u32) { self.root_fingerprint = ::std::option::Option::Some(v); } // optional string descriptor = 4; pub fn descriptor(&self) -> &str { match self.descriptor.as_ref() { Some(v) => v, None => "", } } pub fn clear_descriptor(&mut self) { self.descriptor = ::std::option::Option::None; } pub fn has_descriptor(&self) -> bool { self.descriptor.is_some() } // Param is passed by value, moved pub fn set_descriptor(&mut self, v: ::std::string::String) { self.descriptor = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_descriptor(&mut self) -> &mut ::std::string::String { if self.descriptor.is_none() { self.descriptor = ::std::option::Option::Some(::std::string::String::new()); } self.descriptor.as_mut().unwrap() } // Take field pub fn take_descriptor(&mut self) -> ::std::string::String { self.descriptor.take().unwrap_or_else(|| ::std::string::String::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(4); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::messages_common::HDNodeType>( "node", |m: &PublicKey| { &m.node }, |m: &mut PublicKey| { &mut m.node }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "xpub", |m: &PublicKey| { &m.xpub }, |m: &mut PublicKey| { &mut m.xpub }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "root_fingerprint", |m: &PublicKey| { &m.root_fingerprint }, |m: &mut PublicKey| { &mut m.root_fingerprint }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "descriptor", |m: &PublicKey| { &m.descriptor }, |m: &mut PublicKey| { &mut m.descriptor }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "PublicKey", fields, oneofs, ) } } impl ::protobuf::Message for PublicKey { const NAME: &'static str = "PublicKey"; fn is_initialized(&self) -> bool { if self.node.is_none() { return false; } if self.xpub.is_none() { return false; } for v in &self.node { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.node)?; }, 18 => { self.xpub = ::std::option::Option::Some(is.read_string()?); }, 24 => { self.root_fingerprint = ::std::option::Option::Some(is.read_uint32()?); }, 34 => { self.descriptor = ::std::option::Option::Some(is.read_string()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.node.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.xpub.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.root_fingerprint { my_size += ::protobuf::rt::uint32_size(3, v); } if let Some(v) = self.descriptor.as_ref() { my_size += ::protobuf::rt::string_size(4, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.node.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } if let Some(v) = self.xpub.as_ref() { os.write_string(2, v)?; } if let Some(v) = self.root_fingerprint { os.write_uint32(3, v)?; } if let Some(v) = self.descriptor.as_ref() { os.write_string(4, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> PublicKey { PublicKey::new() } fn clear(&mut self) { self.node.clear(); self.xpub = ::std::option::Option::None; self.root_fingerprint = ::std::option::Option::None; self.descriptor = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static PublicKey { static instance: PublicKey = PublicKey { node: ::protobuf::MessageField::none(), xpub: ::std::option::Option::None, root_fingerprint: ::std::option::Option::None, descriptor: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for PublicKey { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("PublicKey").unwrap()).clone() } } impl ::std::fmt::Display for PublicKey { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for PublicKey { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.GetAddress) #[derive(PartialEq,Clone,Default,Debug)] pub struct GetAddress { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.show_display) pub show_display: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.ignore_xpub_magic) pub ignore_xpub_magic: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetAddress.chunkify) pub chunkify: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.GetAddress.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a GetAddress { fn default() -> &'a GetAddress { ::default_instance() } } impl GetAddress { pub fn new() -> GetAddress { ::std::default::Default::default() } // optional string coin_name = 2; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional bool show_display = 3; pub fn show_display(&self) -> bool { self.show_display.unwrap_or(false) } pub fn clear_show_display(&mut self) { self.show_display = ::std::option::Option::None; } pub fn has_show_display(&self) -> bool { self.show_display.is_some() } // Param is passed by value, moved pub fn set_show_display(&mut self, v: bool) { self.show_display = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 5; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDADDRESS), None => InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bool ignore_xpub_magic = 6; pub fn ignore_xpub_magic(&self) -> bool { self.ignore_xpub_magic.unwrap_or(false) } pub fn clear_ignore_xpub_magic(&mut self) { self.ignore_xpub_magic = ::std::option::Option::None; } pub fn has_ignore_xpub_magic(&self) -> bool { self.ignore_xpub_magic.is_some() } // Param is passed by value, moved pub fn set_ignore_xpub_magic(&mut self, v: bool) { self.ignore_xpub_magic = ::std::option::Option::Some(v); } // optional bool chunkify = 7; pub fn chunkify(&self) -> bool { self.chunkify.unwrap_or(false) } pub fn clear_chunkify(&mut self) { self.chunkify = ::std::option::Option::None; } pub fn has_chunkify(&self) -> bool { self.chunkify.is_some() } // Param is passed by value, moved pub fn set_chunkify(&mut self, v: bool) { self.chunkify = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(7); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &GetAddress| { &m.address_n }, |m: &mut GetAddress| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &GetAddress| { &m.coin_name }, |m: &mut GetAddress| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "show_display", |m: &GetAddress| { &m.show_display }, |m: &mut GetAddress| { &mut m.show_display }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, MultisigRedeemScriptType>( "multisig", |m: &GetAddress| { &m.multisig }, |m: &mut GetAddress| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &GetAddress| { &m.script_type }, |m: &mut GetAddress| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ignore_xpub_magic", |m: &GetAddress| { &m.ignore_xpub_magic }, |m: &mut GetAddress| { &mut m.ignore_xpub_magic }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "chunkify", |m: &GetAddress| { &m.chunkify }, |m: &mut GetAddress| { &mut m.chunkify }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "GetAddress", fields, oneofs, ) } } impl ::protobuf::Message for GetAddress { const NAME: &'static str = "GetAddress"; fn is_initialized(&self) -> bool { for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 24 => { self.show_display = ::std::option::Option::Some(is.read_bool()?); }, 34 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 40 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 48 => { self.ignore_xpub_magic = ::std::option::Option::Some(is.read_bool()?); }, 56 => { self.chunkify = ::std::option::Option::Some(is.read_bool()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.show_display { my_size += 1 + 1; } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(5, v.value()); } if let Some(v) = self.ignore_xpub_magic { my_size += 1 + 1; } if let Some(v) = self.chunkify { my_size += 1 + 1; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.coin_name.as_ref() { os.write_string(2, v)?; } if let Some(v) = self.show_display { os.write_bool(3, v)?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?; } if let Some(v) = self.script_type { os.write_enum(5, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.ignore_xpub_magic { os.write_bool(6, v)?; } if let Some(v) = self.chunkify { os.write_bool(7, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> GetAddress { GetAddress::new() } fn clear(&mut self) { self.address_n.clear(); self.coin_name = ::std::option::Option::None; self.show_display = ::std::option::Option::None; self.multisig.clear(); self.script_type = ::std::option::Option::None; self.ignore_xpub_magic = ::std::option::Option::None; self.chunkify = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static GetAddress { static instance: GetAddress = GetAddress { address_n: ::std::vec::Vec::new(), coin_name: ::std::option::Option::None, show_display: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), script_type: ::std::option::Option::None, ignore_xpub_magic: ::std::option::Option::None, chunkify: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for GetAddress { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("GetAddress").unwrap()).clone() } } impl ::std::fmt::Display for GetAddress { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for GetAddress { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.Address) #[derive(PartialEq,Clone,Default,Debug)] pub struct Address { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.Address.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.Address.mac) pub mac: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.Address.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a Address { fn default() -> &'a Address {
::default_instance() } } impl Address { pub fn new() -> Address { ::std::default::Default::default() } // required string address = 1; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // optional bytes mac = 2; pub fn mac(&self) -> &[u8] { match self.mac.as_ref() { Some(v) => v, None => &[], } } pub fn clear_mac(&mut self) { self.mac = ::std::option::Option::None; } pub fn has_mac(&self) -> bool { self.mac.is_some() } // Param is passed by value, moved pub fn set_mac(&mut self, v: ::std::vec::Vec) { self.mac = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_mac(&mut self) -> &mut ::std::vec::Vec { if self.mac.is_none() { self.mac = ::std::option::Option::Some(::std::vec::Vec::new()); } self.mac.as_mut().unwrap() } // Take field pub fn take_mac(&mut self) -> ::std::vec::Vec { self.mac.take().unwrap_or_else(|| ::std::vec::Vec::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(2); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &Address| { &m.address }, |m: &mut Address| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "mac", |m: &Address| { &m.mac }, |m: &mut Address| { &mut m.mac }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::
( "Address", fields, oneofs, ) } } impl ::protobuf::Message for Address { const NAME: &'static str = "Address"; fn is_initialized(&self) -> bool { if self.address.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 18 => { self.mac = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } if let Some(v) = self.mac.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.address.as_ref() { os.write_string(1, v)?; } if let Some(v) = self.mac.as_ref() { os.write_bytes(2, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> Address { Address::new() } fn clear(&mut self) { self.address = ::std::option::Option::None; self.mac = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static Address { static instance: Address = Address { address: ::std::option::Option::None, mac: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for Address { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("Address").unwrap()).clone() } } impl ::std::fmt::Display for Address { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for Address { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.GetOwnershipId) #[derive(PartialEq,Clone,Default,Debug)] pub struct GetOwnershipId { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipId.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipId.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipId.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipId.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.GetOwnershipId.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a GetOwnershipId { fn default() -> &'a GetOwnershipId { ::default_instance() } } impl GetOwnershipId { pub fn new() -> GetOwnershipId { ::std::default::Default::default() } // optional string coin_name = 2; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 4; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDADDRESS), None => InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(4); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &GetOwnershipId| { &m.address_n }, |m: &mut GetOwnershipId| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &GetOwnershipId| { &m.coin_name }, |m: &mut GetOwnershipId| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, MultisigRedeemScriptType>( "multisig", |m: &GetOwnershipId| { &m.multisig }, |m: &mut GetOwnershipId| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &GetOwnershipId| { &m.script_type }, |m: &mut GetOwnershipId| { &mut m.script_type }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "GetOwnershipId", fields, oneofs, ) } } impl ::protobuf::Message for GetOwnershipId { const NAME: &'static str = "GetOwnershipId"; fn is_initialized(&self) -> bool { for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 26 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 32 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(4, v.value()); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.coin_name.as_ref() { os.write_string(2, v)?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; } if let Some(v) = self.script_type { os.write_enum(4, ::protobuf::EnumOrUnknown::value(&v))?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> GetOwnershipId { GetOwnershipId::new() } fn clear(&mut self) { self.address_n.clear(); self.coin_name = ::std::option::Option::None; self.multisig.clear(); self.script_type = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static GetOwnershipId { static instance: GetOwnershipId = GetOwnershipId { address_n: ::std::vec::Vec::new(), coin_name: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), script_type: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for GetOwnershipId { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("GetOwnershipId").unwrap()).clone() } } impl ::std::fmt::Display for GetOwnershipId { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for GetOwnershipId { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.OwnershipId) #[derive(PartialEq,Clone,Default,Debug)] pub struct OwnershipId { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.OwnershipId.ownership_id) pub ownership_id: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.OwnershipId.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a OwnershipId { fn default() -> &'a OwnershipId { ::default_instance() } } impl OwnershipId { pub fn new() -> OwnershipId { ::std::default::Default::default() } // required bytes ownership_id = 1; pub fn ownership_id(&self) -> &[u8] { match self.ownership_id.as_ref() { Some(v) => v, None => &[], } } pub fn clear_ownership_id(&mut self) { self.ownership_id = ::std::option::Option::None; } pub fn has_ownership_id(&self) -> bool { self.ownership_id.is_some() } // Param is passed by value, moved pub fn set_ownership_id(&mut self, v: ::std::vec::Vec) { self.ownership_id = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_ownership_id(&mut self) -> &mut ::std::vec::Vec { if self.ownership_id.is_none() { self.ownership_id = ::std::option::Option::Some(::std::vec::Vec::new()); } self.ownership_id.as_mut().unwrap() } // Take field pub fn take_ownership_id(&mut self) -> ::std::vec::Vec { self.ownership_id.take().unwrap_or_else(|| ::std::vec::Vec::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ownership_id", |m: &OwnershipId| { &m.ownership_id }, |m: &mut OwnershipId| { &mut m.ownership_id }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "OwnershipId", fields, oneofs, ) } } impl ::protobuf::Message for OwnershipId { const NAME: &'static str = "OwnershipId"; fn is_initialized(&self) -> bool { if self.ownership_id.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.ownership_id = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.ownership_id.as_ref() { my_size += ::protobuf::rt::bytes_size(1, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.ownership_id.as_ref() { os.write_bytes(1, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> OwnershipId { OwnershipId::new() } fn clear(&mut self) { self.ownership_id = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static OwnershipId { static instance: OwnershipId = OwnershipId { ownership_id: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for OwnershipId { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("OwnershipId").unwrap()).clone() } } impl ::std::fmt::Display for OwnershipId { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for OwnershipId { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.SignMessage) #[derive(PartialEq,Clone,Default,Debug)] pub struct SignMessage { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignMessage.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignMessage.message) pub message: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignMessage.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignMessage.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignMessage.no_script_type) pub no_script_type: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignMessage.chunkify) pub chunkify: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.SignMessage.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a SignMessage { fn default() -> &'a SignMessage { ::default_instance() } } impl SignMessage { pub fn new() -> SignMessage { ::std::default::Default::default() } // required bytes message = 2; pub fn message(&self) -> &[u8] { match self.message.as_ref() { Some(v) => v, None => &[], } } pub fn clear_message(&mut self) { self.message = ::std::option::Option::None; } pub fn has_message(&self) -> bool { self.message.is_some() } // Param is passed by value, moved pub fn set_message(&mut self, v: ::std::vec::Vec) { self.message = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_message(&mut self) -> &mut ::std::vec::Vec { if self.message.is_none() { self.message = ::std::option::Option::Some(::std::vec::Vec::new()); } self.message.as_mut().unwrap() } // Take field pub fn take_message(&mut self) -> ::std::vec::Vec { self.message.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional string coin_name = 3; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 4; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDADDRESS), None => InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bool no_script_type = 5; pub fn no_script_type(&self) -> bool { self.no_script_type.unwrap_or(false) } pub fn clear_no_script_type(&mut self) { self.no_script_type = ::std::option::Option::None; } pub fn has_no_script_type(&self) -> bool { self.no_script_type.is_some() } // Param is passed by value, moved pub fn set_no_script_type(&mut self, v: bool) { self.no_script_type = ::std::option::Option::Some(v); } // optional bool chunkify = 6; pub fn chunkify(&self) -> bool { self.chunkify.unwrap_or(false) } pub fn clear_chunkify(&mut self) { self.chunkify = ::std::option::Option::None; } pub fn has_chunkify(&self) -> bool { self.chunkify.is_some() } // Param is passed by value, moved pub fn set_chunkify(&mut self, v: bool) { self.chunkify = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(6); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &SignMessage| { &m.address_n }, |m: &mut SignMessage| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "message", |m: &SignMessage| { &m.message }, |m: &mut SignMessage| { &mut m.message }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &SignMessage| { &m.coin_name }, |m: &mut SignMessage| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &SignMessage| { &m.script_type }, |m: &mut SignMessage| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "no_script_type", |m: &SignMessage| { &m.no_script_type }, |m: &mut SignMessage| { &mut m.no_script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "chunkify", |m: &SignMessage| { &m.chunkify }, |m: &mut SignMessage| { &mut m.chunkify }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "SignMessage", fields, oneofs, ) } } impl ::protobuf::Message for SignMessage { const NAME: &'static str = "SignMessage"; fn is_initialized(&self) -> bool { if self.message.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.message = ::std::option::Option::Some(is.read_bytes()?); }, 26 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 32 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 40 => { self.no_script_type = ::std::option::Option::Some(is.read_bool()?); }, 48 => { self.chunkify = ::std::option::Option::Some(is.read_bool()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.message.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(3, &v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(4, v.value()); } if let Some(v) = self.no_script_type { my_size += 1 + 1; } if let Some(v) = self.chunkify { my_size += 1 + 1; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.message.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.coin_name.as_ref() { os.write_string(3, v)?; } if let Some(v) = self.script_type { os.write_enum(4, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.no_script_type { os.write_bool(5, v)?; } if let Some(v) = self.chunkify { os.write_bool(6, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> SignMessage { SignMessage::new() } fn clear(&mut self) { self.address_n.clear(); self.message = ::std::option::Option::None; self.coin_name = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.no_script_type = ::std::option::Option::None; self.chunkify = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static SignMessage { static instance: SignMessage = SignMessage { address_n: ::std::vec::Vec::new(), message: ::std::option::Option::None, coin_name: ::std::option::Option::None, script_type: ::std::option::Option::None, no_script_type: ::std::option::Option::None, chunkify: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for SignMessage { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("SignMessage").unwrap()).clone() } } impl ::std::fmt::Display for SignMessage { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for SignMessage { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.MessageSignature) #[derive(PartialEq,Clone,Default,Debug)] pub struct MessageSignature { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MessageSignature.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.MessageSignature.signature) pub signature: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.MessageSignature.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a MessageSignature { fn default() -> &'a MessageSignature { ::default_instance() } } impl MessageSignature { pub fn new() -> MessageSignature { ::std::default::Default::default() } // required string address = 1; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // required bytes signature = 2; pub fn signature(&self) -> &[u8] { match self.signature.as_ref() { Some(v) => v, None => &[], } } pub fn clear_signature(&mut self) { self.signature = ::std::option::Option::None; } pub fn has_signature(&self) -> bool { self.signature.is_some() } // Param is passed by value, moved pub fn set_signature(&mut self, v: ::std::vec::Vec) { self.signature = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec { if self.signature.is_none() { self.signature = ::std::option::Option::Some(::std::vec::Vec::new()); } self.signature.as_mut().unwrap() } // Take field pub fn take_signature(&mut self) -> ::std::vec::Vec { self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(2); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &MessageSignature| { &m.address }, |m: &mut MessageSignature| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature", |m: &MessageSignature| { &m.signature }, |m: &mut MessageSignature| { &mut m.signature }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "MessageSignature", fields, oneofs, ) } } impl ::protobuf::Message for MessageSignature { const NAME: &'static str = "MessageSignature"; fn is_initialized(&self) -> bool { if self.address.is_none() { return false; } if self.signature.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 18 => { self.signature = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } if let Some(v) = self.signature.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.address.as_ref() { os.write_string(1, v)?; } if let Some(v) = self.signature.as_ref() { os.write_bytes(2, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> MessageSignature { MessageSignature::new() } fn clear(&mut self) { self.address = ::std::option::Option::None; self.signature = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static MessageSignature { static instance: MessageSignature = MessageSignature { address: ::std::option::Option::None, signature: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for MessageSignature { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("MessageSignature").unwrap()).clone() } } impl ::std::fmt::Display for MessageSignature { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for MessageSignature { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.VerifyMessage) #[derive(PartialEq,Clone,Default,Debug)] pub struct VerifyMessage { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.VerifyMessage.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.VerifyMessage.signature) pub signature: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.VerifyMessage.message) pub message: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.VerifyMessage.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.VerifyMessage.chunkify) pub chunkify: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.VerifyMessage.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a VerifyMessage { fn default() -> &'a VerifyMessage { ::default_instance() } } impl VerifyMessage { pub fn new() -> VerifyMessage { ::std::default::Default::default() } // required string address = 1; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // required bytes signature = 2; pub fn signature(&self) -> &[u8] { match self.signature.as_ref() { Some(v) => v, None => &[], } } pub fn clear_signature(&mut self) { self.signature = ::std::option::Option::None; } pub fn has_signature(&self) -> bool { self.signature.is_some() } // Param is passed by value, moved pub fn set_signature(&mut self, v: ::std::vec::Vec) { self.signature = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec { if self.signature.is_none() { self.signature = ::std::option::Option::Some(::std::vec::Vec::new()); } self.signature.as_mut().unwrap() } // Take field pub fn take_signature(&mut self) -> ::std::vec::Vec { self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required bytes message = 3; pub fn message(&self) -> &[u8] { match self.message.as_ref() { Some(v) => v, None => &[], } } pub fn clear_message(&mut self) { self.message = ::std::option::Option::None; } pub fn has_message(&self) -> bool { self.message.is_some() } // Param is passed by value, moved pub fn set_message(&mut self, v: ::std::vec::Vec) { self.message = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_message(&mut self) -> &mut ::std::vec::Vec { if self.message.is_none() { self.message = ::std::option::Option::Some(::std::vec::Vec::new()); } self.message.as_mut().unwrap() } // Take field pub fn take_message(&mut self) -> ::std::vec::Vec { self.message.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional string coin_name = 4; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional bool chunkify = 5; pub fn chunkify(&self) -> bool { self.chunkify.unwrap_or(false) } pub fn clear_chunkify(&mut self) { self.chunkify = ::std::option::Option::None; } pub fn has_chunkify(&self) -> bool { self.chunkify.is_some() } // Param is passed by value, moved pub fn set_chunkify(&mut self, v: bool) { self.chunkify = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &VerifyMessage| { &m.address }, |m: &mut VerifyMessage| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature", |m: &VerifyMessage| { &m.signature }, |m: &mut VerifyMessage| { &mut m.signature }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "message", |m: &VerifyMessage| { &m.message }, |m: &mut VerifyMessage| { &mut m.message }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &VerifyMessage| { &m.coin_name }, |m: &mut VerifyMessage| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "chunkify", |m: &VerifyMessage| { &m.chunkify }, |m: &mut VerifyMessage| { &mut m.chunkify }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "VerifyMessage", fields, oneofs, ) } } impl ::protobuf::Message for VerifyMessage { const NAME: &'static str = "VerifyMessage"; fn is_initialized(&self) -> bool { if self.address.is_none() { return false; } if self.signature.is_none() { return false; } if self.message.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 18 => { self.signature = ::std::option::Option::Some(is.read_bytes()?); }, 26 => { self.message = ::std::option::Option::Some(is.read_bytes()?); }, 34 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 40 => { self.chunkify = ::std::option::Option::Some(is.read_bool()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } if let Some(v) = self.signature.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.message.as_ref() { my_size += ::protobuf::rt::bytes_size(3, &v); } if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(4, &v); } if let Some(v) = self.chunkify { my_size += 1 + 1; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.address.as_ref() { os.write_string(1, v)?; } if let Some(v) = self.signature.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.message.as_ref() { os.write_bytes(3, v)?; } if let Some(v) = self.coin_name.as_ref() { os.write_string(4, v)?; } if let Some(v) = self.chunkify { os.write_bool(5, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> VerifyMessage { VerifyMessage::new() } fn clear(&mut self) { self.address = ::std::option::Option::None; self.signature = ::std::option::Option::None; self.message = ::std::option::Option::None; self.coin_name = ::std::option::Option::None; self.chunkify = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static VerifyMessage { static instance: VerifyMessage = VerifyMessage { address: ::std::option::Option::None, signature: ::std::option::Option::None, message: ::std::option::Option::None, coin_name: ::std::option::Option::None, chunkify: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for VerifyMessage { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("VerifyMessage").unwrap()).clone() } } impl ::std::fmt::Display for VerifyMessage { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for VerifyMessage { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.SignTx) #[derive(PartialEq,Clone,Default,Debug)] pub struct SignTx { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.outputs_count) pub outputs_count: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.inputs_count) pub inputs_count: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.version) pub version: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.lock_time) pub lock_time: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.expiry) pub expiry: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.overwintered) pub overwintered: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.version_group_id) pub version_group_id: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.timestamp) pub timestamp: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.branch_id) pub branch_id: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.amount_unit) pub amount_unit: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.decred_staking_ticket) pub decred_staking_ticket: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.serialize) pub serialize: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.coinjoin_request) pub coinjoin_request: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.chunkify) pub chunkify: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.SignTx.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a SignTx { fn default() -> &'a SignTx { ::default_instance() } } impl SignTx { pub fn new() -> SignTx { ::std::default::Default::default() } // required uint32 outputs_count = 1; pub fn outputs_count(&self) -> u32 { self.outputs_count.unwrap_or(0) } pub fn clear_outputs_count(&mut self) { self.outputs_count = ::std::option::Option::None; } pub fn has_outputs_count(&self) -> bool { self.outputs_count.is_some() } // Param is passed by value, moved pub fn set_outputs_count(&mut self, v: u32) { self.outputs_count = ::std::option::Option::Some(v); } // required uint32 inputs_count = 2; pub fn inputs_count(&self) -> u32 { self.inputs_count.unwrap_or(0) } pub fn clear_inputs_count(&mut self) { self.inputs_count = ::std::option::Option::None; } pub fn has_inputs_count(&self) -> bool { self.inputs_count.is_some() } // Param is passed by value, moved pub fn set_inputs_count(&mut self, v: u32) { self.inputs_count = ::std::option::Option::Some(v); } // optional string coin_name = 3; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional uint32 version = 4; pub fn version(&self) -> u32 { self.version.unwrap_or(1u32) } pub fn clear_version(&mut self) { self.version = ::std::option::Option::None; } pub fn has_version(&self) -> bool { self.version.is_some() } // Param is passed by value, moved pub fn set_version(&mut self, v: u32) { self.version = ::std::option::Option::Some(v); } // optional uint32 lock_time = 5; pub fn lock_time(&self) -> u32 { self.lock_time.unwrap_or(0u32) } pub fn clear_lock_time(&mut self) { self.lock_time = ::std::option::Option::None; } pub fn has_lock_time(&self) -> bool { self.lock_time.is_some() } // Param is passed by value, moved pub fn set_lock_time(&mut self, v: u32) { self.lock_time = ::std::option::Option::Some(v); } // optional uint32 expiry = 6; pub fn expiry(&self) -> u32 { self.expiry.unwrap_or(0) } pub fn clear_expiry(&mut self) { self.expiry = ::std::option::Option::None; } pub fn has_expiry(&self) -> bool { self.expiry.is_some() } // Param is passed by value, moved pub fn set_expiry(&mut self, v: u32) { self.expiry = ::std::option::Option::Some(v); } // optional bool overwintered = 7; pub fn overwintered(&self) -> bool { self.overwintered.unwrap_or(false) } pub fn clear_overwintered(&mut self) { self.overwintered = ::std::option::Option::None; } pub fn has_overwintered(&self) -> bool { self.overwintered.is_some() } // Param is passed by value, moved pub fn set_overwintered(&mut self, v: bool) { self.overwintered = ::std::option::Option::Some(v); } // optional uint32 version_group_id = 8; pub fn version_group_id(&self) -> u32 { self.version_group_id.unwrap_or(0) } pub fn clear_version_group_id(&mut self) { self.version_group_id = ::std::option::Option::None; } pub fn has_version_group_id(&self) -> bool { self.version_group_id.is_some() } // Param is passed by value, moved pub fn set_version_group_id(&mut self, v: u32) { self.version_group_id = ::std::option::Option::Some(v); } // optional uint32 timestamp = 9; pub fn timestamp(&self) -> u32 { self.timestamp.unwrap_or(0) } pub fn clear_timestamp(&mut self) { self.timestamp = ::std::option::Option::None; } pub fn has_timestamp(&self) -> bool { self.timestamp.is_some() } // Param is passed by value, moved pub fn set_timestamp(&mut self, v: u32) { self.timestamp = ::std::option::Option::Some(v); } // optional uint32 branch_id = 10; pub fn branch_id(&self) -> u32 { self.branch_id.unwrap_or(0) } pub fn clear_branch_id(&mut self) { self.branch_id = ::std::option::Option::None; } pub fn has_branch_id(&self) -> bool { self.branch_id.is_some() } // Param is passed by value, moved pub fn set_branch_id(&mut self, v: u32) { self.branch_id = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.AmountUnit amount_unit = 11; pub fn amount_unit(&self) -> AmountUnit { match self.amount_unit { Some(e) => e.enum_value_or(AmountUnit::BITCOIN), None => AmountUnit::BITCOIN, } } pub fn clear_amount_unit(&mut self) { self.amount_unit = ::std::option::Option::None; } pub fn has_amount_unit(&self) -> bool { self.amount_unit.is_some() } // Param is passed by value, moved pub fn set_amount_unit(&mut self, v: AmountUnit) { self.amount_unit = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bool decred_staking_ticket = 12; pub fn decred_staking_ticket(&self) -> bool { self.decred_staking_ticket.unwrap_or(false) } pub fn clear_decred_staking_ticket(&mut self) { self.decred_staking_ticket = ::std::option::Option::None; } pub fn has_decred_staking_ticket(&self) -> bool { self.decred_staking_ticket.is_some() } // Param is passed by value, moved pub fn set_decred_staking_ticket(&mut self, v: bool) { self.decred_staking_ticket = ::std::option::Option::Some(v); } // optional bool serialize = 13; pub fn serialize(&self) -> bool { self.serialize.unwrap_or(true) } pub fn clear_serialize(&mut self) { self.serialize = ::std::option::Option::None; } pub fn has_serialize(&self) -> bool { self.serialize.is_some() } // Param is passed by value, moved pub fn set_serialize(&mut self, v: bool) { self.serialize = ::std::option::Option::Some(v); } // optional bool chunkify = 15; pub fn chunkify(&self) -> bool { self.chunkify.unwrap_or(false) } pub fn clear_chunkify(&mut self) { self.chunkify = ::std::option::Option::None; } pub fn has_chunkify(&self) -> bool { self.chunkify.is_some() } // Param is passed by value, moved pub fn set_chunkify(&mut self, v: bool) { self.chunkify = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(15); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "outputs_count", |m: &SignTx| { &m.outputs_count }, |m: &mut SignTx| { &mut m.outputs_count }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "inputs_count", |m: &SignTx| { &m.inputs_count }, |m: &mut SignTx| { &mut m.inputs_count }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &SignTx| { &m.coin_name }, |m: &mut SignTx| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "version", |m: &SignTx| { &m.version }, |m: &mut SignTx| { &mut m.version }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "lock_time", |m: &SignTx| { &m.lock_time }, |m: &mut SignTx| { &mut m.lock_time }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "expiry", |m: &SignTx| { &m.expiry }, |m: &mut SignTx| { &mut m.expiry }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "overwintered", |m: &SignTx| { &m.overwintered }, |m: &mut SignTx| { &mut m.overwintered }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "version_group_id", |m: &SignTx| { &m.version_group_id }, |m: &mut SignTx| { &mut m.version_group_id }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "timestamp", |m: &SignTx| { &m.timestamp }, |m: &mut SignTx| { &mut m.timestamp }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "branch_id", |m: &SignTx| { &m.branch_id }, |m: &mut SignTx| { &mut m.branch_id }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount_unit", |m: &SignTx| { &m.amount_unit }, |m: &mut SignTx| { &mut m.amount_unit }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_staking_ticket", |m: &SignTx| { &m.decred_staking_ticket }, |m: &mut SignTx| { &mut m.decred_staking_ticket }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "serialize", |m: &SignTx| { &m.serialize }, |m: &mut SignTx| { &mut m.serialize }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, sign_tx::CoinJoinRequest>( "coinjoin_request", |m: &SignTx| { &m.coinjoin_request }, |m: &mut SignTx| { &mut m.coinjoin_request }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "chunkify", |m: &SignTx| { &m.chunkify }, |m: &mut SignTx| { &mut m.chunkify }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "SignTx", fields, oneofs, ) } } impl ::protobuf::Message for SignTx { const NAME: &'static str = "SignTx"; fn is_initialized(&self) -> bool { if self.outputs_count.is_none() { return false; } if self.inputs_count.is_none() { return false; } for v in &self.coinjoin_request { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.outputs_count = ::std::option::Option::Some(is.read_uint32()?); }, 16 => { self.inputs_count = ::std::option::Option::Some(is.read_uint32()?); }, 26 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 32 => { self.version = ::std::option::Option::Some(is.read_uint32()?); }, 40 => { self.lock_time = ::std::option::Option::Some(is.read_uint32()?); }, 48 => { self.expiry = ::std::option::Option::Some(is.read_uint32()?); }, 56 => { self.overwintered = ::std::option::Option::Some(is.read_bool()?); }, 64 => { self.version_group_id = ::std::option::Option::Some(is.read_uint32()?); }, 72 => { self.timestamp = ::std::option::Option::Some(is.read_uint32()?); }, 80 => { self.branch_id = ::std::option::Option::Some(is.read_uint32()?); }, 88 => { self.amount_unit = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 96 => { self.decred_staking_ticket = ::std::option::Option::Some(is.read_bool()?); }, 104 => { self.serialize = ::std::option::Option::Some(is.read_bool()?); }, 114 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.coinjoin_request)?; }, 120 => { self.chunkify = ::std::option::Option::Some(is.read_bool()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.outputs_count { my_size += ::protobuf::rt::uint32_size(1, v); } if let Some(v) = self.inputs_count { my_size += ::protobuf::rt::uint32_size(2, v); } if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(3, &v); } if let Some(v) = self.version { my_size += ::protobuf::rt::uint32_size(4, v); } if let Some(v) = self.lock_time { my_size += ::protobuf::rt::uint32_size(5, v); } if let Some(v) = self.expiry { my_size += ::protobuf::rt::uint32_size(6, v); } if let Some(v) = self.overwintered { my_size += 1 + 1; } if let Some(v) = self.version_group_id { my_size += ::protobuf::rt::uint32_size(8, v); } if let Some(v) = self.timestamp { my_size += ::protobuf::rt::uint32_size(9, v); } if let Some(v) = self.branch_id { my_size += ::protobuf::rt::uint32_size(10, v); } if let Some(v) = self.amount_unit { my_size += ::protobuf::rt::int32_size(11, v.value()); } if let Some(v) = self.decred_staking_ticket { my_size += 1 + 1; } if let Some(v) = self.serialize { my_size += 1 + 1; } if let Some(v) = self.coinjoin_request.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.chunkify { my_size += 1 + 1; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.outputs_count { os.write_uint32(1, v)?; } if let Some(v) = self.inputs_count { os.write_uint32(2, v)?; } if let Some(v) = self.coin_name.as_ref() { os.write_string(3, v)?; } if let Some(v) = self.version { os.write_uint32(4, v)?; } if let Some(v) = self.lock_time { os.write_uint32(5, v)?; } if let Some(v) = self.expiry { os.write_uint32(6, v)?; } if let Some(v) = self.overwintered { os.write_bool(7, v)?; } if let Some(v) = self.version_group_id { os.write_uint32(8, v)?; } if let Some(v) = self.timestamp { os.write_uint32(9, v)?; } if let Some(v) = self.branch_id { os.write_uint32(10, v)?; } if let Some(v) = self.amount_unit { os.write_enum(11, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.decred_staking_ticket { os.write_bool(12, v)?; } if let Some(v) = self.serialize { os.write_bool(13, v)?; } if let Some(v) = self.coinjoin_request.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(14, v, os)?; } if let Some(v) = self.chunkify { os.write_bool(15, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> SignTx { SignTx::new() } fn clear(&mut self) { self.outputs_count = ::std::option::Option::None; self.inputs_count = ::std::option::Option::None; self.coin_name = ::std::option::Option::None; self.version = ::std::option::Option::None; self.lock_time = ::std::option::Option::None; self.expiry = ::std::option::Option::None; self.overwintered = ::std::option::Option::None; self.version_group_id = ::std::option::Option::None; self.timestamp = ::std::option::Option::None; self.branch_id = ::std::option::Option::None; self.amount_unit = ::std::option::Option::None; self.decred_staking_ticket = ::std::option::Option::None; self.serialize = ::std::option::Option::None; self.coinjoin_request.clear(); self.chunkify = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static SignTx { static instance: SignTx = SignTx { outputs_count: ::std::option::Option::None, inputs_count: ::std::option::Option::None, coin_name: ::std::option::Option::None, version: ::std::option::Option::None, lock_time: ::std::option::Option::None, expiry: ::std::option::Option::None, overwintered: ::std::option::Option::None, version_group_id: ::std::option::Option::None, timestamp: ::std::option::Option::None, branch_id: ::std::option::Option::None, amount_unit: ::std::option::Option::None, decred_staking_ticket: ::std::option::Option::None, serialize: ::std::option::Option::None, coinjoin_request: ::protobuf::MessageField::none(), chunkify: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for SignTx { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("SignTx").unwrap()).clone() } } impl ::std::fmt::Display for SignTx { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for SignTx { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `SignTx` pub mod sign_tx { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest) #[derive(PartialEq,Clone,Default,Debug)] pub struct CoinJoinRequest { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest.fee_rate) pub fee_rate: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest.no_fee_threshold) pub no_fee_threshold: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest.min_registrable_amount) pub min_registrable_amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest.mask_public_key) pub mask_public_key: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest.signature) pub signature: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.SignTx.CoinJoinRequest.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a CoinJoinRequest { fn default() -> &'a CoinJoinRequest { ::default_instance() } } impl CoinJoinRequest { pub fn new() -> CoinJoinRequest { ::std::default::Default::default() } // required uint32 fee_rate = 1; pub fn fee_rate(&self) -> u32 { self.fee_rate.unwrap_or(0) } pub fn clear_fee_rate(&mut self) { self.fee_rate = ::std::option::Option::None; } pub fn has_fee_rate(&self) -> bool { self.fee_rate.is_some() } // Param is passed by value, moved pub fn set_fee_rate(&mut self, v: u32) { self.fee_rate = ::std::option::Option::Some(v); } // required uint64 no_fee_threshold = 2; pub fn no_fee_threshold(&self) -> u64 { self.no_fee_threshold.unwrap_or(0) } pub fn clear_no_fee_threshold(&mut self) { self.no_fee_threshold = ::std::option::Option::None; } pub fn has_no_fee_threshold(&self) -> bool { self.no_fee_threshold.is_some() } // Param is passed by value, moved pub fn set_no_fee_threshold(&mut self, v: u64) { self.no_fee_threshold = ::std::option::Option::Some(v); } // required uint64 min_registrable_amount = 3; pub fn min_registrable_amount(&self) -> u64 { self.min_registrable_amount.unwrap_or(0) } pub fn clear_min_registrable_amount(&mut self) { self.min_registrable_amount = ::std::option::Option::None; } pub fn has_min_registrable_amount(&self) -> bool { self.min_registrable_amount.is_some() } // Param is passed by value, moved pub fn set_min_registrable_amount(&mut self, v: u64) { self.min_registrable_amount = ::std::option::Option::Some(v); } // required bytes mask_public_key = 4; pub fn mask_public_key(&self) -> &[u8] { match self.mask_public_key.as_ref() { Some(v) => v, None => &[], } } pub fn clear_mask_public_key(&mut self) { self.mask_public_key = ::std::option::Option::None; } pub fn has_mask_public_key(&self) -> bool { self.mask_public_key.is_some() } // Param is passed by value, moved pub fn set_mask_public_key(&mut self, v: ::std::vec::Vec) { self.mask_public_key = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_mask_public_key(&mut self) -> &mut ::std::vec::Vec { if self.mask_public_key.is_none() { self.mask_public_key = ::std::option::Option::Some(::std::vec::Vec::new()); } self.mask_public_key.as_mut().unwrap() } // Take field pub fn take_mask_public_key(&mut self) -> ::std::vec::Vec { self.mask_public_key.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required bytes signature = 5; pub fn signature(&self) -> &[u8] { match self.signature.as_ref() { Some(v) => v, None => &[], } } pub fn clear_signature(&mut self) { self.signature = ::std::option::Option::None; } pub fn has_signature(&self) -> bool { self.signature.is_some() } // Param is passed by value, moved pub fn set_signature(&mut self, v: ::std::vec::Vec) { self.signature = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec { if self.signature.is_none() { self.signature = ::std::option::Option::Some(::std::vec::Vec::new()); } self.signature.as_mut().unwrap() } // Take field pub fn take_signature(&mut self) -> ::std::vec::Vec { self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new()) } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "fee_rate", |m: &CoinJoinRequest| { &m.fee_rate }, |m: &mut CoinJoinRequest| { &mut m.fee_rate }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "no_fee_threshold", |m: &CoinJoinRequest| { &m.no_fee_threshold }, |m: &mut CoinJoinRequest| { &mut m.no_fee_threshold }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "min_registrable_amount", |m: &CoinJoinRequest| { &m.min_registrable_amount }, |m: &mut CoinJoinRequest| { &mut m.min_registrable_amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "mask_public_key", |m: &CoinJoinRequest| { &m.mask_public_key }, |m: &mut CoinJoinRequest| { &mut m.mask_public_key }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature", |m: &CoinJoinRequest| { &m.signature }, |m: &mut CoinJoinRequest| { &mut m.signature }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "SignTx.CoinJoinRequest", fields, oneofs, ) } } impl ::protobuf::Message for CoinJoinRequest { const NAME: &'static str = "CoinJoinRequest"; fn is_initialized(&self) -> bool { if self.fee_rate.is_none() { return false; } if self.no_fee_threshold.is_none() { return false; } if self.min_registrable_amount.is_none() { return false; } if self.mask_public_key.is_none() { return false; } if self.signature.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.fee_rate = ::std::option::Option::Some(is.read_uint32()?); }, 16 => { self.no_fee_threshold = ::std::option::Option::Some(is.read_uint64()?); }, 24 => { self.min_registrable_amount = ::std::option::Option::Some(is.read_uint64()?); }, 34 => { self.mask_public_key = ::std::option::Option::Some(is.read_bytes()?); }, 42 => { self.signature = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.fee_rate { my_size += ::protobuf::rt::uint32_size(1, v); } if let Some(v) = self.no_fee_threshold { my_size += ::protobuf::rt::uint64_size(2, v); } if let Some(v) = self.min_registrable_amount { my_size += ::protobuf::rt::uint64_size(3, v); } if let Some(v) = self.mask_public_key.as_ref() { my_size += ::protobuf::rt::bytes_size(4, &v); } if let Some(v) = self.signature.as_ref() { my_size += ::protobuf::rt::bytes_size(5, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.fee_rate { os.write_uint32(1, v)?; } if let Some(v) = self.no_fee_threshold { os.write_uint64(2, v)?; } if let Some(v) = self.min_registrable_amount { os.write_uint64(3, v)?; } if let Some(v) = self.mask_public_key.as_ref() { os.write_bytes(4, v)?; } if let Some(v) = self.signature.as_ref() { os.write_bytes(5, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> CoinJoinRequest { CoinJoinRequest::new() } fn clear(&mut self) { self.fee_rate = ::std::option::Option::None; self.no_fee_threshold = ::std::option::Option::None; self.min_registrable_amount = ::std::option::Option::None; self.mask_public_key = ::std::option::Option::None; self.signature = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static CoinJoinRequest { static instance: CoinJoinRequest = CoinJoinRequest { fee_rate: ::std::option::Option::None, no_fee_threshold: ::std::option::Option::None, min_registrable_amount: ::std::option::Option::None, mask_public_key: ::std::option::Option::None, signature: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for CoinJoinRequest { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("SignTx.CoinJoinRequest").unwrap()).clone() } } impl ::std::fmt::Display for CoinJoinRequest { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for CoinJoinRequest { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxRequest) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxRequest { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.request_type) pub request_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.details) pub details: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.serialized) pub serialized: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxRequest.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxRequest { fn default() -> &'a TxRequest { ::default_instance() } } impl TxRequest { pub fn new() -> TxRequest { ::std::default::Default::default() } // optional .hw.trezor.messages.bitcoin.TxRequest.RequestType request_type = 1; pub fn request_type(&self) -> tx_request::RequestType { match self.request_type { Some(e) => e.enum_value_or(tx_request::RequestType::TXINPUT), None => tx_request::RequestType::TXINPUT, } } pub fn clear_request_type(&mut self) { self.request_type = ::std::option::Option::None; } pub fn has_request_type(&self) -> bool { self.request_type.is_some() } // Param is passed by value, moved pub fn set_request_type(&mut self, v: tx_request::RequestType) { self.request_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(3); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "request_type", |m: &TxRequest| { &m.request_type }, |m: &mut TxRequest| { &mut m.request_type }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_request::TxRequestDetailsType>( "details", |m: &TxRequest| { &m.details }, |m: &mut TxRequest| { &mut m.details }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_request::TxRequestSerializedType>( "serialized", |m: &TxRequest| { &m.serialized }, |m: &mut TxRequest| { &mut m.serialized }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxRequest", fields, oneofs, ) } } impl ::protobuf::Message for TxRequest { const NAME: &'static str = "TxRequest"; fn is_initialized(&self) -> bool { true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.request_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 18 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.details)?; }, 26 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.serialized)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.request_type { my_size += ::protobuf::rt::int32_size(1, v.value()); } if let Some(v) = self.details.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.serialized.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.request_type { os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.details.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; } if let Some(v) = self.serialized.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxRequest { TxRequest::new() } fn clear(&mut self) { self.request_type = ::std::option::Option::None; self.details.clear(); self.serialized.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxRequest { static instance: TxRequest = TxRequest { request_type: ::std::option::Option::None, details: ::protobuf::MessageField::none(), serialized: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxRequest { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxRequest").unwrap()).clone() } } impl ::std::fmt::Display for TxRequest { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxRequest { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxRequest` pub mod tx_request { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxRequest.TxRequestDetailsType) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxRequestDetailsType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestDetailsType.request_index) pub request_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestDetailsType.tx_hash) pub tx_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestDetailsType.extra_data_len) pub extra_data_len: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestDetailsType.extra_data_offset) pub extra_data_offset: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxRequest.TxRequestDetailsType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxRequestDetailsType { fn default() -> &'a TxRequestDetailsType { ::default_instance() } } impl TxRequestDetailsType { pub fn new() -> TxRequestDetailsType { ::std::default::Default::default() } // optional uint32 request_index = 1; pub fn request_index(&self) -> u32 { self.request_index.unwrap_or(0) } pub fn clear_request_index(&mut self) { self.request_index = ::std::option::Option::None; } pub fn has_request_index(&self) -> bool { self.request_index.is_some() } // Param is passed by value, moved pub fn set_request_index(&mut self, v: u32) { self.request_index = ::std::option::Option::Some(v); } // optional bytes tx_hash = 2; pub fn tx_hash(&self) -> &[u8] { match self.tx_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_tx_hash(&mut self) { self.tx_hash = ::std::option::Option::None; } pub fn has_tx_hash(&self) -> bool { self.tx_hash.is_some() } // Param is passed by value, moved pub fn set_tx_hash(&mut self, v: ::std::vec::Vec) { self.tx_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_tx_hash(&mut self) -> &mut ::std::vec::Vec { if self.tx_hash.is_none() { self.tx_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.tx_hash.as_mut().unwrap() } // Take field pub fn take_tx_hash(&mut self) -> ::std::vec::Vec { self.tx_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 extra_data_len = 3; pub fn extra_data_len(&self) -> u32 { self.extra_data_len.unwrap_or(0) } pub fn clear_extra_data_len(&mut self) { self.extra_data_len = ::std::option::Option::None; } pub fn has_extra_data_len(&self) -> bool { self.extra_data_len.is_some() } // Param is passed by value, moved pub fn set_extra_data_len(&mut self, v: u32) { self.extra_data_len = ::std::option::Option::Some(v); } // optional uint32 extra_data_offset = 4; pub fn extra_data_offset(&self) -> u32 { self.extra_data_offset.unwrap_or(0) } pub fn clear_extra_data_offset(&mut self) { self.extra_data_offset = ::std::option::Option::None; } pub fn has_extra_data_offset(&self) -> bool { self.extra_data_offset.is_some() } // Param is passed by value, moved pub fn set_extra_data_offset(&mut self, v: u32) { self.extra_data_offset = ::std::option::Option::Some(v); } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(4); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "request_index", |m: &TxRequestDetailsType| { &m.request_index }, |m: &mut TxRequestDetailsType| { &mut m.request_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "tx_hash", |m: &TxRequestDetailsType| { &m.tx_hash }, |m: &mut TxRequestDetailsType| { &mut m.tx_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "extra_data_len", |m: &TxRequestDetailsType| { &m.extra_data_len }, |m: &mut TxRequestDetailsType| { &mut m.extra_data_len }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "extra_data_offset", |m: &TxRequestDetailsType| { &m.extra_data_offset }, |m: &mut TxRequestDetailsType| { &mut m.extra_data_offset }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxRequest.TxRequestDetailsType", fields, oneofs, ) } } impl ::protobuf::Message for TxRequestDetailsType { const NAME: &'static str = "TxRequestDetailsType"; fn is_initialized(&self) -> bool { true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.request_index = ::std::option::Option::Some(is.read_uint32()?); }, 18 => { self.tx_hash = ::std::option::Option::Some(is.read_bytes()?); }, 24 => { self.extra_data_len = ::std::option::Option::Some(is.read_uint32()?); }, 32 => { self.extra_data_offset = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.request_index { my_size += ::protobuf::rt::uint32_size(1, v); } if let Some(v) = self.tx_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.extra_data_len { my_size += ::protobuf::rt::uint32_size(3, v); } if let Some(v) = self.extra_data_offset { my_size += ::protobuf::rt::uint32_size(4, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.request_index { os.write_uint32(1, v)?; } if let Some(v) = self.tx_hash.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.extra_data_len { os.write_uint32(3, v)?; } if let Some(v) = self.extra_data_offset { os.write_uint32(4, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxRequestDetailsType { TxRequestDetailsType::new() } fn clear(&mut self) { self.request_index = ::std::option::Option::None; self.tx_hash = ::std::option::Option::None; self.extra_data_len = ::std::option::Option::None; self.extra_data_offset = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxRequestDetailsType { static instance: TxRequestDetailsType = TxRequestDetailsType { request_index: ::std::option::Option::None, tx_hash: ::std::option::Option::None, extra_data_len: ::std::option::Option::None, extra_data_offset: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxRequestDetailsType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxRequest.TxRequestDetailsType").unwrap()).clone() } } impl ::std::fmt::Display for TxRequestDetailsType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxRequestDetailsType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxRequest.TxRequestSerializedType) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxRequestSerializedType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestSerializedType.signature_index) pub signature_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestSerializedType.signature) pub signature: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxRequest.TxRequestSerializedType.serialized_tx) pub serialized_tx: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxRequest.TxRequestSerializedType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxRequestSerializedType { fn default() -> &'a TxRequestSerializedType { ::default_instance() } } impl TxRequestSerializedType { pub fn new() -> TxRequestSerializedType { ::std::default::Default::default() } // optional uint32 signature_index = 1; pub fn signature_index(&self) -> u32 { self.signature_index.unwrap_or(0) } pub fn clear_signature_index(&mut self) { self.signature_index = ::std::option::Option::None; } pub fn has_signature_index(&self) -> bool { self.signature_index.is_some() } // Param is passed by value, moved pub fn set_signature_index(&mut self, v: u32) { self.signature_index = ::std::option::Option::Some(v); } // optional bytes signature = 2; pub fn signature(&self) -> &[u8] { match self.signature.as_ref() { Some(v) => v, None => &[], } } pub fn clear_signature(&mut self) { self.signature = ::std::option::Option::None; } pub fn has_signature(&self) -> bool { self.signature.is_some() } // Param is passed by value, moved pub fn set_signature(&mut self, v: ::std::vec::Vec) { self.signature = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec { if self.signature.is_none() { self.signature = ::std::option::Option::Some(::std::vec::Vec::new()); } self.signature.as_mut().unwrap() } // Take field pub fn take_signature(&mut self) -> ::std::vec::Vec { self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes serialized_tx = 3; pub fn serialized_tx(&self) -> &[u8] { match self.serialized_tx.as_ref() { Some(v) => v, None => &[], } } pub fn clear_serialized_tx(&mut self) { self.serialized_tx = ::std::option::Option::None; } pub fn has_serialized_tx(&self) -> bool { self.serialized_tx.is_some() } // Param is passed by value, moved pub fn set_serialized_tx(&mut self, v: ::std::vec::Vec) { self.serialized_tx = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_serialized_tx(&mut self) -> &mut ::std::vec::Vec { if self.serialized_tx.is_none() { self.serialized_tx = ::std::option::Option::Some(::std::vec::Vec::new()); } self.serialized_tx.as_mut().unwrap() } // Take field pub fn take_serialized_tx(&mut self) -> ::std::vec::Vec { self.serialized_tx.take().unwrap_or_else(|| ::std::vec::Vec::new()) } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(3); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature_index", |m: &TxRequestSerializedType| { &m.signature_index }, |m: &mut TxRequestSerializedType| { &mut m.signature_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature", |m: &TxRequestSerializedType| { &m.signature }, |m: &mut TxRequestSerializedType| { &mut m.signature }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "serialized_tx", |m: &TxRequestSerializedType| { &m.serialized_tx }, |m: &mut TxRequestSerializedType| { &mut m.serialized_tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxRequest.TxRequestSerializedType", fields, oneofs, ) } } impl ::protobuf::Message for TxRequestSerializedType { const NAME: &'static str = "TxRequestSerializedType"; fn is_initialized(&self) -> bool { true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.signature_index = ::std::option::Option::Some(is.read_uint32()?); }, 18 => { self.signature = ::std::option::Option::Some(is.read_bytes()?); }, 26 => { self.serialized_tx = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.signature_index { my_size += ::protobuf::rt::uint32_size(1, v); } if let Some(v) = self.signature.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.serialized_tx.as_ref() { my_size += ::protobuf::rt::bytes_size(3, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.signature_index { os.write_uint32(1, v)?; } if let Some(v) = self.signature.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.serialized_tx.as_ref() { os.write_bytes(3, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxRequestSerializedType { TxRequestSerializedType::new() } fn clear(&mut self) { self.signature_index = ::std::option::Option::None; self.signature = ::std::option::Option::None; self.serialized_tx = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxRequestSerializedType { static instance: TxRequestSerializedType = TxRequestSerializedType { signature_index: ::std::option::Option::None, signature: ::std::option::Option::None, serialized_tx: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxRequestSerializedType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxRequest.TxRequestSerializedType").unwrap()).clone() } } impl ::std::fmt::Display for TxRequestSerializedType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxRequestSerializedType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] // @@protoc_insertion_point(enum:hw.trezor.messages.bitcoin.TxRequest.RequestType) pub enum RequestType { // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXINPUT) TXINPUT = 0, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXOUTPUT) TXOUTPUT = 1, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXMETA) TXMETA = 2, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXFINISHED) TXFINISHED = 3, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXEXTRADATA) TXEXTRADATA = 4, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXORIGINPUT) TXORIGINPUT = 5, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXORIGOUTPUT) TXORIGOUTPUT = 6, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.TxRequest.RequestType.TXPAYMENTREQ) TXPAYMENTREQ = 7, } impl ::protobuf::Enum for RequestType { const NAME: &'static str = "RequestType"; fn value(&self) -> i32 { *self as i32 } fn from_i32(value: i32) -> ::std::option::Option { match value { 0 => ::std::option::Option::Some(RequestType::TXINPUT), 1 => ::std::option::Option::Some(RequestType::TXOUTPUT), 2 => ::std::option::Option::Some(RequestType::TXMETA), 3 => ::std::option::Option::Some(RequestType::TXFINISHED), 4 => ::std::option::Option::Some(RequestType::TXEXTRADATA), 5 => ::std::option::Option::Some(RequestType::TXORIGINPUT), 6 => ::std::option::Option::Some(RequestType::TXORIGOUTPUT), 7 => ::std::option::Option::Some(RequestType::TXPAYMENTREQ), _ => ::std::option::Option::None } } fn from_str(str: &str) -> ::std::option::Option { match str { "TXINPUT" => ::std::option::Option::Some(RequestType::TXINPUT), "TXOUTPUT" => ::std::option::Option::Some(RequestType::TXOUTPUT), "TXMETA" => ::std::option::Option::Some(RequestType::TXMETA), "TXFINISHED" => ::std::option::Option::Some(RequestType::TXFINISHED), "TXEXTRADATA" => ::std::option::Option::Some(RequestType::TXEXTRADATA), "TXORIGINPUT" => ::std::option::Option::Some(RequestType::TXORIGINPUT), "TXORIGOUTPUT" => ::std::option::Option::Some(RequestType::TXORIGOUTPUT), "TXPAYMENTREQ" => ::std::option::Option::Some(RequestType::TXPAYMENTREQ), _ => ::std::option::Option::None } } const VALUES: &'static [RequestType] = &[ RequestType::TXINPUT, RequestType::TXOUTPUT, RequestType::TXMETA, RequestType::TXFINISHED, RequestType::TXEXTRADATA, RequestType::TXORIGINPUT, RequestType::TXORIGOUTPUT, RequestType::TXPAYMENTREQ, ]; } impl ::protobuf::EnumFull for RequestType { fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("TxRequest.RequestType").unwrap()).clone() } fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor { let index = *self as usize; Self::enum_descriptor().value_by_index(index) } } impl ::std::default::Default for RequestType { fn default() -> Self { RequestType::TXINPUT } } impl RequestType { pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData { ::protobuf::reflect::GeneratedEnumDescriptorData::new::("TxRequest.RequestType") } } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAck) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAck { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAck.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAck { fn default() -> &'a TxAck { ::default_instance() } } impl TxAck { pub fn new() -> TxAck { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_ack::TransactionType>( "tx", |m: &TxAck| { &m.tx }, |m: &mut TxAck| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAck", fields, oneofs, ) } } impl ::protobuf::Message for TxAck { const NAME: &'static str = "TxAck"; fn is_initialized(&self) -> bool { for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAck { TxAck::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAck { static instance: TxAck = TxAck { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAck { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAck").unwrap()).clone() } } impl ::std::fmt::Display for TxAck { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAck { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAck` pub mod tx_ack { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAck.TransactionType) #[derive(PartialEq,Clone,Default,Debug)] pub struct TransactionType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.version) pub version: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.inputs) pub inputs: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.bin_outputs) pub bin_outputs: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.lock_time) pub lock_time: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.outputs) pub outputs: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.inputs_cnt) pub inputs_cnt: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.outputs_cnt) pub outputs_cnt: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.extra_data) pub extra_data: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.extra_data_len) pub extra_data_len: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.expiry) pub expiry: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.overwintered) pub overwintered: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.version_group_id) pub version_group_id: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.timestamp) pub timestamp: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.branch_id) pub branch_id: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAck.TransactionType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TransactionType { fn default() -> &'a TransactionType { ::default_instance() } } impl TransactionType { pub fn new() -> TransactionType { ::std::default::Default::default() } // optional uint32 version = 1; pub fn version(&self) -> u32 { self.version.unwrap_or(0) } pub fn clear_version(&mut self) { self.version = ::std::option::Option::None; } pub fn has_version(&self) -> bool { self.version.is_some() } // Param is passed by value, moved pub fn set_version(&mut self, v: u32) { self.version = ::std::option::Option::Some(v); } // optional uint32 lock_time = 4; pub fn lock_time(&self) -> u32 { self.lock_time.unwrap_or(0) } pub fn clear_lock_time(&mut self) { self.lock_time = ::std::option::Option::None; } pub fn has_lock_time(&self) -> bool { self.lock_time.is_some() } // Param is passed by value, moved pub fn set_lock_time(&mut self, v: u32) { self.lock_time = ::std::option::Option::Some(v); } // optional uint32 inputs_cnt = 6; pub fn inputs_cnt(&self) -> u32 { self.inputs_cnt.unwrap_or(0) } pub fn clear_inputs_cnt(&mut self) { self.inputs_cnt = ::std::option::Option::None; } pub fn has_inputs_cnt(&self) -> bool { self.inputs_cnt.is_some() } // Param is passed by value, moved pub fn set_inputs_cnt(&mut self, v: u32) { self.inputs_cnt = ::std::option::Option::Some(v); } // optional uint32 outputs_cnt = 7; pub fn outputs_cnt(&self) -> u32 { self.outputs_cnt.unwrap_or(0) } pub fn clear_outputs_cnt(&mut self) { self.outputs_cnt = ::std::option::Option::None; } pub fn has_outputs_cnt(&self) -> bool { self.outputs_cnt.is_some() } // Param is passed by value, moved pub fn set_outputs_cnt(&mut self, v: u32) { self.outputs_cnt = ::std::option::Option::Some(v); } // optional bytes extra_data = 8; pub fn extra_data(&self) -> &[u8] { match self.extra_data.as_ref() { Some(v) => v, None => &[], } } pub fn clear_extra_data(&mut self) { self.extra_data = ::std::option::Option::None; } pub fn has_extra_data(&self) -> bool { self.extra_data.is_some() } // Param is passed by value, moved pub fn set_extra_data(&mut self, v: ::std::vec::Vec) { self.extra_data = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_extra_data(&mut self) -> &mut ::std::vec::Vec { if self.extra_data.is_none() { self.extra_data = ::std::option::Option::Some(::std::vec::Vec::new()); } self.extra_data.as_mut().unwrap() } // Take field pub fn take_extra_data(&mut self) -> ::std::vec::Vec { self.extra_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 extra_data_len = 9; pub fn extra_data_len(&self) -> u32 { self.extra_data_len.unwrap_or(0) } pub fn clear_extra_data_len(&mut self) { self.extra_data_len = ::std::option::Option::None; } pub fn has_extra_data_len(&self) -> bool { self.extra_data_len.is_some() } // Param is passed by value, moved pub fn set_extra_data_len(&mut self, v: u32) { self.extra_data_len = ::std::option::Option::Some(v); } // optional uint32 expiry = 10; pub fn expiry(&self) -> u32 { self.expiry.unwrap_or(0) } pub fn clear_expiry(&mut self) { self.expiry = ::std::option::Option::None; } pub fn has_expiry(&self) -> bool { self.expiry.is_some() } // Param is passed by value, moved pub fn set_expiry(&mut self, v: u32) { self.expiry = ::std::option::Option::Some(v); } // optional bool overwintered = 11; pub fn overwintered(&self) -> bool { self.overwintered.unwrap_or(false) } pub fn clear_overwintered(&mut self) { self.overwintered = ::std::option::Option::None; } pub fn has_overwintered(&self) -> bool { self.overwintered.is_some() } // Param is passed by value, moved pub fn set_overwintered(&mut self, v: bool) { self.overwintered = ::std::option::Option::Some(v); } // optional uint32 version_group_id = 12; pub fn version_group_id(&self) -> u32 { self.version_group_id.unwrap_or(0) } pub fn clear_version_group_id(&mut self) { self.version_group_id = ::std::option::Option::None; } pub fn has_version_group_id(&self) -> bool { self.version_group_id.is_some() } // Param is passed by value, moved pub fn set_version_group_id(&mut self, v: u32) { self.version_group_id = ::std::option::Option::Some(v); } // optional uint32 timestamp = 13; pub fn timestamp(&self) -> u32 { self.timestamp.unwrap_or(0) } pub fn clear_timestamp(&mut self) { self.timestamp = ::std::option::Option::None; } pub fn has_timestamp(&self) -> bool { self.timestamp.is_some() } // Param is passed by value, moved pub fn set_timestamp(&mut self, v: u32) { self.timestamp = ::std::option::Option::Some(v); } // optional uint32 branch_id = 14; pub fn branch_id(&self) -> u32 { self.branch_id.unwrap_or(0) } pub fn clear_branch_id(&mut self) { self.branch_id = ::std::option::Option::None; } pub fn has_branch_id(&self) -> bool { self.branch_id.is_some() } // Param is passed by value, moved pub fn set_branch_id(&mut self, v: u32) { self.branch_id = ::std::option::Option::Some(v); } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(14); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "version", |m: &TransactionType| { &m.version }, |m: &mut TransactionType| { &mut m.version }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "inputs", |m: &TransactionType| { &m.inputs }, |m: &mut TransactionType| { &mut m.inputs }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "bin_outputs", |m: &TransactionType| { &m.bin_outputs }, |m: &mut TransactionType| { &mut m.bin_outputs }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "lock_time", |m: &TransactionType| { &m.lock_time }, |m: &mut TransactionType| { &mut m.lock_time }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "outputs", |m: &TransactionType| { &m.outputs }, |m: &mut TransactionType| { &mut m.outputs }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "inputs_cnt", |m: &TransactionType| { &m.inputs_cnt }, |m: &mut TransactionType| { &mut m.inputs_cnt }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "outputs_cnt", |m: &TransactionType| { &m.outputs_cnt }, |m: &mut TransactionType| { &mut m.outputs_cnt }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "extra_data", |m: &TransactionType| { &m.extra_data }, |m: &mut TransactionType| { &mut m.extra_data }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "extra_data_len", |m: &TransactionType| { &m.extra_data_len }, |m: &mut TransactionType| { &mut m.extra_data_len }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "expiry", |m: &TransactionType| { &m.expiry }, |m: &mut TransactionType| { &mut m.expiry }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "overwintered", |m: &TransactionType| { &m.overwintered }, |m: &mut TransactionType| { &mut m.overwintered }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "version_group_id", |m: &TransactionType| { &m.version_group_id }, |m: &mut TransactionType| { &mut m.version_group_id }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "timestamp", |m: &TransactionType| { &m.timestamp }, |m: &mut TransactionType| { &mut m.timestamp }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "branch_id", |m: &TransactionType| { &m.branch_id }, |m: &mut TransactionType| { &mut m.branch_id }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAck.TransactionType", fields, oneofs, ) } } impl ::protobuf::Message for TransactionType { const NAME: &'static str = "TransactionType"; fn is_initialized(&self) -> bool { for v in &self.inputs { if !v.is_initialized() { return false; } }; for v in &self.bin_outputs { if !v.is_initialized() { return false; } }; for v in &self.outputs { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.version = ::std::option::Option::Some(is.read_uint32()?); }, 18 => { self.inputs.push(is.read_message()?); }, 26 => { self.bin_outputs.push(is.read_message()?); }, 32 => { self.lock_time = ::std::option::Option::Some(is.read_uint32()?); }, 42 => { self.outputs.push(is.read_message()?); }, 48 => { self.inputs_cnt = ::std::option::Option::Some(is.read_uint32()?); }, 56 => { self.outputs_cnt = ::std::option::Option::Some(is.read_uint32()?); }, 66 => { self.extra_data = ::std::option::Option::Some(is.read_bytes()?); }, 72 => { self.extra_data_len = ::std::option::Option::Some(is.read_uint32()?); }, 80 => { self.expiry = ::std::option::Option::Some(is.read_uint32()?); }, 88 => { self.overwintered = ::std::option::Option::Some(is.read_bool()?); }, 96 => { self.version_group_id = ::std::option::Option::Some(is.read_uint32()?); }, 104 => { self.timestamp = ::std::option::Option::Some(is.read_uint32()?); }, 112 => { self.branch_id = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.version { my_size += ::protobuf::rt::uint32_size(1, v); } for value in &self.inputs { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; }; for value in &self.bin_outputs { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; }; if let Some(v) = self.lock_time { my_size += ::protobuf::rt::uint32_size(4, v); } for value in &self.outputs { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; }; if let Some(v) = self.inputs_cnt { my_size += ::protobuf::rt::uint32_size(6, v); } if let Some(v) = self.outputs_cnt { my_size += ::protobuf::rt::uint32_size(7, v); } if let Some(v) = self.extra_data.as_ref() { my_size += ::protobuf::rt::bytes_size(8, &v); } if let Some(v) = self.extra_data_len { my_size += ::protobuf::rt::uint32_size(9, v); } if let Some(v) = self.expiry { my_size += ::protobuf::rt::uint32_size(10, v); } if let Some(v) = self.overwintered { my_size += 1 + 1; } if let Some(v) = self.version_group_id { my_size += ::protobuf::rt::uint32_size(12, v); } if let Some(v) = self.timestamp { my_size += ::protobuf::rt::uint32_size(13, v); } if let Some(v) = self.branch_id { my_size += ::protobuf::rt::uint32_size(14, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.version { os.write_uint32(1, v)?; } for v in &self.inputs { ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; }; for v in &self.bin_outputs { ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; }; if let Some(v) = self.lock_time { os.write_uint32(4, v)?; } for v in &self.outputs { ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?; }; if let Some(v) = self.inputs_cnt { os.write_uint32(6, v)?; } if let Some(v) = self.outputs_cnt { os.write_uint32(7, v)?; } if let Some(v) = self.extra_data.as_ref() { os.write_bytes(8, v)?; } if let Some(v) = self.extra_data_len { os.write_uint32(9, v)?; } if let Some(v) = self.expiry { os.write_uint32(10, v)?; } if let Some(v) = self.overwintered { os.write_bool(11, v)?; } if let Some(v) = self.version_group_id { os.write_uint32(12, v)?; } if let Some(v) = self.timestamp { os.write_uint32(13, v)?; } if let Some(v) = self.branch_id { os.write_uint32(14, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TransactionType { TransactionType::new() } fn clear(&mut self) { self.version = ::std::option::Option::None; self.inputs.clear(); self.bin_outputs.clear(); self.lock_time = ::std::option::Option::None; self.outputs.clear(); self.inputs_cnt = ::std::option::Option::None; self.outputs_cnt = ::std::option::Option::None; self.extra_data = ::std::option::Option::None; self.extra_data_len = ::std::option::Option::None; self.expiry = ::std::option::Option::None; self.overwintered = ::std::option::Option::None; self.version_group_id = ::std::option::Option::None; self.timestamp = ::std::option::Option::None; self.branch_id = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TransactionType { static instance: TransactionType = TransactionType { version: ::std::option::Option::None, inputs: ::std::vec::Vec::new(), bin_outputs: ::std::vec::Vec::new(), lock_time: ::std::option::Option::None, outputs: ::std::vec::Vec::new(), inputs_cnt: ::std::option::Option::None, outputs_cnt: ::std::option::Option::None, extra_data: ::std::option::Option::None, extra_data_len: ::std::option::Option::None, expiry: ::std::option::Option::None, overwintered: ::std::option::Option::None, version_group_id: ::std::option::Option::None, timestamp: ::std::option::Option::None, branch_id: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TransactionType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAck.TransactionType").unwrap()).clone() } } impl ::std::fmt::Display for TransactionType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TransactionType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TransactionType` pub mod transaction_type { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxInputType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.prev_hash) pub prev_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.prev_index) pub prev_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.script_sig) pub script_sig: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.sequence) pub sequence: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.decred_tree) pub decred_tree: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.witness) pub witness: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.ownership_proof) pub ownership_proof: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.commitment_data) pub commitment_data: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.orig_hash) pub orig_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.orig_index) pub orig_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.decred_staking_spend) pub decred_staking_spend: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.script_pubkey) pub script_pubkey: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.coinjoin_flags) pub coinjoin_flags: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxInputType { fn default() -> &'a TxInputType { ::default_instance() } } impl TxInputType { pub fn new() -> TxInputType { ::std::default::Default::default() } // required bytes prev_hash = 2; pub fn prev_hash(&self) -> &[u8] { match self.prev_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_prev_hash(&mut self) { self.prev_hash = ::std::option::Option::None; } pub fn has_prev_hash(&self) -> bool { self.prev_hash.is_some() } // Param is passed by value, moved pub fn set_prev_hash(&mut self, v: ::std::vec::Vec) { self.prev_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_prev_hash(&mut self) -> &mut ::std::vec::Vec { if self.prev_hash.is_none() { self.prev_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.prev_hash.as_mut().unwrap() } // Take field pub fn take_prev_hash(&mut self) -> ::std::vec::Vec { self.prev_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required uint32 prev_index = 3; pub fn prev_index(&self) -> u32 { self.prev_index.unwrap_or(0) } pub fn clear_prev_index(&mut self) { self.prev_index = ::std::option::Option::None; } pub fn has_prev_index(&self) -> bool { self.prev_index.is_some() } // Param is passed by value, moved pub fn set_prev_index(&mut self, v: u32) { self.prev_index = ::std::option::Option::Some(v); } // optional bytes script_sig = 4; pub fn script_sig(&self) -> &[u8] { match self.script_sig.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_sig(&mut self) { self.script_sig = ::std::option::Option::None; } pub fn has_script_sig(&self) -> bool { self.script_sig.is_some() } // Param is passed by value, moved pub fn set_script_sig(&mut self, v: ::std::vec::Vec) { self.script_sig = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_sig(&mut self) -> &mut ::std::vec::Vec { if self.script_sig.is_none() { self.script_sig = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_sig.as_mut().unwrap() } // Take field pub fn take_script_sig(&mut self) -> ::std::vec::Vec { self.script_sig.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 sequence = 5; pub fn sequence(&self) -> u32 { self.sequence.unwrap_or(4294967295u32) } pub fn clear_sequence(&mut self) { self.sequence = ::std::option::Option::None; } pub fn has_sequence(&self) -> bool { self.sequence.is_some() } // Param is passed by value, moved pub fn set_sequence(&mut self, v: u32) { self.sequence = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 6; pub fn script_type(&self) -> super::super::InputScriptType { match self.script_type { Some(e) => e.enum_value_or(super::super::InputScriptType::SPENDADDRESS), None => super::super::InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: super::super::InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional uint64 amount = 8; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // optional uint32 decred_tree = 9; pub fn decred_tree(&self) -> u32 { self.decred_tree.unwrap_or(0) } pub fn clear_decred_tree(&mut self) { self.decred_tree = ::std::option::Option::None; } pub fn has_decred_tree(&self) -> bool { self.decred_tree.is_some() } // Param is passed by value, moved pub fn set_decred_tree(&mut self, v: u32) { self.decred_tree = ::std::option::Option::Some(v); } // optional bytes witness = 13; pub fn witness(&self) -> &[u8] { match self.witness.as_ref() { Some(v) => v, None => &[], } } pub fn clear_witness(&mut self) { self.witness = ::std::option::Option::None; } pub fn has_witness(&self) -> bool { self.witness.is_some() } // Param is passed by value, moved pub fn set_witness(&mut self, v: ::std::vec::Vec) { self.witness = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_witness(&mut self) -> &mut ::std::vec::Vec { if self.witness.is_none() { self.witness = ::std::option::Option::Some(::std::vec::Vec::new()); } self.witness.as_mut().unwrap() } // Take field pub fn take_witness(&mut self) -> ::std::vec::Vec { self.witness.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes ownership_proof = 14; pub fn ownership_proof(&self) -> &[u8] { match self.ownership_proof.as_ref() { Some(v) => v, None => &[], } } pub fn clear_ownership_proof(&mut self) { self.ownership_proof = ::std::option::Option::None; } pub fn has_ownership_proof(&self) -> bool { self.ownership_proof.is_some() } // Param is passed by value, moved pub fn set_ownership_proof(&mut self, v: ::std::vec::Vec) { self.ownership_proof = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_ownership_proof(&mut self) -> &mut ::std::vec::Vec { if self.ownership_proof.is_none() { self.ownership_proof = ::std::option::Option::Some(::std::vec::Vec::new()); } self.ownership_proof.as_mut().unwrap() } // Take field pub fn take_ownership_proof(&mut self) -> ::std::vec::Vec { self.ownership_proof.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes commitment_data = 15; pub fn commitment_data(&self) -> &[u8] { match self.commitment_data.as_ref() { Some(v) => v, None => &[], } } pub fn clear_commitment_data(&mut self) { self.commitment_data = ::std::option::Option::None; } pub fn has_commitment_data(&self) -> bool { self.commitment_data.is_some() } // Param is passed by value, moved pub fn set_commitment_data(&mut self, v: ::std::vec::Vec) { self.commitment_data = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_commitment_data(&mut self) -> &mut ::std::vec::Vec { if self.commitment_data.is_none() { self.commitment_data = ::std::option::Option::Some(::std::vec::Vec::new()); } self.commitment_data.as_mut().unwrap() } // Take field pub fn take_commitment_data(&mut self) -> ::std::vec::Vec { self.commitment_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes orig_hash = 16; pub fn orig_hash(&self) -> &[u8] { match self.orig_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_orig_hash(&mut self) { self.orig_hash = ::std::option::Option::None; } pub fn has_orig_hash(&self) -> bool { self.orig_hash.is_some() } // Param is passed by value, moved pub fn set_orig_hash(&mut self, v: ::std::vec::Vec) { self.orig_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_orig_hash(&mut self) -> &mut ::std::vec::Vec { if self.orig_hash.is_none() { self.orig_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.orig_hash.as_mut().unwrap() } // Take field pub fn take_orig_hash(&mut self) -> ::std::vec::Vec { self.orig_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 orig_index = 17; pub fn orig_index(&self) -> u32 { self.orig_index.unwrap_or(0) } pub fn clear_orig_index(&mut self) { self.orig_index = ::std::option::Option::None; } pub fn has_orig_index(&self) -> bool { self.orig_index.is_some() } // Param is passed by value, moved pub fn set_orig_index(&mut self, v: u32) { self.orig_index = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.DecredStakingSpendType decred_staking_spend = 18; pub fn decred_staking_spend(&self) -> super::super::DecredStakingSpendType { match self.decred_staking_spend { Some(e) => e.enum_value_or(super::super::DecredStakingSpendType::SSGen), None => super::super::DecredStakingSpendType::SSGen, } } pub fn clear_decred_staking_spend(&mut self) { self.decred_staking_spend = ::std::option::Option::None; } pub fn has_decred_staking_spend(&self) -> bool { self.decred_staking_spend.is_some() } // Param is passed by value, moved pub fn set_decred_staking_spend(&mut self, v: super::super::DecredStakingSpendType) { self.decred_staking_spend = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bytes script_pubkey = 19; pub fn script_pubkey(&self) -> &[u8] { match self.script_pubkey.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_pubkey(&mut self) { self.script_pubkey = ::std::option::Option::None; } pub fn has_script_pubkey(&self) -> bool { self.script_pubkey.is_some() } // Param is passed by value, moved pub fn set_script_pubkey(&mut self, v: ::std::vec::Vec) { self.script_pubkey = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_pubkey(&mut self) -> &mut ::std::vec::Vec { if self.script_pubkey.is_none() { self.script_pubkey = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_pubkey.as_mut().unwrap() } // Take field pub fn take_script_pubkey(&mut self) -> ::std::vec::Vec { self.script_pubkey.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 coinjoin_flags = 20; pub fn coinjoin_flags(&self) -> u32 { self.coinjoin_flags.unwrap_or(0u32) } pub fn clear_coinjoin_flags(&mut self) { self.coinjoin_flags = ::std::option::Option::None; } pub fn has_coinjoin_flags(&self) -> bool { self.coinjoin_flags.is_some() } // Param is passed by value, moved pub fn set_coinjoin_flags(&mut self, v: u32) { self.coinjoin_flags = ::std::option::Option::Some(v); } pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(17); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &TxInputType| { &m.address_n }, |m: &mut TxInputType| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "prev_hash", |m: &TxInputType| { &m.prev_hash }, |m: &mut TxInputType| { &mut m.prev_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "prev_index", |m: &TxInputType| { &m.prev_index }, |m: &mut TxInputType| { &mut m.prev_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_sig", |m: &TxInputType| { &m.script_sig }, |m: &mut TxInputType| { &mut m.script_sig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "sequence", |m: &TxInputType| { &m.sequence }, |m: &mut TxInputType| { &mut m.sequence }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &TxInputType| { &m.script_type }, |m: &mut TxInputType| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::super::MultisigRedeemScriptType>( "multisig", |m: &TxInputType| { &m.multisig }, |m: &mut TxInputType| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &TxInputType| { &m.amount }, |m: &mut TxInputType| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_tree", |m: &TxInputType| { &m.decred_tree }, |m: &mut TxInputType| { &mut m.decred_tree }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "witness", |m: &TxInputType| { &m.witness }, |m: &mut TxInputType| { &mut m.witness }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ownership_proof", |m: &TxInputType| { &m.ownership_proof }, |m: &mut TxInputType| { &mut m.ownership_proof }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "commitment_data", |m: &TxInputType| { &m.commitment_data }, |m: &mut TxInputType| { &mut m.commitment_data }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_hash", |m: &TxInputType| { &m.orig_hash }, |m: &mut TxInputType| { &mut m.orig_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_index", |m: &TxInputType| { &m.orig_index }, |m: &mut TxInputType| { &mut m.orig_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_staking_spend", |m: &TxInputType| { &m.decred_staking_spend }, |m: &mut TxInputType| { &mut m.decred_staking_spend }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_pubkey", |m: &TxInputType| { &m.script_pubkey }, |m: &mut TxInputType| { &mut m.script_pubkey }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coinjoin_flags", |m: &TxInputType| { &m.coinjoin_flags }, |m: &mut TxInputType| { &mut m.coinjoin_flags }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAck.TransactionType.TxInputType", fields, oneofs, ) } } impl ::protobuf::Message for TxInputType { const NAME: &'static str = "TxInputType"; fn is_initialized(&self) -> bool { if self.prev_hash.is_none() { return false; } if self.prev_index.is_none() { return false; } for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.prev_hash = ::std::option::Option::Some(is.read_bytes()?); }, 24 => { self.prev_index = ::std::option::Option::Some(is.read_uint32()?); }, 34 => { self.script_sig = ::std::option::Option::Some(is.read_bytes()?); }, 40 => { self.sequence = ::std::option::Option::Some(is.read_uint32()?); }, 48 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 58 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 64 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 72 => { self.decred_tree = ::std::option::Option::Some(is.read_uint32()?); }, 106 => { self.witness = ::std::option::Option::Some(is.read_bytes()?); }, 114 => { self.ownership_proof = ::std::option::Option::Some(is.read_bytes()?); }, 122 => { self.commitment_data = ::std::option::Option::Some(is.read_bytes()?); }, 130 => { self.orig_hash = ::std::option::Option::Some(is.read_bytes()?); }, 136 => { self.orig_index = ::std::option::Option::Some(is.read_uint32()?); }, 144 => { self.decred_staking_spend = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 154 => { self.script_pubkey = ::std::option::Option::Some(is.read_bytes()?); }, 160 => { self.coinjoin_flags = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.prev_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.prev_index { my_size += ::protobuf::rt::uint32_size(3, v); } if let Some(v) = self.script_sig.as_ref() { my_size += ::protobuf::rt::bytes_size(4, &v); } if let Some(v) = self.sequence { my_size += ::protobuf::rt::uint32_size(5, v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(6, v.value()); } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(8, v); } if let Some(v) = self.decred_tree { my_size += ::protobuf::rt::uint32_size(9, v); } if let Some(v) = self.witness.as_ref() { my_size += ::protobuf::rt::bytes_size(13, &v); } if let Some(v) = self.ownership_proof.as_ref() { my_size += ::protobuf::rt::bytes_size(14, &v); } if let Some(v) = self.commitment_data.as_ref() { my_size += ::protobuf::rt::bytes_size(15, &v); } if let Some(v) = self.orig_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(16, &v); } if let Some(v) = self.orig_index { my_size += ::protobuf::rt::uint32_size(17, v); } if let Some(v) = self.decred_staking_spend { my_size += ::protobuf::rt::int32_size(18, v.value()); } if let Some(v) = self.script_pubkey.as_ref() { my_size += ::protobuf::rt::bytes_size(19, &v); } if let Some(v) = self.coinjoin_flags { my_size += ::protobuf::rt::uint32_size(20, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.prev_hash.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.prev_index { os.write_uint32(3, v)?; } if let Some(v) = self.script_sig.as_ref() { os.write_bytes(4, v)?; } if let Some(v) = self.sequence { os.write_uint32(5, v)?; } if let Some(v) = self.script_type { os.write_enum(6, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?; } if let Some(v) = self.amount { os.write_uint64(8, v)?; } if let Some(v) = self.decred_tree { os.write_uint32(9, v)?; } if let Some(v) = self.witness.as_ref() { os.write_bytes(13, v)?; } if let Some(v) = self.ownership_proof.as_ref() { os.write_bytes(14, v)?; } if let Some(v) = self.commitment_data.as_ref() { os.write_bytes(15, v)?; } if let Some(v) = self.orig_hash.as_ref() { os.write_bytes(16, v)?; } if let Some(v) = self.orig_index { os.write_uint32(17, v)?; } if let Some(v) = self.decred_staking_spend { os.write_enum(18, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.script_pubkey.as_ref() { os.write_bytes(19, v)?; } if let Some(v) = self.coinjoin_flags { os.write_uint32(20, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxInputType { TxInputType::new() } fn clear(&mut self) { self.address_n.clear(); self.prev_hash = ::std::option::Option::None; self.prev_index = ::std::option::Option::None; self.script_sig = ::std::option::Option::None; self.sequence = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.multisig.clear(); self.amount = ::std::option::Option::None; self.decred_tree = ::std::option::Option::None; self.witness = ::std::option::Option::None; self.ownership_proof = ::std::option::Option::None; self.commitment_data = ::std::option::Option::None; self.orig_hash = ::std::option::Option::None; self.orig_index = ::std::option::Option::None; self.decred_staking_spend = ::std::option::Option::None; self.script_pubkey = ::std::option::Option::None; self.coinjoin_flags = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxInputType { static instance: TxInputType = TxInputType { address_n: ::std::vec::Vec::new(), prev_hash: ::std::option::Option::None, prev_index: ::std::option::Option::None, script_sig: ::std::option::Option::None, sequence: ::std::option::Option::None, script_type: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), amount: ::std::option::Option::None, decred_tree: ::std::option::Option::None, witness: ::std::option::Option::None, ownership_proof: ::std::option::Option::None, commitment_data: ::std::option::Option::None, orig_hash: ::std::option::Option::None, orig_index: ::std::option::Option::None, decred_staking_spend: ::std::option::Option::None, script_pubkey: ::std::option::Option::None, coinjoin_flags: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxInputType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("TxAck.TransactionType.TxInputType").unwrap()).clone() } } impl ::std::fmt::Display for TxInputType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxInputType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputBinType) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxOutputBinType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputBinType.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputBinType.script_pubkey) pub script_pubkey: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputBinType.decred_script_version) pub decred_script_version: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputBinType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxOutputBinType { fn default() -> &'a TxOutputBinType { ::default_instance() } } impl TxOutputBinType { pub fn new() -> TxOutputBinType { ::std::default::Default::default() } // required uint64 amount = 1; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // required bytes script_pubkey = 2; pub fn script_pubkey(&self) -> &[u8] { match self.script_pubkey.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_pubkey(&mut self) { self.script_pubkey = ::std::option::Option::None; } pub fn has_script_pubkey(&self) -> bool { self.script_pubkey.is_some() } // Param is passed by value, moved pub fn set_script_pubkey(&mut self, v: ::std::vec::Vec) { self.script_pubkey = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_pubkey(&mut self) -> &mut ::std::vec::Vec { if self.script_pubkey.is_none() { self.script_pubkey = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_pubkey.as_mut().unwrap() } // Take field pub fn take_script_pubkey(&mut self) -> ::std::vec::Vec { self.script_pubkey.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 decred_script_version = 3; pub fn decred_script_version(&self) -> u32 { self.decred_script_version.unwrap_or(0) } pub fn clear_decred_script_version(&mut self) { self.decred_script_version = ::std::option::Option::None; } pub fn has_decred_script_version(&self) -> bool { self.decred_script_version.is_some() } // Param is passed by value, moved pub fn set_decred_script_version(&mut self, v: u32) { self.decred_script_version = ::std::option::Option::Some(v); } pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(3); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &TxOutputBinType| { &m.amount }, |m: &mut TxOutputBinType| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_pubkey", |m: &TxOutputBinType| { &m.script_pubkey }, |m: &mut TxOutputBinType| { &mut m.script_pubkey }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_script_version", |m: &TxOutputBinType| { &m.decred_script_version }, |m: &mut TxOutputBinType| { &mut m.decred_script_version }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAck.TransactionType.TxOutputBinType", fields, oneofs, ) } } impl ::protobuf::Message for TxOutputBinType { const NAME: &'static str = "TxOutputBinType"; fn is_initialized(&self) -> bool { if self.amount.is_none() { return false; } if self.script_pubkey.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 18 => { self.script_pubkey = ::std::option::Option::Some(is.read_bytes()?); }, 24 => { self.decred_script_version = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(1, v); } if let Some(v) = self.script_pubkey.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.decred_script_version { my_size += ::protobuf::rt::uint32_size(3, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.amount { os.write_uint64(1, v)?; } if let Some(v) = self.script_pubkey.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.decred_script_version { os.write_uint32(3, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxOutputBinType { TxOutputBinType::new() } fn clear(&mut self) { self.amount = ::std::option::Option::None; self.script_pubkey = ::std::option::Option::None; self.decred_script_version = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxOutputBinType { static instance: TxOutputBinType = TxOutputBinType { amount: ::std::option::Option::None, script_pubkey: ::std::option::Option::None, decred_script_version: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxOutputBinType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("TxAck.TransactionType.TxOutputBinType").unwrap()).clone() } } impl ::std::fmt::Display for TxOutputBinType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxOutputBinType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxOutputType { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.op_return_data) pub op_return_data: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.orig_hash) pub orig_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.orig_index) pub orig_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.payment_req_index) pub payment_req_index: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutputType.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxOutputType { fn default() -> &'a TxOutputType { ::default_instance() } } impl TxOutputType { pub fn new() -> TxOutputType { ::std::default::Default::default() } // optional string address = 1; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // required uint64 amount = 3; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.OutputScriptType script_type = 4; pub fn script_type(&self) -> super::super::OutputScriptType { match self.script_type { Some(e) => e.enum_value_or(super::super::OutputScriptType::PAYTOADDRESS), None => super::super::OutputScriptType::PAYTOADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: super::super::OutputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bytes op_return_data = 6; pub fn op_return_data(&self) -> &[u8] { match self.op_return_data.as_ref() { Some(v) => v, None => &[], } } pub fn clear_op_return_data(&mut self) { self.op_return_data = ::std::option::Option::None; } pub fn has_op_return_data(&self) -> bool { self.op_return_data.is_some() } // Param is passed by value, moved pub fn set_op_return_data(&mut self, v: ::std::vec::Vec) { self.op_return_data = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_op_return_data(&mut self) -> &mut ::std::vec::Vec { if self.op_return_data.is_none() { self.op_return_data = ::std::option::Option::Some(::std::vec::Vec::new()); } self.op_return_data.as_mut().unwrap() } // Take field pub fn take_op_return_data(&mut self) -> ::std::vec::Vec { self.op_return_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes orig_hash = 10; pub fn orig_hash(&self) -> &[u8] { match self.orig_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_orig_hash(&mut self) { self.orig_hash = ::std::option::Option::None; } pub fn has_orig_hash(&self) -> bool { self.orig_hash.is_some() } // Param is passed by value, moved pub fn set_orig_hash(&mut self, v: ::std::vec::Vec) { self.orig_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_orig_hash(&mut self) -> &mut ::std::vec::Vec { if self.orig_hash.is_none() { self.orig_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.orig_hash.as_mut().unwrap() } // Take field pub fn take_orig_hash(&mut self) -> ::std::vec::Vec { self.orig_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 orig_index = 11; pub fn orig_index(&self) -> u32 { self.orig_index.unwrap_or(0) } pub fn clear_orig_index(&mut self) { self.orig_index = ::std::option::Option::None; } pub fn has_orig_index(&self) -> bool { self.orig_index.is_some() } // Param is passed by value, moved pub fn set_orig_index(&mut self, v: u32) { self.orig_index = ::std::option::Option::Some(v); } // optional uint32 payment_req_index = 12; pub fn payment_req_index(&self) -> u32 { self.payment_req_index.unwrap_or(0) } pub fn clear_payment_req_index(&mut self) { self.payment_req_index = ::std::option::Option::None; } pub fn has_payment_req_index(&self) -> bool { self.payment_req_index.is_some() } // Param is passed by value, moved pub fn set_payment_req_index(&mut self, v: u32) { self.payment_req_index = ::std::option::Option::Some(v); } pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(9); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &TxOutputType| { &m.address }, |m: &mut TxOutputType| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &TxOutputType| { &m.address_n }, |m: &mut TxOutputType| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &TxOutputType| { &m.amount }, |m: &mut TxOutputType| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &TxOutputType| { &m.script_type }, |m: &mut TxOutputType| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::super::MultisigRedeemScriptType>( "multisig", |m: &TxOutputType| { &m.multisig }, |m: &mut TxOutputType| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "op_return_data", |m: &TxOutputType| { &m.op_return_data }, |m: &mut TxOutputType| { &mut m.op_return_data }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_hash", |m: &TxOutputType| { &m.orig_hash }, |m: &mut TxOutputType| { &mut m.orig_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_index", |m: &TxOutputType| { &m.orig_index }, |m: &mut TxOutputType| { &mut m.orig_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "payment_req_index", |m: &TxOutputType| { &m.payment_req_index }, |m: &mut TxOutputType| { &mut m.payment_req_index }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAck.TransactionType.TxOutputType", fields, oneofs, ) } } impl ::protobuf::Message for TxOutputType { const NAME: &'static str = "TxOutputType"; fn is_initialized(&self) -> bool { if self.amount.is_none() { return false; } for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 18 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 16 => { self.address_n.push(is.read_uint32()?); }, 24 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 32 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 42 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 50 => { self.op_return_data = ::std::option::Option::Some(is.read_bytes()?); }, 82 => { self.orig_hash = ::std::option::Option::Some(is.read_bytes()?); }, 88 => { self.orig_index = ::std::option::Option::Some(is.read_uint32()?); }, 96 => { self.payment_req_index = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(2, *value); }; if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(3, v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(4, v.value()); } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.op_return_data.as_ref() { my_size += ::protobuf::rt::bytes_size(6, &v); } if let Some(v) = self.orig_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(10, &v); } if let Some(v) = self.orig_index { my_size += ::protobuf::rt::uint32_size(11, v); } if let Some(v) = self.payment_req_index { my_size += ::protobuf::rt::uint32_size(12, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.address.as_ref() { os.write_string(1, v)?; } for v in &self.address_n { os.write_uint32(2, *v)?; }; if let Some(v) = self.amount { os.write_uint64(3, v)?; } if let Some(v) = self.script_type { os.write_enum(4, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?; } if let Some(v) = self.op_return_data.as_ref() { os.write_bytes(6, v)?; } if let Some(v) = self.orig_hash.as_ref() { os.write_bytes(10, v)?; } if let Some(v) = self.orig_index { os.write_uint32(11, v)?; } if let Some(v) = self.payment_req_index { os.write_uint32(12, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxOutputType { TxOutputType::new() } fn clear(&mut self) { self.address = ::std::option::Option::None; self.address_n.clear(); self.amount = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.multisig.clear(); self.op_return_data = ::std::option::Option::None; self.orig_hash = ::std::option::Option::None; self.orig_index = ::std::option::Option::None; self.payment_req_index = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxOutputType { static instance: TxOutputType = TxOutputType { address: ::std::option::Option::None, address_n: ::std::vec::Vec::new(), amount: ::std::option::Option::None, script_type: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), op_return_data: ::std::option::Option::None, orig_hash: ::std::option::Option::None, orig_index: ::std::option::Option::None, payment_req_index: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxOutputType { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("TxAck.TransactionType.TxOutputType").unwrap()).clone() } } impl ::std::fmt::Display for TxOutputType { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxOutputType { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxInput) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxInput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.prev_hash) pub prev_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.prev_index) pub prev_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.script_sig) pub script_sig: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.sequence) pub sequence: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.decred_tree) pub decred_tree: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.witness) pub witness: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.ownership_proof) pub ownership_proof: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.commitment_data) pub commitment_data: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.orig_hash) pub orig_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.orig_index) pub orig_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.decred_staking_spend) pub decred_staking_spend: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.script_pubkey) pub script_pubkey: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxInput.coinjoin_flags) pub coinjoin_flags: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxInput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxInput { fn default() -> &'a TxInput { ::default_instance() } } impl TxInput { pub fn new() -> TxInput { ::std::default::Default::default() } // required bytes prev_hash = 2; pub fn prev_hash(&self) -> &[u8] { match self.prev_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_prev_hash(&mut self) { self.prev_hash = ::std::option::Option::None; } pub fn has_prev_hash(&self) -> bool { self.prev_hash.is_some() } // Param is passed by value, moved pub fn set_prev_hash(&mut self, v: ::std::vec::Vec) { self.prev_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_prev_hash(&mut self) -> &mut ::std::vec::Vec { if self.prev_hash.is_none() { self.prev_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.prev_hash.as_mut().unwrap() } // Take field pub fn take_prev_hash(&mut self) -> ::std::vec::Vec { self.prev_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required uint32 prev_index = 3; pub fn prev_index(&self) -> u32 { self.prev_index.unwrap_or(0) } pub fn clear_prev_index(&mut self) { self.prev_index = ::std::option::Option::None; } pub fn has_prev_index(&self) -> bool { self.prev_index.is_some() } // Param is passed by value, moved pub fn set_prev_index(&mut self, v: u32) { self.prev_index = ::std::option::Option::Some(v); } // optional bytes script_sig = 4; pub fn script_sig(&self) -> &[u8] { match self.script_sig.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_sig(&mut self) { self.script_sig = ::std::option::Option::None; } pub fn has_script_sig(&self) -> bool { self.script_sig.is_some() } // Param is passed by value, moved pub fn set_script_sig(&mut self, v: ::std::vec::Vec) { self.script_sig = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_sig(&mut self) -> &mut ::std::vec::Vec { if self.script_sig.is_none() { self.script_sig = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_sig.as_mut().unwrap() } // Take field pub fn take_script_sig(&mut self) -> ::std::vec::Vec { self.script_sig.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 sequence = 5; pub fn sequence(&self) -> u32 { self.sequence.unwrap_or(4294967295u32) } pub fn clear_sequence(&mut self) { self.sequence = ::std::option::Option::None; } pub fn has_sequence(&self) -> bool { self.sequence.is_some() } // Param is passed by value, moved pub fn set_sequence(&mut self, v: u32) { self.sequence = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 6; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDADDRESS), None => InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // required uint64 amount = 8; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // optional uint32 decred_tree = 9; pub fn decred_tree(&self) -> u32 { self.decred_tree.unwrap_or(0) } pub fn clear_decred_tree(&mut self) { self.decred_tree = ::std::option::Option::None; } pub fn has_decred_tree(&self) -> bool { self.decred_tree.is_some() } // Param is passed by value, moved pub fn set_decred_tree(&mut self, v: u32) { self.decred_tree = ::std::option::Option::Some(v); } // optional bytes witness = 13; pub fn witness(&self) -> &[u8] { match self.witness.as_ref() { Some(v) => v, None => &[], } } pub fn clear_witness(&mut self) { self.witness = ::std::option::Option::None; } pub fn has_witness(&self) -> bool { self.witness.is_some() } // Param is passed by value, moved pub fn set_witness(&mut self, v: ::std::vec::Vec) { self.witness = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_witness(&mut self) -> &mut ::std::vec::Vec { if self.witness.is_none() { self.witness = ::std::option::Option::Some(::std::vec::Vec::new()); } self.witness.as_mut().unwrap() } // Take field pub fn take_witness(&mut self) -> ::std::vec::Vec { self.witness.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes ownership_proof = 14; pub fn ownership_proof(&self) -> &[u8] { match self.ownership_proof.as_ref() { Some(v) => v, None => &[], } } pub fn clear_ownership_proof(&mut self) { self.ownership_proof = ::std::option::Option::None; } pub fn has_ownership_proof(&self) -> bool { self.ownership_proof.is_some() } // Param is passed by value, moved pub fn set_ownership_proof(&mut self, v: ::std::vec::Vec) { self.ownership_proof = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_ownership_proof(&mut self) -> &mut ::std::vec::Vec { if self.ownership_proof.is_none() { self.ownership_proof = ::std::option::Option::Some(::std::vec::Vec::new()); } self.ownership_proof.as_mut().unwrap() } // Take field pub fn take_ownership_proof(&mut self) -> ::std::vec::Vec { self.ownership_proof.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes commitment_data = 15; pub fn commitment_data(&self) -> &[u8] { match self.commitment_data.as_ref() { Some(v) => v, None => &[], } } pub fn clear_commitment_data(&mut self) { self.commitment_data = ::std::option::Option::None; } pub fn has_commitment_data(&self) -> bool { self.commitment_data.is_some() } // Param is passed by value, moved pub fn set_commitment_data(&mut self, v: ::std::vec::Vec) { self.commitment_data = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_commitment_data(&mut self) -> &mut ::std::vec::Vec { if self.commitment_data.is_none() { self.commitment_data = ::std::option::Option::Some(::std::vec::Vec::new()); } self.commitment_data.as_mut().unwrap() } // Take field pub fn take_commitment_data(&mut self) -> ::std::vec::Vec { self.commitment_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes orig_hash = 16; pub fn orig_hash(&self) -> &[u8] { match self.orig_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_orig_hash(&mut self) { self.orig_hash = ::std::option::Option::None; } pub fn has_orig_hash(&self) -> bool { self.orig_hash.is_some() } // Param is passed by value, moved pub fn set_orig_hash(&mut self, v: ::std::vec::Vec) { self.orig_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_orig_hash(&mut self) -> &mut ::std::vec::Vec { if self.orig_hash.is_none() { self.orig_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.orig_hash.as_mut().unwrap() } // Take field pub fn take_orig_hash(&mut self) -> ::std::vec::Vec { self.orig_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 orig_index = 17; pub fn orig_index(&self) -> u32 { self.orig_index.unwrap_or(0) } pub fn clear_orig_index(&mut self) { self.orig_index = ::std::option::Option::None; } pub fn has_orig_index(&self) -> bool { self.orig_index.is_some() } // Param is passed by value, moved pub fn set_orig_index(&mut self, v: u32) { self.orig_index = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.DecredStakingSpendType decred_staking_spend = 18; pub fn decred_staking_spend(&self) -> DecredStakingSpendType { match self.decred_staking_spend { Some(e) => e.enum_value_or(DecredStakingSpendType::SSGen), None => DecredStakingSpendType::SSGen, } } pub fn clear_decred_staking_spend(&mut self) { self.decred_staking_spend = ::std::option::Option::None; } pub fn has_decred_staking_spend(&self) -> bool { self.decred_staking_spend.is_some() } // Param is passed by value, moved pub fn set_decred_staking_spend(&mut self, v: DecredStakingSpendType) { self.decred_staking_spend = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bytes script_pubkey = 19; pub fn script_pubkey(&self) -> &[u8] { match self.script_pubkey.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_pubkey(&mut self) { self.script_pubkey = ::std::option::Option::None; } pub fn has_script_pubkey(&self) -> bool { self.script_pubkey.is_some() } // Param is passed by value, moved pub fn set_script_pubkey(&mut self, v: ::std::vec::Vec) { self.script_pubkey = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_pubkey(&mut self) -> &mut ::std::vec::Vec { if self.script_pubkey.is_none() { self.script_pubkey = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_pubkey.as_mut().unwrap() } // Take field pub fn take_script_pubkey(&mut self) -> ::std::vec::Vec { self.script_pubkey.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 coinjoin_flags = 20; pub fn coinjoin_flags(&self) -> u32 { self.coinjoin_flags.unwrap_or(0u32) } pub fn clear_coinjoin_flags(&mut self) { self.coinjoin_flags = ::std::option::Option::None; } pub fn has_coinjoin_flags(&self) -> bool { self.coinjoin_flags.is_some() } // Param is passed by value, moved pub fn set_coinjoin_flags(&mut self, v: u32) { self.coinjoin_flags = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(17); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &TxInput| { &m.address_n }, |m: &mut TxInput| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "prev_hash", |m: &TxInput| { &m.prev_hash }, |m: &mut TxInput| { &mut m.prev_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "prev_index", |m: &TxInput| { &m.prev_index }, |m: &mut TxInput| { &mut m.prev_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_sig", |m: &TxInput| { &m.script_sig }, |m: &mut TxInput| { &mut m.script_sig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "sequence", |m: &TxInput| { &m.sequence }, |m: &mut TxInput| { &mut m.sequence }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &TxInput| { &m.script_type }, |m: &mut TxInput| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, MultisigRedeemScriptType>( "multisig", |m: &TxInput| { &m.multisig }, |m: &mut TxInput| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &TxInput| { &m.amount }, |m: &mut TxInput| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_tree", |m: &TxInput| { &m.decred_tree }, |m: &mut TxInput| { &mut m.decred_tree }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "witness", |m: &TxInput| { &m.witness }, |m: &mut TxInput| { &mut m.witness }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ownership_proof", |m: &TxInput| { &m.ownership_proof }, |m: &mut TxInput| { &mut m.ownership_proof }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "commitment_data", |m: &TxInput| { &m.commitment_data }, |m: &mut TxInput| { &mut m.commitment_data }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_hash", |m: &TxInput| { &m.orig_hash }, |m: &mut TxInput| { &mut m.orig_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_index", |m: &TxInput| { &m.orig_index }, |m: &mut TxInput| { &mut m.orig_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_staking_spend", |m: &TxInput| { &m.decred_staking_spend }, |m: &mut TxInput| { &mut m.decred_staking_spend }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_pubkey", |m: &TxInput| { &m.script_pubkey }, |m: &mut TxInput| { &mut m.script_pubkey }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coinjoin_flags", |m: &TxInput| { &m.coinjoin_flags }, |m: &mut TxInput| { &mut m.coinjoin_flags }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxInput", fields, oneofs, ) } } impl ::protobuf::Message for TxInput { const NAME: &'static str = "TxInput"; fn is_initialized(&self) -> bool { if self.prev_hash.is_none() { return false; } if self.prev_index.is_none() { return false; } if self.amount.is_none() { return false; } for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.prev_hash = ::std::option::Option::Some(is.read_bytes()?); }, 24 => { self.prev_index = ::std::option::Option::Some(is.read_uint32()?); }, 34 => { self.script_sig = ::std::option::Option::Some(is.read_bytes()?); }, 40 => { self.sequence = ::std::option::Option::Some(is.read_uint32()?); }, 48 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 58 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 64 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 72 => { self.decred_tree = ::std::option::Option::Some(is.read_uint32()?); }, 106 => { self.witness = ::std::option::Option::Some(is.read_bytes()?); }, 114 => { self.ownership_proof = ::std::option::Option::Some(is.read_bytes()?); }, 122 => { self.commitment_data = ::std::option::Option::Some(is.read_bytes()?); }, 130 => { self.orig_hash = ::std::option::Option::Some(is.read_bytes()?); }, 136 => { self.orig_index = ::std::option::Option::Some(is.read_uint32()?); }, 144 => { self.decred_staking_spend = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 154 => { self.script_pubkey = ::std::option::Option::Some(is.read_bytes()?); }, 160 => { self.coinjoin_flags = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.prev_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.prev_index { my_size += ::protobuf::rt::uint32_size(3, v); } if let Some(v) = self.script_sig.as_ref() { my_size += ::protobuf::rt::bytes_size(4, &v); } if let Some(v) = self.sequence { my_size += ::protobuf::rt::uint32_size(5, v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(6, v.value()); } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(8, v); } if let Some(v) = self.decred_tree { my_size += ::protobuf::rt::uint32_size(9, v); } if let Some(v) = self.witness.as_ref() { my_size += ::protobuf::rt::bytes_size(13, &v); } if let Some(v) = self.ownership_proof.as_ref() { my_size += ::protobuf::rt::bytes_size(14, &v); } if let Some(v) = self.commitment_data.as_ref() { my_size += ::protobuf::rt::bytes_size(15, &v); } if let Some(v) = self.orig_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(16, &v); } if let Some(v) = self.orig_index { my_size += ::protobuf::rt::uint32_size(17, v); } if let Some(v) = self.decred_staking_spend { my_size += ::protobuf::rt::int32_size(18, v.value()); } if let Some(v) = self.script_pubkey.as_ref() { my_size += ::protobuf::rt::bytes_size(19, &v); } if let Some(v) = self.coinjoin_flags { my_size += ::protobuf::rt::uint32_size(20, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.prev_hash.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.prev_index { os.write_uint32(3, v)?; } if let Some(v) = self.script_sig.as_ref() { os.write_bytes(4, v)?; } if let Some(v) = self.sequence { os.write_uint32(5, v)?; } if let Some(v) = self.script_type { os.write_enum(6, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?; } if let Some(v) = self.amount { os.write_uint64(8, v)?; } if let Some(v) = self.decred_tree { os.write_uint32(9, v)?; } if let Some(v) = self.witness.as_ref() { os.write_bytes(13, v)?; } if let Some(v) = self.ownership_proof.as_ref() { os.write_bytes(14, v)?; } if let Some(v) = self.commitment_data.as_ref() { os.write_bytes(15, v)?; } if let Some(v) = self.orig_hash.as_ref() { os.write_bytes(16, v)?; } if let Some(v) = self.orig_index { os.write_uint32(17, v)?; } if let Some(v) = self.decred_staking_spend { os.write_enum(18, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.script_pubkey.as_ref() { os.write_bytes(19, v)?; } if let Some(v) = self.coinjoin_flags { os.write_uint32(20, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxInput { TxInput::new() } fn clear(&mut self) { self.address_n.clear(); self.prev_hash = ::std::option::Option::None; self.prev_index = ::std::option::Option::None; self.script_sig = ::std::option::Option::None; self.sequence = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.multisig.clear(); self.amount = ::std::option::Option::None; self.decred_tree = ::std::option::Option::None; self.witness = ::std::option::Option::None; self.ownership_proof = ::std::option::Option::None; self.commitment_data = ::std::option::Option::None; self.orig_hash = ::std::option::Option::None; self.orig_index = ::std::option::Option::None; self.decred_staking_spend = ::std::option::Option::None; self.script_pubkey = ::std::option::Option::None; self.coinjoin_flags = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxInput { static instance: TxInput = TxInput { address_n: ::std::vec::Vec::new(), prev_hash: ::std::option::Option::None, prev_index: ::std::option::Option::None, script_sig: ::std::option::Option::None, sequence: ::std::option::Option::None, script_type: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), amount: ::std::option::Option::None, decred_tree: ::std::option::Option::None, witness: ::std::option::Option::None, ownership_proof: ::std::option::Option::None, commitment_data: ::std::option::Option::None, orig_hash: ::std::option::Option::None, orig_index: ::std::option::Option::None, decred_staking_spend: ::std::option::Option::None, script_pubkey: ::std::option::Option::None, coinjoin_flags: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxInput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxInput").unwrap()).clone() } } impl ::std::fmt::Display for TxInput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxInput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxOutput) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxOutput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.op_return_data) pub op_return_data: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.orig_hash) pub orig_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.orig_index) pub orig_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxOutput.payment_req_index) pub payment_req_index: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxOutput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxOutput { fn default() -> &'a TxOutput { ::default_instance() } } impl TxOutput { pub fn new() -> TxOutput { ::std::default::Default::default() } // optional string address = 1; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // required uint64 amount = 3; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // optional .hw.trezor.messages.bitcoin.OutputScriptType script_type = 4; pub fn script_type(&self) -> OutputScriptType { match self.script_type { Some(e) => e.enum_value_or(OutputScriptType::PAYTOADDRESS), None => OutputScriptType::PAYTOADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: OutputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bytes op_return_data = 6; pub fn op_return_data(&self) -> &[u8] { match self.op_return_data.as_ref() { Some(v) => v, None => &[], } } pub fn clear_op_return_data(&mut self) { self.op_return_data = ::std::option::Option::None; } pub fn has_op_return_data(&self) -> bool { self.op_return_data.is_some() } // Param is passed by value, moved pub fn set_op_return_data(&mut self, v: ::std::vec::Vec) { self.op_return_data = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_op_return_data(&mut self) -> &mut ::std::vec::Vec { if self.op_return_data.is_none() { self.op_return_data = ::std::option::Option::Some(::std::vec::Vec::new()); } self.op_return_data.as_mut().unwrap() } // Take field pub fn take_op_return_data(&mut self) -> ::std::vec::Vec { self.op_return_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional bytes orig_hash = 10; pub fn orig_hash(&self) -> &[u8] { match self.orig_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_orig_hash(&mut self) { self.orig_hash = ::std::option::Option::None; } pub fn has_orig_hash(&self) -> bool { self.orig_hash.is_some() } // Param is passed by value, moved pub fn set_orig_hash(&mut self, v: ::std::vec::Vec) { self.orig_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_orig_hash(&mut self) -> &mut ::std::vec::Vec { if self.orig_hash.is_none() { self.orig_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.orig_hash.as_mut().unwrap() } // Take field pub fn take_orig_hash(&mut self) -> ::std::vec::Vec { self.orig_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 orig_index = 11; pub fn orig_index(&self) -> u32 { self.orig_index.unwrap_or(0) } pub fn clear_orig_index(&mut self) { self.orig_index = ::std::option::Option::None; } pub fn has_orig_index(&self) -> bool { self.orig_index.is_some() } // Param is passed by value, moved pub fn set_orig_index(&mut self, v: u32) { self.orig_index = ::std::option::Option::Some(v); } // optional uint32 payment_req_index = 12; pub fn payment_req_index(&self) -> u32 { self.payment_req_index.unwrap_or(0) } pub fn clear_payment_req_index(&mut self) { self.payment_req_index = ::std::option::Option::None; } pub fn has_payment_req_index(&self) -> bool { self.payment_req_index.is_some() } // Param is passed by value, moved pub fn set_payment_req_index(&mut self, v: u32) { self.payment_req_index = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(9); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &TxOutput| { &m.address }, |m: &mut TxOutput| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &TxOutput| { &m.address_n }, |m: &mut TxOutput| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &TxOutput| { &m.amount }, |m: &mut TxOutput| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &TxOutput| { &m.script_type }, |m: &mut TxOutput| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, MultisigRedeemScriptType>( "multisig", |m: &TxOutput| { &m.multisig }, |m: &mut TxOutput| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "op_return_data", |m: &TxOutput| { &m.op_return_data }, |m: &mut TxOutput| { &mut m.op_return_data }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_hash", |m: &TxOutput| { &m.orig_hash }, |m: &mut TxOutput| { &mut m.orig_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "orig_index", |m: &TxOutput| { &m.orig_index }, |m: &mut TxOutput| { &mut m.orig_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "payment_req_index", |m: &TxOutput| { &m.payment_req_index }, |m: &mut TxOutput| { &mut m.payment_req_index }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxOutput", fields, oneofs, ) } } impl ::protobuf::Message for TxOutput { const NAME: &'static str = "TxOutput"; fn is_initialized(&self) -> bool { if self.amount.is_none() { return false; } for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 18 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 16 => { self.address_n.push(is.read_uint32()?); }, 24 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 32 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 42 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 50 => { self.op_return_data = ::std::option::Option::Some(is.read_bytes()?); }, 82 => { self.orig_hash = ::std::option::Option::Some(is.read_bytes()?); }, 88 => { self.orig_index = ::std::option::Option::Some(is.read_uint32()?); }, 96 => { self.payment_req_index = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(2, *value); }; if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(3, v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(4, v.value()); } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.op_return_data.as_ref() { my_size += ::protobuf::rt::bytes_size(6, &v); } if let Some(v) = self.orig_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(10, &v); } if let Some(v) = self.orig_index { my_size += ::protobuf::rt::uint32_size(11, v); } if let Some(v) = self.payment_req_index { my_size += ::protobuf::rt::uint32_size(12, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.address.as_ref() { os.write_string(1, v)?; } for v in &self.address_n { os.write_uint32(2, *v)?; }; if let Some(v) = self.amount { os.write_uint64(3, v)?; } if let Some(v) = self.script_type { os.write_enum(4, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?; } if let Some(v) = self.op_return_data.as_ref() { os.write_bytes(6, v)?; } if let Some(v) = self.orig_hash.as_ref() { os.write_bytes(10, v)?; } if let Some(v) = self.orig_index { os.write_uint32(11, v)?; } if let Some(v) = self.payment_req_index { os.write_uint32(12, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxOutput { TxOutput::new() } fn clear(&mut self) { self.address = ::std::option::Option::None; self.address_n.clear(); self.amount = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.multisig.clear(); self.op_return_data = ::std::option::Option::None; self.orig_hash = ::std::option::Option::None; self.orig_index = ::std::option::Option::None; self.payment_req_index = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxOutput { static instance: TxOutput = TxOutput { address: ::std::option::Option::None, address_n: ::std::vec::Vec::new(), amount: ::std::option::Option::None, script_type: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), op_return_data: ::std::option::Option::None, orig_hash: ::std::option::Option::None, orig_index: ::std::option::Option::None, payment_req_index: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxOutput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxOutput").unwrap()).clone() } } impl ::std::fmt::Display for TxOutput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxOutput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.PrevTx) #[derive(PartialEq,Clone,Default,Debug)] pub struct PrevTx { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.version) pub version: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.lock_time) pub lock_time: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.inputs_count) pub inputs_count: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.outputs_count) pub outputs_count: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.extra_data_len) pub extra_data_len: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.expiry) pub expiry: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.version_group_id) pub version_group_id: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.timestamp) pub timestamp: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevTx.branch_id) pub branch_id: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.PrevTx.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a PrevTx { fn default() -> &'a PrevTx { ::default_instance() } } impl PrevTx { pub fn new() -> PrevTx { ::std::default::Default::default() } // required uint32 version = 1; pub fn version(&self) -> u32 { self.version.unwrap_or(0) } pub fn clear_version(&mut self) { self.version = ::std::option::Option::None; } pub fn has_version(&self) -> bool { self.version.is_some() } // Param is passed by value, moved pub fn set_version(&mut self, v: u32) { self.version = ::std::option::Option::Some(v); } // required uint32 lock_time = 4; pub fn lock_time(&self) -> u32 { self.lock_time.unwrap_or(0) } pub fn clear_lock_time(&mut self) { self.lock_time = ::std::option::Option::None; } pub fn has_lock_time(&self) -> bool { self.lock_time.is_some() } // Param is passed by value, moved pub fn set_lock_time(&mut self, v: u32) { self.lock_time = ::std::option::Option::Some(v); } // required uint32 inputs_count = 6; pub fn inputs_count(&self) -> u32 { self.inputs_count.unwrap_or(0) } pub fn clear_inputs_count(&mut self) { self.inputs_count = ::std::option::Option::None; } pub fn has_inputs_count(&self) -> bool { self.inputs_count.is_some() } // Param is passed by value, moved pub fn set_inputs_count(&mut self, v: u32) { self.inputs_count = ::std::option::Option::Some(v); } // required uint32 outputs_count = 7; pub fn outputs_count(&self) -> u32 { self.outputs_count.unwrap_or(0) } pub fn clear_outputs_count(&mut self) { self.outputs_count = ::std::option::Option::None; } pub fn has_outputs_count(&self) -> bool { self.outputs_count.is_some() } // Param is passed by value, moved pub fn set_outputs_count(&mut self, v: u32) { self.outputs_count = ::std::option::Option::Some(v); } // optional uint32 extra_data_len = 9; pub fn extra_data_len(&self) -> u32 { self.extra_data_len.unwrap_or(0u32) } pub fn clear_extra_data_len(&mut self) { self.extra_data_len = ::std::option::Option::None; } pub fn has_extra_data_len(&self) -> bool { self.extra_data_len.is_some() } // Param is passed by value, moved pub fn set_extra_data_len(&mut self, v: u32) { self.extra_data_len = ::std::option::Option::Some(v); } // optional uint32 expiry = 10; pub fn expiry(&self) -> u32 { self.expiry.unwrap_or(0) } pub fn clear_expiry(&mut self) { self.expiry = ::std::option::Option::None; } pub fn has_expiry(&self) -> bool { self.expiry.is_some() } // Param is passed by value, moved pub fn set_expiry(&mut self, v: u32) { self.expiry = ::std::option::Option::Some(v); } // optional uint32 version_group_id = 12; pub fn version_group_id(&self) -> u32 { self.version_group_id.unwrap_or(0) } pub fn clear_version_group_id(&mut self) { self.version_group_id = ::std::option::Option::None; } pub fn has_version_group_id(&self) -> bool { self.version_group_id.is_some() } // Param is passed by value, moved pub fn set_version_group_id(&mut self, v: u32) { self.version_group_id = ::std::option::Option::Some(v); } // optional uint32 timestamp = 13; pub fn timestamp(&self) -> u32 { self.timestamp.unwrap_or(0) } pub fn clear_timestamp(&mut self) { self.timestamp = ::std::option::Option::None; } pub fn has_timestamp(&self) -> bool { self.timestamp.is_some() } // Param is passed by value, moved pub fn set_timestamp(&mut self, v: u32) { self.timestamp = ::std::option::Option::Some(v); } // optional uint32 branch_id = 14; pub fn branch_id(&self) -> u32 { self.branch_id.unwrap_or(0) } pub fn clear_branch_id(&mut self) { self.branch_id = ::std::option::Option::None; } pub fn has_branch_id(&self) -> bool { self.branch_id.is_some() } // Param is passed by value, moved pub fn set_branch_id(&mut self, v: u32) { self.branch_id = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(9); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "version", |m: &PrevTx| { &m.version }, |m: &mut PrevTx| { &mut m.version }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "lock_time", |m: &PrevTx| { &m.lock_time }, |m: &mut PrevTx| { &mut m.lock_time }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "inputs_count", |m: &PrevTx| { &m.inputs_count }, |m: &mut PrevTx| { &mut m.inputs_count }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "outputs_count", |m: &PrevTx| { &m.outputs_count }, |m: &mut PrevTx| { &mut m.outputs_count }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "extra_data_len", |m: &PrevTx| { &m.extra_data_len }, |m: &mut PrevTx| { &mut m.extra_data_len }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "expiry", |m: &PrevTx| { &m.expiry }, |m: &mut PrevTx| { &mut m.expiry }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "version_group_id", |m: &PrevTx| { &m.version_group_id }, |m: &mut PrevTx| { &mut m.version_group_id }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "timestamp", |m: &PrevTx| { &m.timestamp }, |m: &mut PrevTx| { &mut m.timestamp }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "branch_id", |m: &PrevTx| { &m.branch_id }, |m: &mut PrevTx| { &mut m.branch_id }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "PrevTx", fields, oneofs, ) } } impl ::protobuf::Message for PrevTx { const NAME: &'static str = "PrevTx"; fn is_initialized(&self) -> bool { if self.version.is_none() { return false; } if self.lock_time.is_none() { return false; } if self.inputs_count.is_none() { return false; } if self.outputs_count.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.version = ::std::option::Option::Some(is.read_uint32()?); }, 32 => { self.lock_time = ::std::option::Option::Some(is.read_uint32()?); }, 48 => { self.inputs_count = ::std::option::Option::Some(is.read_uint32()?); }, 56 => { self.outputs_count = ::std::option::Option::Some(is.read_uint32()?); }, 72 => { self.extra_data_len = ::std::option::Option::Some(is.read_uint32()?); }, 80 => { self.expiry = ::std::option::Option::Some(is.read_uint32()?); }, 96 => { self.version_group_id = ::std::option::Option::Some(is.read_uint32()?); }, 104 => { self.timestamp = ::std::option::Option::Some(is.read_uint32()?); }, 112 => { self.branch_id = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.version { my_size += ::protobuf::rt::uint32_size(1, v); } if let Some(v) = self.lock_time { my_size += ::protobuf::rt::uint32_size(4, v); } if let Some(v) = self.inputs_count { my_size += ::protobuf::rt::uint32_size(6, v); } if let Some(v) = self.outputs_count { my_size += ::protobuf::rt::uint32_size(7, v); } if let Some(v) = self.extra_data_len { my_size += ::protobuf::rt::uint32_size(9, v); } if let Some(v) = self.expiry { my_size += ::protobuf::rt::uint32_size(10, v); } if let Some(v) = self.version_group_id { my_size += ::protobuf::rt::uint32_size(12, v); } if let Some(v) = self.timestamp { my_size += ::protobuf::rt::uint32_size(13, v); } if let Some(v) = self.branch_id { my_size += ::protobuf::rt::uint32_size(14, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.version { os.write_uint32(1, v)?; } if let Some(v) = self.lock_time { os.write_uint32(4, v)?; } if let Some(v) = self.inputs_count { os.write_uint32(6, v)?; } if let Some(v) = self.outputs_count { os.write_uint32(7, v)?; } if let Some(v) = self.extra_data_len { os.write_uint32(9, v)?; } if let Some(v) = self.expiry { os.write_uint32(10, v)?; } if let Some(v) = self.version_group_id { os.write_uint32(12, v)?; } if let Some(v) = self.timestamp { os.write_uint32(13, v)?; } if let Some(v) = self.branch_id { os.write_uint32(14, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> PrevTx { PrevTx::new() } fn clear(&mut self) { self.version = ::std::option::Option::None; self.lock_time = ::std::option::Option::None; self.inputs_count = ::std::option::Option::None; self.outputs_count = ::std::option::Option::None; self.extra_data_len = ::std::option::Option::None; self.expiry = ::std::option::Option::None; self.version_group_id = ::std::option::Option::None; self.timestamp = ::std::option::Option::None; self.branch_id = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static PrevTx { static instance: PrevTx = PrevTx { version: ::std::option::Option::None, lock_time: ::std::option::Option::None, inputs_count: ::std::option::Option::None, outputs_count: ::std::option::Option::None, extra_data_len: ::std::option::Option::None, expiry: ::std::option::Option::None, version_group_id: ::std::option::Option::None, timestamp: ::std::option::Option::None, branch_id: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for PrevTx { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("PrevTx").unwrap()).clone() } } impl ::std::fmt::Display for PrevTx { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for PrevTx { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.PrevInput) #[derive(PartialEq,Clone,Default,Debug)] pub struct PrevInput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevInput.prev_hash) pub prev_hash: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevInput.prev_index) pub prev_index: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevInput.script_sig) pub script_sig: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevInput.sequence) pub sequence: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevInput.decred_tree) pub decred_tree: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.PrevInput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a PrevInput { fn default() -> &'a PrevInput { ::default_instance() } } impl PrevInput { pub fn new() -> PrevInput { ::std::default::Default::default() } // required bytes prev_hash = 2; pub fn prev_hash(&self) -> &[u8] { match self.prev_hash.as_ref() { Some(v) => v, None => &[], } } pub fn clear_prev_hash(&mut self) { self.prev_hash = ::std::option::Option::None; } pub fn has_prev_hash(&self) -> bool { self.prev_hash.is_some() } // Param is passed by value, moved pub fn set_prev_hash(&mut self, v: ::std::vec::Vec) { self.prev_hash = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_prev_hash(&mut self) -> &mut ::std::vec::Vec { if self.prev_hash.is_none() { self.prev_hash = ::std::option::Option::Some(::std::vec::Vec::new()); } self.prev_hash.as_mut().unwrap() } // Take field pub fn take_prev_hash(&mut self) -> ::std::vec::Vec { self.prev_hash.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required uint32 prev_index = 3; pub fn prev_index(&self) -> u32 { self.prev_index.unwrap_or(0) } pub fn clear_prev_index(&mut self) { self.prev_index = ::std::option::Option::None; } pub fn has_prev_index(&self) -> bool { self.prev_index.is_some() } // Param is passed by value, moved pub fn set_prev_index(&mut self, v: u32) { self.prev_index = ::std::option::Option::Some(v); } // required bytes script_sig = 4; pub fn script_sig(&self) -> &[u8] { match self.script_sig.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_sig(&mut self) { self.script_sig = ::std::option::Option::None; } pub fn has_script_sig(&self) -> bool { self.script_sig.is_some() } // Param is passed by value, moved pub fn set_script_sig(&mut self, v: ::std::vec::Vec) { self.script_sig = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_sig(&mut self) -> &mut ::std::vec::Vec { if self.script_sig.is_none() { self.script_sig = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_sig.as_mut().unwrap() } // Take field pub fn take_script_sig(&mut self) -> ::std::vec::Vec { self.script_sig.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required uint32 sequence = 5; pub fn sequence(&self) -> u32 { self.sequence.unwrap_or(0) } pub fn clear_sequence(&mut self) { self.sequence = ::std::option::Option::None; } pub fn has_sequence(&self) -> bool { self.sequence.is_some() } // Param is passed by value, moved pub fn set_sequence(&mut self, v: u32) { self.sequence = ::std::option::Option::Some(v); } // optional uint32 decred_tree = 9; pub fn decred_tree(&self) -> u32 { self.decred_tree.unwrap_or(0) } pub fn clear_decred_tree(&mut self) { self.decred_tree = ::std::option::Option::None; } pub fn has_decred_tree(&self) -> bool { self.decred_tree.is_some() } // Param is passed by value, moved pub fn set_decred_tree(&mut self, v: u32) { self.decred_tree = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "prev_hash", |m: &PrevInput| { &m.prev_hash }, |m: &mut PrevInput| { &mut m.prev_hash }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "prev_index", |m: &PrevInput| { &m.prev_index }, |m: &mut PrevInput| { &mut m.prev_index }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_sig", |m: &PrevInput| { &m.script_sig }, |m: &mut PrevInput| { &mut m.script_sig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "sequence", |m: &PrevInput| { &m.sequence }, |m: &mut PrevInput| { &mut m.sequence }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_tree", |m: &PrevInput| { &m.decred_tree }, |m: &mut PrevInput| { &mut m.decred_tree }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "PrevInput", fields, oneofs, ) } } impl ::protobuf::Message for PrevInput { const NAME: &'static str = "PrevInput"; fn is_initialized(&self) -> bool { if self.prev_hash.is_none() { return false; } if self.prev_index.is_none() { return false; } if self.script_sig.is_none() { return false; } if self.sequence.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 18 => { self.prev_hash = ::std::option::Option::Some(is.read_bytes()?); }, 24 => { self.prev_index = ::std::option::Option::Some(is.read_uint32()?); }, 34 => { self.script_sig = ::std::option::Option::Some(is.read_bytes()?); }, 40 => { self.sequence = ::std::option::Option::Some(is.read_uint32()?); }, 72 => { self.decred_tree = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.prev_hash.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.prev_index { my_size += ::protobuf::rt::uint32_size(3, v); } if let Some(v) = self.script_sig.as_ref() { my_size += ::protobuf::rt::bytes_size(4, &v); } if let Some(v) = self.sequence { my_size += ::protobuf::rt::uint32_size(5, v); } if let Some(v) = self.decred_tree { my_size += ::protobuf::rt::uint32_size(9, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.prev_hash.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.prev_index { os.write_uint32(3, v)?; } if let Some(v) = self.script_sig.as_ref() { os.write_bytes(4, v)?; } if let Some(v) = self.sequence { os.write_uint32(5, v)?; } if let Some(v) = self.decred_tree { os.write_uint32(9, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> PrevInput { PrevInput::new() } fn clear(&mut self) { self.prev_hash = ::std::option::Option::None; self.prev_index = ::std::option::Option::None; self.script_sig = ::std::option::Option::None; self.sequence = ::std::option::Option::None; self.decred_tree = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static PrevInput { static instance: PrevInput = PrevInput { prev_hash: ::std::option::Option::None, prev_index: ::std::option::Option::None, script_sig: ::std::option::Option::None, sequence: ::std::option::Option::None, decred_tree: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for PrevInput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("PrevInput").unwrap()).clone() } } impl ::std::fmt::Display for PrevInput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for PrevInput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.PrevOutput) #[derive(PartialEq,Clone,Default,Debug)] pub struct PrevOutput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevOutput.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevOutput.script_pubkey) pub script_pubkey: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.PrevOutput.decred_script_version) pub decred_script_version: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.PrevOutput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a PrevOutput { fn default() -> &'a PrevOutput { ::default_instance() } } impl PrevOutput { pub fn new() -> PrevOutput { ::std::default::Default::default() } // required uint64 amount = 1; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // required bytes script_pubkey = 2; pub fn script_pubkey(&self) -> &[u8] { match self.script_pubkey.as_ref() { Some(v) => v, None => &[], } } pub fn clear_script_pubkey(&mut self) { self.script_pubkey = ::std::option::Option::None; } pub fn has_script_pubkey(&self) -> bool { self.script_pubkey.is_some() } // Param is passed by value, moved pub fn set_script_pubkey(&mut self, v: ::std::vec::Vec) { self.script_pubkey = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_script_pubkey(&mut self) -> &mut ::std::vec::Vec { if self.script_pubkey.is_none() { self.script_pubkey = ::std::option::Option::Some(::std::vec::Vec::new()); } self.script_pubkey.as_mut().unwrap() } // Take field pub fn take_script_pubkey(&mut self) -> ::std::vec::Vec { self.script_pubkey.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // optional uint32 decred_script_version = 3; pub fn decred_script_version(&self) -> u32 { self.decred_script_version.unwrap_or(0) } pub fn clear_decred_script_version(&mut self) { self.decred_script_version = ::std::option::Option::None; } pub fn has_decred_script_version(&self) -> bool { self.decred_script_version.is_some() } // Param is passed by value, moved pub fn set_decred_script_version(&mut self, v: u32) { self.decred_script_version = ::std::option::Option::Some(v); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(3); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &PrevOutput| { &m.amount }, |m: &mut PrevOutput| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_pubkey", |m: &PrevOutput| { &m.script_pubkey }, |m: &mut PrevOutput| { &mut m.script_pubkey }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "decred_script_version", |m: &PrevOutput| { &m.decred_script_version }, |m: &mut PrevOutput| { &mut m.decred_script_version }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "PrevOutput", fields, oneofs, ) } } impl ::protobuf::Message for PrevOutput { const NAME: &'static str = "PrevOutput"; fn is_initialized(&self) -> bool { if self.amount.is_none() { return false; } if self.script_pubkey.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 18 => { self.script_pubkey = ::std::option::Option::Some(is.read_bytes()?); }, 24 => { self.decred_script_version = ::std::option::Option::Some(is.read_uint32()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(1, v); } if let Some(v) = self.script_pubkey.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } if let Some(v) = self.decred_script_version { my_size += ::protobuf::rt::uint32_size(3, v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.amount { os.write_uint64(1, v)?; } if let Some(v) = self.script_pubkey.as_ref() { os.write_bytes(2, v)?; } if let Some(v) = self.decred_script_version { os.write_uint32(3, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> PrevOutput { PrevOutput::new() } fn clear(&mut self) { self.amount = ::std::option::Option::None; self.script_pubkey = ::std::option::Option::None; self.decred_script_version = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static PrevOutput { static instance: PrevOutput = PrevOutput { amount: ::std::option::Option::None, script_pubkey: ::std::option::Option::None, decred_script_version: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for PrevOutput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("PrevOutput").unwrap()).clone() } } impl ::std::fmt::Display for PrevOutput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for PrevOutput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPaymentRequest) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPaymentRequest { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.nonce) pub nonce: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.recipient_name) pub recipient_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.memos) pub memos: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.amount) pub amount: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.signature) pub signature: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPaymentRequest { fn default() -> &'a TxAckPaymentRequest { ::default_instance() } } impl TxAckPaymentRequest { pub fn new() -> TxAckPaymentRequest { ::std::default::Default::default() } // optional bytes nonce = 1; pub fn nonce(&self) -> &[u8] { match self.nonce.as_ref() { Some(v) => v, None => &[], } } pub fn clear_nonce(&mut self) { self.nonce = ::std::option::Option::None; } pub fn has_nonce(&self) -> bool { self.nonce.is_some() } // Param is passed by value, moved pub fn set_nonce(&mut self, v: ::std::vec::Vec) { self.nonce = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_nonce(&mut self) -> &mut ::std::vec::Vec { if self.nonce.is_none() { self.nonce = ::std::option::Option::Some(::std::vec::Vec::new()); } self.nonce.as_mut().unwrap() } // Take field pub fn take_nonce(&mut self) -> ::std::vec::Vec { self.nonce.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required string recipient_name = 2; pub fn recipient_name(&self) -> &str { match self.recipient_name.as_ref() { Some(v) => v, None => "", } } pub fn clear_recipient_name(&mut self) { self.recipient_name = ::std::option::Option::None; } pub fn has_recipient_name(&self) -> bool { self.recipient_name.is_some() } // Param is passed by value, moved pub fn set_recipient_name(&mut self, v: ::std::string::String) { self.recipient_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_recipient_name(&mut self) -> &mut ::std::string::String { if self.recipient_name.is_none() { self.recipient_name = ::std::option::Option::Some(::std::string::String::new()); } self.recipient_name.as_mut().unwrap() } // Take field pub fn take_recipient_name(&mut self) -> ::std::string::String { self.recipient_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional uint64 amount = 4; pub fn amount(&self) -> u64 { self.amount.unwrap_or(0) } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: u64) { self.amount = ::std::option::Option::Some(v); } // required bytes signature = 5; pub fn signature(&self) -> &[u8] { match self.signature.as_ref() { Some(v) => v, None => &[], } } pub fn clear_signature(&mut self) { self.signature = ::std::option::Option::None; } pub fn has_signature(&self) -> bool { self.signature.is_some() } // Param is passed by value, moved pub fn set_signature(&mut self, v: ::std::vec::Vec) { self.signature = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec { if self.signature.is_none() { self.signature = ::std::option::Option::Some(::std::vec::Vec::new()); } self.signature.as_mut().unwrap() } // Take field pub fn take_signature(&mut self) -> ::std::vec::Vec { self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "nonce", |m: &TxAckPaymentRequest| { &m.nonce }, |m: &mut TxAckPaymentRequest| { &mut m.nonce }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "recipient_name", |m: &TxAckPaymentRequest| { &m.recipient_name }, |m: &mut TxAckPaymentRequest| { &mut m.recipient_name }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "memos", |m: &TxAckPaymentRequest| { &m.memos }, |m: &mut TxAckPaymentRequest| { &mut m.memos }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &TxAckPaymentRequest| { &m.amount }, |m: &mut TxAckPaymentRequest| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature", |m: &TxAckPaymentRequest| { &m.signature }, |m: &mut TxAckPaymentRequest| { &mut m.signature }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPaymentRequest", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPaymentRequest { const NAME: &'static str = "TxAckPaymentRequest"; fn is_initialized(&self) -> bool { if self.recipient_name.is_none() { return false; } if self.signature.is_none() { return false; } for v in &self.memos { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.nonce = ::std::option::Option::Some(is.read_bytes()?); }, 18 => { self.recipient_name = ::std::option::Option::Some(is.read_string()?); }, 26 => { self.memos.push(is.read_message()?); }, 32 => { self.amount = ::std::option::Option::Some(is.read_uint64()?); }, 42 => { self.signature = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.nonce.as_ref() { my_size += ::protobuf::rt::bytes_size(1, &v); } if let Some(v) = self.recipient_name.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } for value in &self.memos { let len = value.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; }; if let Some(v) = self.amount { my_size += ::protobuf::rt::uint64_size(4, v); } if let Some(v) = self.signature.as_ref() { my_size += ::protobuf::rt::bytes_size(5, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.nonce.as_ref() { os.write_bytes(1, v)?; } if let Some(v) = self.recipient_name.as_ref() { os.write_string(2, v)?; } for v in &self.memos { ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; }; if let Some(v) = self.amount { os.write_uint64(4, v)?; } if let Some(v) = self.signature.as_ref() { os.write_bytes(5, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPaymentRequest { TxAckPaymentRequest::new() } fn clear(&mut self) { self.nonce = ::std::option::Option::None; self.recipient_name = ::std::option::Option::None; self.memos.clear(); self.amount = ::std::option::Option::None; self.signature = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxAckPaymentRequest { static instance: TxAckPaymentRequest = TxAckPaymentRequest { nonce: ::std::option::Option::None, recipient_name: ::std::option::Option::None, memos: ::std::vec::Vec::new(), amount: ::std::option::Option::None, signature: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPaymentRequest { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckPaymentRequest").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPaymentRequest { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPaymentRequest { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAckPaymentRequest` pub mod tx_ack_payment_request { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPaymentRequest.PaymentRequestMemo) #[derive(PartialEq,Clone,Default,Debug)] pub struct PaymentRequestMemo { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.PaymentRequestMemo.text_memo) pub text_memo: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.PaymentRequestMemo.refund_memo) pub refund_memo: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.PaymentRequestMemo.coin_purchase_memo) pub coin_purchase_memo: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.PaymentRequestMemo.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a PaymentRequestMemo { fn default() -> &'a PaymentRequestMemo { ::default_instance() } } impl PaymentRequestMemo { pub fn new() -> PaymentRequestMemo { ::std::default::Default::default() } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(3); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, TextMemo>( "text_memo", |m: &PaymentRequestMemo| { &m.text_memo }, |m: &mut PaymentRequestMemo| { &mut m.text_memo }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RefundMemo>( "refund_memo", |m: &PaymentRequestMemo| { &m.refund_memo }, |m: &mut PaymentRequestMemo| { &mut m.refund_memo }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CoinPurchaseMemo>( "coin_purchase_memo", |m: &PaymentRequestMemo| { &m.coin_purchase_memo }, |m: &mut PaymentRequestMemo| { &mut m.coin_purchase_memo }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPaymentRequest.PaymentRequestMemo", fields, oneofs, ) } } impl ::protobuf::Message for PaymentRequestMemo { const NAME: &'static str = "PaymentRequestMemo"; fn is_initialized(&self) -> bool { for v in &self.text_memo { if !v.is_initialized() { return false; } }; for v in &self.refund_memo { if !v.is_initialized() { return false; } }; for v in &self.coin_purchase_memo { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.text_memo)?; }, 18 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.refund_memo)?; }, 26 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.coin_purchase_memo)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.text_memo.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.refund_memo.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.coin_purchase_memo.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.text_memo.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } if let Some(v) = self.refund_memo.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; } if let Some(v) = self.coin_purchase_memo.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> PaymentRequestMemo { PaymentRequestMemo::new() } fn clear(&mut self) { self.text_memo.clear(); self.refund_memo.clear(); self.coin_purchase_memo.clear(); self.special_fields.clear(); } fn default_instance() -> &'static PaymentRequestMemo { static instance: PaymentRequestMemo = PaymentRequestMemo { text_memo: ::protobuf::MessageField::none(), refund_memo: ::protobuf::MessageField::none(), coin_purchase_memo: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for PaymentRequestMemo { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPaymentRequest.PaymentRequestMemo").unwrap()).clone() } } impl ::std::fmt::Display for PaymentRequestMemo { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for PaymentRequestMemo { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPaymentRequest.TextMemo) #[derive(PartialEq,Clone,Default,Debug)] pub struct TextMemo { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.TextMemo.text) pub text: ::std::option::Option<::std::string::String>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.TextMemo.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TextMemo { fn default() -> &'a TextMemo { ::default_instance() } } impl TextMemo { pub fn new() -> TextMemo { ::std::default::Default::default() } // required string text = 1; pub fn text(&self) -> &str { match self.text.as_ref() { Some(v) => v, None => "", } } pub fn clear_text(&mut self) { self.text = ::std::option::Option::None; } pub fn has_text(&self) -> bool { self.text.is_some() } // Param is passed by value, moved pub fn set_text(&mut self, v: ::std::string::String) { self.text = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_text(&mut self) -> &mut ::std::string::String { if self.text.is_none() { self.text = ::std::option::Option::Some(::std::string::String::new()); } self.text.as_mut().unwrap() } // Take field pub fn take_text(&mut self) -> ::std::string::String { self.text.take().unwrap_or_else(|| ::std::string::String::new()) } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "text", |m: &TextMemo| { &m.text }, |m: &mut TextMemo| { &mut m.text }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPaymentRequest.TextMemo", fields, oneofs, ) } } impl ::protobuf::Message for TextMemo { const NAME: &'static str = "TextMemo"; fn is_initialized(&self) -> bool { if self.text.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.text = ::std::option::Option::Some(is.read_string()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.text.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.text.as_ref() { os.write_string(1, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TextMemo { TextMemo::new() } fn clear(&mut self) { self.text = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TextMemo { static instance: TextMemo = TextMemo { text: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TextMemo { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPaymentRequest.TextMemo").unwrap()).clone() } } impl ::std::fmt::Display for TextMemo { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TextMemo { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPaymentRequest.RefundMemo) #[derive(PartialEq,Clone,Default,Debug)] pub struct RefundMemo { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.RefundMemo.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.RefundMemo.mac) pub mac: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.RefundMemo.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a RefundMemo { fn default() -> &'a RefundMemo { ::default_instance() } } impl RefundMemo { pub fn new() -> RefundMemo { ::std::default::Default::default() } // required string address = 1; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // required bytes mac = 2; pub fn mac(&self) -> &[u8] { match self.mac.as_ref() { Some(v) => v, None => &[], } } pub fn clear_mac(&mut self) { self.mac = ::std::option::Option::None; } pub fn has_mac(&self) -> bool { self.mac.is_some() } // Param is passed by value, moved pub fn set_mac(&mut self, v: ::std::vec::Vec) { self.mac = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_mac(&mut self) -> &mut ::std::vec::Vec { if self.mac.is_none() { self.mac = ::std::option::Option::Some(::std::vec::Vec::new()); } self.mac.as_mut().unwrap() } // Take field pub fn take_mac(&mut self) -> ::std::vec::Vec { self.mac.take().unwrap_or_else(|| ::std::vec::Vec::new()) } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(2); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &RefundMemo| { &m.address }, |m: &mut RefundMemo| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "mac", |m: &RefundMemo| { &m.mac }, |m: &mut RefundMemo| { &mut m.mac }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPaymentRequest.RefundMemo", fields, oneofs, ) } } impl ::protobuf::Message for RefundMemo { const NAME: &'static str = "RefundMemo"; fn is_initialized(&self) -> bool { if self.address.is_none() { return false; } if self.mac.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 18 => { self.mac = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } if let Some(v) = self.mac.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.address.as_ref() { os.write_string(1, v)?; } if let Some(v) = self.mac.as_ref() { os.write_bytes(2, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> RefundMemo { RefundMemo::new() } fn clear(&mut self) { self.address = ::std::option::Option::None; self.mac = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static RefundMemo { static instance: RefundMemo = RefundMemo { address: ::std::option::Option::None, mac: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for RefundMemo { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPaymentRequest.RefundMemo").unwrap()).clone() } } impl ::std::fmt::Display for RefundMemo { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for RefundMemo { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPaymentRequest.CoinPurchaseMemo) #[derive(PartialEq,Clone,Default,Debug)] pub struct CoinPurchaseMemo { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.CoinPurchaseMemo.coin_type) pub coin_type: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.CoinPurchaseMemo.amount) pub amount: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.CoinPurchaseMemo.address) pub address: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.CoinPurchaseMemo.mac) pub mac: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPaymentRequest.CoinPurchaseMemo.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a CoinPurchaseMemo { fn default() -> &'a CoinPurchaseMemo { ::default_instance() } } impl CoinPurchaseMemo { pub fn new() -> CoinPurchaseMemo { ::std::default::Default::default() } // required uint32 coin_type = 1; pub fn coin_type(&self) -> u32 { self.coin_type.unwrap_or(0) } pub fn clear_coin_type(&mut self) { self.coin_type = ::std::option::Option::None; } pub fn has_coin_type(&self) -> bool { self.coin_type.is_some() } // Param is passed by value, moved pub fn set_coin_type(&mut self, v: u32) { self.coin_type = ::std::option::Option::Some(v); } // required string amount = 2; pub fn amount(&self) -> &str { match self.amount.as_ref() { Some(v) => v, None => "", } } pub fn clear_amount(&mut self) { self.amount = ::std::option::Option::None; } pub fn has_amount(&self) -> bool { self.amount.is_some() } // Param is passed by value, moved pub fn set_amount(&mut self, v: ::std::string::String) { self.amount = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_amount(&mut self) -> &mut ::std::string::String { if self.amount.is_none() { self.amount = ::std::option::Option::Some(::std::string::String::new()); } self.amount.as_mut().unwrap() } // Take field pub fn take_amount(&mut self) -> ::std::string::String { self.amount.take().unwrap_or_else(|| ::std::string::String::new()) } // required string address = 3; pub fn address(&self) -> &str { match self.address.as_ref() { Some(v) => v, None => "", } } pub fn clear_address(&mut self) { self.address = ::std::option::Option::None; } pub fn has_address(&self) -> bool { self.address.is_some() } // Param is passed by value, moved pub fn set_address(&mut self, v: ::std::string::String) { self.address = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_address(&mut self) -> &mut ::std::string::String { if self.address.is_none() { self.address = ::std::option::Option::Some(::std::string::String::new()); } self.address.as_mut().unwrap() } // Take field pub fn take_address(&mut self) -> ::std::string::String { self.address.take().unwrap_or_else(|| ::std::string::String::new()) } // required bytes mac = 4; pub fn mac(&self) -> &[u8] { match self.mac.as_ref() { Some(v) => v, None => &[], } } pub fn clear_mac(&mut self) { self.mac = ::std::option::Option::None; } pub fn has_mac(&self) -> bool { self.mac.is_some() } // Param is passed by value, moved pub fn set_mac(&mut self, v: ::std::vec::Vec) { self.mac = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_mac(&mut self) -> &mut ::std::vec::Vec { if self.mac.is_none() { self.mac = ::std::option::Option::Some(::std::vec::Vec::new()); } self.mac.as_mut().unwrap() } // Take field pub fn take_mac(&mut self) -> ::std::vec::Vec { self.mac.take().unwrap_or_else(|| ::std::vec::Vec::new()) } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(4); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_type", |m: &CoinPurchaseMemo| { &m.coin_type }, |m: &mut CoinPurchaseMemo| { &mut m.coin_type }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount", |m: &CoinPurchaseMemo| { &m.amount }, |m: &mut CoinPurchaseMemo| { &mut m.amount }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "address", |m: &CoinPurchaseMemo| { &m.address }, |m: &mut CoinPurchaseMemo| { &mut m.address }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "mac", |m: &CoinPurchaseMemo| { &m.mac }, |m: &mut CoinPurchaseMemo| { &mut m.mac }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPaymentRequest.CoinPurchaseMemo", fields, oneofs, ) } } impl ::protobuf::Message for CoinPurchaseMemo { const NAME: &'static str = "CoinPurchaseMemo"; fn is_initialized(&self) -> bool { if self.coin_type.is_none() { return false; } if self.amount.is_none() { return false; } if self.address.is_none() { return false; } if self.mac.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 8 => { self.coin_type = ::std::option::Option::Some(is.read_uint32()?); }, 18 => { self.amount = ::std::option::Option::Some(is.read_string()?); }, 26 => { self.address = ::std::option::Option::Some(is.read_string()?); }, 34 => { self.mac = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.coin_type { my_size += ::protobuf::rt::uint32_size(1, v); } if let Some(v) = self.amount.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.address.as_ref() { my_size += ::protobuf::rt::string_size(3, &v); } if let Some(v) = self.mac.as_ref() { my_size += ::protobuf::rt::bytes_size(4, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.coin_type { os.write_uint32(1, v)?; } if let Some(v) = self.amount.as_ref() { os.write_string(2, v)?; } if let Some(v) = self.address.as_ref() { os.write_string(3, v)?; } if let Some(v) = self.mac.as_ref() { os.write_bytes(4, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> CoinPurchaseMemo { CoinPurchaseMemo::new() } fn clear(&mut self) { self.coin_type = ::std::option::Option::None; self.amount = ::std::option::Option::None; self.address = ::std::option::Option::None; self.mac = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static CoinPurchaseMemo { static instance: CoinPurchaseMemo = CoinPurchaseMemo { coin_type: ::std::option::Option::None, amount: ::std::option::Option::None, address: ::std::option::Option::None, mac: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for CoinPurchaseMemo { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPaymentRequest.CoinPurchaseMemo").unwrap()).clone() } } impl ::std::fmt::Display for CoinPurchaseMemo { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for CoinPurchaseMemo { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckInput) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckInput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckInput.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckInput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckInput { fn default() -> &'a TxAckInput { ::default_instance() } } impl TxAckInput { pub fn new() -> TxAckInput { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_ack_input::TxAckInputWrapper>( "tx", |m: &TxAckInput| { &m.tx }, |m: &mut TxAckInput| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckInput", fields, oneofs, ) } } impl ::protobuf::Message for TxAckInput { const NAME: &'static str = "TxAckInput"; fn is_initialized(&self) -> bool { if self.tx.is_none() { return false; } for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckInput { TxAckInput::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckInput { static instance: TxAckInput = TxAckInput { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckInput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckInput").unwrap()).clone() } } impl ::std::fmt::Display for TxAckInput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckInput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAckInput` pub mod tx_ack_input { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckInput.TxAckInputWrapper) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckInputWrapper { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckInput.TxAckInputWrapper.input) pub input: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckInput.TxAckInputWrapper.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckInputWrapper { fn default() -> &'a TxAckInputWrapper { ::default_instance() } } impl TxAckInputWrapper { pub fn new() -> TxAckInputWrapper { ::std::default::Default::default() } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::TxInput>( "input", |m: &TxAckInputWrapper| { &m.input }, |m: &mut TxAckInputWrapper| { &mut m.input }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckInput.TxAckInputWrapper", fields, oneofs, ) } } impl ::protobuf::Message for TxAckInputWrapper { const NAME: &'static str = "TxAckInputWrapper"; fn is_initialized(&self) -> bool { if self.input.is_none() { return false; } for v in &self.input { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 18 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.input)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.input.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.input.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckInputWrapper { TxAckInputWrapper::new() } fn clear(&mut self) { self.input.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckInputWrapper { static instance: TxAckInputWrapper = TxAckInputWrapper { input: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckInputWrapper { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckInput.TxAckInputWrapper").unwrap()).clone() } } impl ::std::fmt::Display for TxAckInputWrapper { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckInputWrapper { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckOutput) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckOutput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckOutput.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckOutput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckOutput { fn default() -> &'a TxAckOutput { ::default_instance() } } impl TxAckOutput { pub fn new() -> TxAckOutput { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_ack_output::TxAckOutputWrapper>( "tx", |m: &TxAckOutput| { &m.tx }, |m: &mut TxAckOutput| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckOutput", fields, oneofs, ) } } impl ::protobuf::Message for TxAckOutput { const NAME: &'static str = "TxAckOutput"; fn is_initialized(&self) -> bool { if self.tx.is_none() { return false; } for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckOutput { TxAckOutput::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckOutput { static instance: TxAckOutput = TxAckOutput { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckOutput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckOutput").unwrap()).clone() } } impl ::std::fmt::Display for TxAckOutput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckOutput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAckOutput` pub mod tx_ack_output { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckOutput.TxAckOutputWrapper) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckOutputWrapper { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckOutput.TxAckOutputWrapper.output) pub output: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckOutput.TxAckOutputWrapper.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckOutputWrapper { fn default() -> &'a TxAckOutputWrapper { ::default_instance() } } impl TxAckOutputWrapper { pub fn new() -> TxAckOutputWrapper { ::std::default::Default::default() } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::TxOutput>( "output", |m: &TxAckOutputWrapper| { &m.output }, |m: &mut TxAckOutputWrapper| { &mut m.output }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckOutput.TxAckOutputWrapper", fields, oneofs, ) } } impl ::protobuf::Message for TxAckOutputWrapper { const NAME: &'static str = "TxAckOutputWrapper"; fn is_initialized(&self) -> bool { if self.output.is_none() { return false; } for v in &self.output { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 42 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.output)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.output.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.output.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckOutputWrapper { TxAckOutputWrapper::new() } fn clear(&mut self) { self.output.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckOutputWrapper { static instance: TxAckOutputWrapper = TxAckOutputWrapper { output: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckOutputWrapper { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckOutput.TxAckOutputWrapper").unwrap()).clone() } } impl ::std::fmt::Display for TxAckOutputWrapper { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckOutputWrapper { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevMeta) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevMeta { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevMeta.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevMeta.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevMeta { fn default() -> &'a TxAckPrevMeta { ::default_instance() } } impl TxAckPrevMeta { pub fn new() -> TxAckPrevMeta { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, PrevTx>( "tx", |m: &TxAckPrevMeta| { &m.tx }, |m: &mut TxAckPrevMeta| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevMeta", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevMeta { const NAME: &'static str = "TxAckPrevMeta"; fn is_initialized(&self) -> bool { if self.tx.is_none() { return false; } for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevMeta { TxAckPrevMeta::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevMeta { static instance: TxAckPrevMeta = TxAckPrevMeta { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevMeta { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckPrevMeta").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevMeta { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevMeta { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevInput) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevInput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevInput.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevInput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevInput { fn default() -> &'a TxAckPrevInput { ::default_instance() } } impl TxAckPrevInput { pub fn new() -> TxAckPrevInput { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_ack_prev_input::TxAckPrevInputWrapper>( "tx", |m: &TxAckPrevInput| { &m.tx }, |m: &mut TxAckPrevInput| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevInput", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevInput { const NAME: &'static str = "TxAckPrevInput"; fn is_initialized(&self) -> bool { if self.tx.is_none() { return false; } for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevInput { TxAckPrevInput::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevInput { static instance: TxAckPrevInput = TxAckPrevInput { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevInput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckPrevInput").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevInput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevInput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAckPrevInput` pub mod tx_ack_prev_input { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevInput.TxAckPrevInputWrapper) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevInputWrapper { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevInput.TxAckPrevInputWrapper.input) pub input: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevInput.TxAckPrevInputWrapper.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevInputWrapper { fn default() -> &'a TxAckPrevInputWrapper { ::default_instance() } } impl TxAckPrevInputWrapper { pub fn new() -> TxAckPrevInputWrapper { ::std::default::Default::default() } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::PrevInput>( "input", |m: &TxAckPrevInputWrapper| { &m.input }, |m: &mut TxAckPrevInputWrapper| { &mut m.input }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevInput.TxAckPrevInputWrapper", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevInputWrapper { const NAME: &'static str = "TxAckPrevInputWrapper"; fn is_initialized(&self) -> bool { if self.input.is_none() { return false; } for v in &self.input { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 18 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.input)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.input.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.input.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevInputWrapper { TxAckPrevInputWrapper::new() } fn clear(&mut self) { self.input.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevInputWrapper { static instance: TxAckPrevInputWrapper = TxAckPrevInputWrapper { input: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevInputWrapper { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPrevInput.TxAckPrevInputWrapper").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevInputWrapper { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevInputWrapper { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevOutput) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevOutput { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevOutput.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevOutput.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevOutput { fn default() -> &'a TxAckPrevOutput { ::default_instance() } } impl TxAckPrevOutput { pub fn new() -> TxAckPrevOutput { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_ack_prev_output::TxAckPrevOutputWrapper>( "tx", |m: &TxAckPrevOutput| { &m.tx }, |m: &mut TxAckPrevOutput| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevOutput", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevOutput { const NAME: &'static str = "TxAckPrevOutput"; fn is_initialized(&self) -> bool { if self.tx.is_none() { return false; } for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevOutput { TxAckPrevOutput::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevOutput { static instance: TxAckPrevOutput = TxAckPrevOutput { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevOutput { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckPrevOutput").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevOutput { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevOutput { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAckPrevOutput` pub mod tx_ack_prev_output { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevOutput.TxAckPrevOutputWrapper) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevOutputWrapper { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevOutput.TxAckPrevOutputWrapper.output) pub output: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevOutput.TxAckPrevOutputWrapper.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevOutputWrapper { fn default() -> &'a TxAckPrevOutputWrapper { ::default_instance() } } impl TxAckPrevOutputWrapper { pub fn new() -> TxAckPrevOutputWrapper { ::std::default::Default::default() } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::PrevOutput>( "output", |m: &TxAckPrevOutputWrapper| { &m.output }, |m: &mut TxAckPrevOutputWrapper| { &mut m.output }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevOutput.TxAckPrevOutputWrapper", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevOutputWrapper { const NAME: &'static str = "TxAckPrevOutputWrapper"; fn is_initialized(&self) -> bool { if self.output.is_none() { return false; } for v in &self.output { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 26 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.output)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.output.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.output.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevOutputWrapper { TxAckPrevOutputWrapper::new() } fn clear(&mut self) { self.output.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevOutputWrapper { static instance: TxAckPrevOutputWrapper = TxAckPrevOutputWrapper { output: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevOutputWrapper { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPrevOutput.TxAckPrevOutputWrapper").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevOutputWrapper { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevOutputWrapper { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevExtraData) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevExtraData { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevExtraData.tx) pub tx: ::protobuf::MessageField, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevExtraData.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevExtraData { fn default() -> &'a TxAckPrevExtraData { ::default_instance() } } impl TxAckPrevExtraData { pub fn new() -> TxAckPrevExtraData { ::std::default::Default::default() } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, tx_ack_prev_extra_data::TxAckPrevExtraDataWrapper>( "tx", |m: &TxAckPrevExtraData| { &m.tx }, |m: &mut TxAckPrevExtraData| { &mut m.tx }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevExtraData", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevExtraData { const NAME: &'static str = "TxAckPrevExtraData"; fn is_initialized(&self) -> bool { if self.tx.is_none() { return false; } for v in &self.tx { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.tx)?; }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.tx.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.tx.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevExtraData { TxAckPrevExtraData::new() } fn clear(&mut self) { self.tx.clear(); self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevExtraData { static instance: TxAckPrevExtraData = TxAckPrevExtraData { tx: ::protobuf::MessageField::none(), special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevExtraData { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("TxAckPrevExtraData").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevExtraData { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevExtraData { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } /// Nested message and enums of message `TxAckPrevExtraData` pub mod tx_ack_prev_extra_data { // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.TxAckPrevExtraData.TxAckPrevExtraDataWrapper) #[derive(PartialEq,Clone,Default,Debug)] pub struct TxAckPrevExtraDataWrapper { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.TxAckPrevExtraData.TxAckPrevExtraDataWrapper.extra_data_chunk) pub extra_data_chunk: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.TxAckPrevExtraData.TxAckPrevExtraDataWrapper.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a TxAckPrevExtraDataWrapper { fn default() -> &'a TxAckPrevExtraDataWrapper { ::default_instance() } } impl TxAckPrevExtraDataWrapper { pub fn new() -> TxAckPrevExtraDataWrapper { ::std::default::Default::default() } // required bytes extra_data_chunk = 8; pub fn extra_data_chunk(&self) -> &[u8] { match self.extra_data_chunk.as_ref() { Some(v) => v, None => &[], } } pub fn clear_extra_data_chunk(&mut self) { self.extra_data_chunk = ::std::option::Option::None; } pub fn has_extra_data_chunk(&self) -> bool { self.extra_data_chunk.is_some() } // Param is passed by value, moved pub fn set_extra_data_chunk(&mut self, v: ::std::vec::Vec) { self.extra_data_chunk = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_extra_data_chunk(&mut self) -> &mut ::std::vec::Vec { if self.extra_data_chunk.is_none() { self.extra_data_chunk = ::std::option::Option::Some(::std::vec::Vec::new()); } self.extra_data_chunk.as_mut().unwrap() } // Take field pub fn take_extra_data_chunk(&mut self) -> ::std::vec::Vec { self.extra_data_chunk.take().unwrap_or_else(|| ::std::vec::Vec::new()) } pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(1); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "extra_data_chunk", |m: &TxAckPrevExtraDataWrapper| { &m.extra_data_chunk }, |m: &mut TxAckPrevExtraDataWrapper| { &mut m.extra_data_chunk }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "TxAckPrevExtraData.TxAckPrevExtraDataWrapper", fields, oneofs, ) } } impl ::protobuf::Message for TxAckPrevExtraDataWrapper { const NAME: &'static str = "TxAckPrevExtraDataWrapper"; fn is_initialized(&self) -> bool { if self.extra_data_chunk.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 66 => { self.extra_data_chunk = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.extra_data_chunk.as_ref() { my_size += ::protobuf::rt::bytes_size(8, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.extra_data_chunk.as_ref() { os.write_bytes(8, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> TxAckPrevExtraDataWrapper { TxAckPrevExtraDataWrapper::new() } fn clear(&mut self) { self.extra_data_chunk = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static TxAckPrevExtraDataWrapper { static instance: TxAckPrevExtraDataWrapper = TxAckPrevExtraDataWrapper { extra_data_chunk: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for TxAckPrevExtraDataWrapper { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TxAckPrevExtraData.TxAckPrevExtraDataWrapper").unwrap()).clone() } } impl ::std::fmt::Display for TxAckPrevExtraDataWrapper { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for TxAckPrevExtraDataWrapper { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.GetOwnershipProof) #[derive(PartialEq,Clone,Default,Debug)] pub struct GetOwnershipProof { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.multisig) pub multisig: ::protobuf::MessageField, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.user_confirmation) pub user_confirmation: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.ownership_ids) pub ownership_ids: ::std::vec::Vec<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.GetOwnershipProof.commitment_data) pub commitment_data: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.GetOwnershipProof.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a GetOwnershipProof { fn default() -> &'a GetOwnershipProof { ::default_instance() } } impl GetOwnershipProof { pub fn new() -> GetOwnershipProof { ::std::default::Default::default() } // optional string coin_name = 2; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 3; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDWITNESS), None => InputScriptType::SPENDWITNESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional bool user_confirmation = 5; pub fn user_confirmation(&self) -> bool { self.user_confirmation.unwrap_or(false) } pub fn clear_user_confirmation(&mut self) { self.user_confirmation = ::std::option::Option::None; } pub fn has_user_confirmation(&self) -> bool { self.user_confirmation.is_some() } // Param is passed by value, moved pub fn set_user_confirmation(&mut self, v: bool) { self.user_confirmation = ::std::option::Option::Some(v); } // optional bytes commitment_data = 7; pub fn commitment_data(&self) -> &[u8] { match self.commitment_data.as_ref() { Some(v) => v, None => b"", } } pub fn clear_commitment_data(&mut self) { self.commitment_data = ::std::option::Option::None; } pub fn has_commitment_data(&self) -> bool { self.commitment_data.is_some() } // Param is passed by value, moved pub fn set_commitment_data(&mut self, v: ::std::vec::Vec) { self.commitment_data = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_commitment_data(&mut self) -> &mut ::std::vec::Vec { if self.commitment_data.is_none() { self.commitment_data = ::std::option::Option::Some(::std::vec::Vec::new()); } self.commitment_data.as_mut().unwrap() } // Take field pub fn take_commitment_data(&mut self) -> ::std::vec::Vec { self.commitment_data.take().unwrap_or_else(|| ::std::vec::Vec::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(7); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &GetOwnershipProof| { &m.address_n }, |m: &mut GetOwnershipProof| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &GetOwnershipProof| { &m.coin_name }, |m: &mut GetOwnershipProof| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &GetOwnershipProof| { &m.script_type }, |m: &mut GetOwnershipProof| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, MultisigRedeemScriptType>( "multisig", |m: &GetOwnershipProof| { &m.multisig }, |m: &mut GetOwnershipProof| { &mut m.multisig }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "user_confirmation", |m: &GetOwnershipProof| { &m.user_confirmation }, |m: &mut GetOwnershipProof| { &mut m.user_confirmation }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "ownership_ids", |m: &GetOwnershipProof| { &m.ownership_ids }, |m: &mut GetOwnershipProof| { &mut m.ownership_ids }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "commitment_data", |m: &GetOwnershipProof| { &m.commitment_data }, |m: &mut GetOwnershipProof| { &mut m.commitment_data }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "GetOwnershipProof", fields, oneofs, ) } } impl ::protobuf::Message for GetOwnershipProof { const NAME: &'static str = "GetOwnershipProof"; fn is_initialized(&self) -> bool { for v in &self.multisig { if !v.is_initialized() { return false; } }; true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 8 => { self.address_n.push(is.read_uint32()?); }, 18 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 24 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 34 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.multisig)?; }, 40 => { self.user_confirmation = ::std::option::Option::Some(is.read_bool()?); }, 50 => { self.ownership_ids.push(is.read_bytes()?); }, 58 => { self.commitment_data = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(1, *value); }; if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(2, &v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(3, v.value()); } if let Some(v) = self.multisig.as_ref() { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } if let Some(v) = self.user_confirmation { my_size += 1 + 1; } for value in &self.ownership_ids { my_size += ::protobuf::rt::bytes_size(6, &value); }; if let Some(v) = self.commitment_data.as_ref() { my_size += ::protobuf::rt::bytes_size(7, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { for v in &self.address_n { os.write_uint32(1, *v)?; }; if let Some(v) = self.coin_name.as_ref() { os.write_string(2, v)?; } if let Some(v) = self.script_type { os.write_enum(3, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.multisig.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?; } if let Some(v) = self.user_confirmation { os.write_bool(5, v)?; } for v in &self.ownership_ids { os.write_bytes(6, &v)?; }; if let Some(v) = self.commitment_data.as_ref() { os.write_bytes(7, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> GetOwnershipProof { GetOwnershipProof::new() } fn clear(&mut self) { self.address_n.clear(); self.coin_name = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.multisig.clear(); self.user_confirmation = ::std::option::Option::None; self.ownership_ids.clear(); self.commitment_data = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static GetOwnershipProof { static instance: GetOwnershipProof = GetOwnershipProof { address_n: ::std::vec::Vec::new(), coin_name: ::std::option::Option::None, script_type: ::std::option::Option::None, multisig: ::protobuf::MessageField::none(), user_confirmation: ::std::option::Option::None, ownership_ids: ::std::vec::Vec::new(), commitment_data: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for GetOwnershipProof { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("GetOwnershipProof").unwrap()).clone() } } impl ::std::fmt::Display for GetOwnershipProof { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for GetOwnershipProof { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.OwnershipProof) #[derive(PartialEq,Clone,Default,Debug)] pub struct OwnershipProof { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.OwnershipProof.ownership_proof) pub ownership_proof: ::std::option::Option<::std::vec::Vec>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.OwnershipProof.signature) pub signature: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.OwnershipProof.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a OwnershipProof { fn default() -> &'a OwnershipProof { ::default_instance() } } impl OwnershipProof { pub fn new() -> OwnershipProof { ::std::default::Default::default() } // required bytes ownership_proof = 1; pub fn ownership_proof(&self) -> &[u8] { match self.ownership_proof.as_ref() { Some(v) => v, None => &[], } } pub fn clear_ownership_proof(&mut self) { self.ownership_proof = ::std::option::Option::None; } pub fn has_ownership_proof(&self) -> bool { self.ownership_proof.is_some() } // Param is passed by value, moved pub fn set_ownership_proof(&mut self, v: ::std::vec::Vec) { self.ownership_proof = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_ownership_proof(&mut self) -> &mut ::std::vec::Vec { if self.ownership_proof.is_none() { self.ownership_proof = ::std::option::Option::Some(::std::vec::Vec::new()); } self.ownership_proof.as_mut().unwrap() } // Take field pub fn take_ownership_proof(&mut self) -> ::std::vec::Vec { self.ownership_proof.take().unwrap_or_else(|| ::std::vec::Vec::new()) } // required bytes signature = 2; pub fn signature(&self) -> &[u8] { match self.signature.as_ref() { Some(v) => v, None => &[], } } pub fn clear_signature(&mut self) { self.signature = ::std::option::Option::None; } pub fn has_signature(&self) -> bool { self.signature.is_some() } // Param is passed by value, moved pub fn set_signature(&mut self, v: ::std::vec::Vec) { self.signature = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec { if self.signature.is_none() { self.signature = ::std::option::Option::Some(::std::vec::Vec::new()); } self.signature.as_mut().unwrap() } // Take field pub fn take_signature(&mut self) -> ::std::vec::Vec { self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new()) } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(2); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "ownership_proof", |m: &OwnershipProof| { &m.ownership_proof }, |m: &mut OwnershipProof| { &mut m.ownership_proof }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "signature", |m: &OwnershipProof| { &m.signature }, |m: &mut OwnershipProof| { &mut m.signature }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "OwnershipProof", fields, oneofs, ) } } impl ::protobuf::Message for OwnershipProof { const NAME: &'static str = "OwnershipProof"; fn is_initialized(&self) -> bool { if self.ownership_proof.is_none() { return false; } if self.signature.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.ownership_proof = ::std::option::Option::Some(is.read_bytes()?); }, 18 => { self.signature = ::std::option::Option::Some(is.read_bytes()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.ownership_proof.as_ref() { my_size += ::protobuf::rt::bytes_size(1, &v); } if let Some(v) = self.signature.as_ref() { my_size += ::protobuf::rt::bytes_size(2, &v); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.ownership_proof.as_ref() { os.write_bytes(1, v)?; } if let Some(v) = self.signature.as_ref() { os.write_bytes(2, v)?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> OwnershipProof { OwnershipProof::new() } fn clear(&mut self) { self.ownership_proof = ::std::option::Option::None; self.signature = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static OwnershipProof { static instance: OwnershipProof = OwnershipProof { ownership_proof: ::std::option::Option::None, signature: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for OwnershipProof { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("OwnershipProof").unwrap()).clone() } } impl ::std::fmt::Display for OwnershipProof { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for OwnershipProof { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } // @@protoc_insertion_point(message:hw.trezor.messages.bitcoin.AuthorizeCoinJoin) #[derive(PartialEq,Clone,Default,Debug)] pub struct AuthorizeCoinJoin { // message fields // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.coordinator) pub coordinator: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.max_rounds) pub max_rounds: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.max_coordinator_fee_rate) pub max_coordinator_fee_rate: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.max_fee_per_kvbyte) pub max_fee_per_kvbyte: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.address_n) pub address_n: ::std::vec::Vec, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.coin_name) pub coin_name: ::std::option::Option<::std::string::String>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.script_type) pub script_type: ::std::option::Option<::protobuf::EnumOrUnknown>, // @@protoc_insertion_point(field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.amount_unit) pub amount_unit: ::std::option::Option<::protobuf::EnumOrUnknown>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.bitcoin.AuthorizeCoinJoin.special_fields) pub special_fields: ::protobuf::SpecialFields, } impl<'a> ::std::default::Default for &'a AuthorizeCoinJoin { fn default() -> &'a AuthorizeCoinJoin { ::default_instance() } } impl AuthorizeCoinJoin { pub fn new() -> AuthorizeCoinJoin { ::std::default::Default::default() } // required string coordinator = 1; pub fn coordinator(&self) -> &str { match self.coordinator.as_ref() { Some(v) => v, None => "", } } pub fn clear_coordinator(&mut self) { self.coordinator = ::std::option::Option::None; } pub fn has_coordinator(&self) -> bool { self.coordinator.is_some() } // Param is passed by value, moved pub fn set_coordinator(&mut self, v: ::std::string::String) { self.coordinator = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coordinator(&mut self) -> &mut ::std::string::String { if self.coordinator.is_none() { self.coordinator = ::std::option::Option::Some(::std::string::String::new()); } self.coordinator.as_mut().unwrap() } // Take field pub fn take_coordinator(&mut self) -> ::std::string::String { self.coordinator.take().unwrap_or_else(|| ::std::string::String::new()) } // required uint64 max_rounds = 2; pub fn max_rounds(&self) -> u64 { self.max_rounds.unwrap_or(0) } pub fn clear_max_rounds(&mut self) { self.max_rounds = ::std::option::Option::None; } pub fn has_max_rounds(&self) -> bool { self.max_rounds.is_some() } // Param is passed by value, moved pub fn set_max_rounds(&mut self, v: u64) { self.max_rounds = ::std::option::Option::Some(v); } // required uint32 max_coordinator_fee_rate = 3; pub fn max_coordinator_fee_rate(&self) -> u32 { self.max_coordinator_fee_rate.unwrap_or(0) } pub fn clear_max_coordinator_fee_rate(&mut self) { self.max_coordinator_fee_rate = ::std::option::Option::None; } pub fn has_max_coordinator_fee_rate(&self) -> bool { self.max_coordinator_fee_rate.is_some() } // Param is passed by value, moved pub fn set_max_coordinator_fee_rate(&mut self, v: u32) { self.max_coordinator_fee_rate = ::std::option::Option::Some(v); } // required uint32 max_fee_per_kvbyte = 4; pub fn max_fee_per_kvbyte(&self) -> u32 { self.max_fee_per_kvbyte.unwrap_or(0) } pub fn clear_max_fee_per_kvbyte(&mut self) { self.max_fee_per_kvbyte = ::std::option::Option::None; } pub fn has_max_fee_per_kvbyte(&self) -> bool { self.max_fee_per_kvbyte.is_some() } // Param is passed by value, moved pub fn set_max_fee_per_kvbyte(&mut self, v: u32) { self.max_fee_per_kvbyte = ::std::option::Option::Some(v); } // optional string coin_name = 6; pub fn coin_name(&self) -> &str { match self.coin_name.as_ref() { Some(v) => v, None => "Bitcoin", } } pub fn clear_coin_name(&mut self) { self.coin_name = ::std::option::Option::None; } pub fn has_coin_name(&self) -> bool { self.coin_name.is_some() } // Param is passed by value, moved pub fn set_coin_name(&mut self, v: ::std::string::String) { self.coin_name = ::std::option::Option::Some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. pub fn mut_coin_name(&mut self) -> &mut ::std::string::String { if self.coin_name.is_none() { self.coin_name = ::std::option::Option::Some(::std::string::String::new()); } self.coin_name.as_mut().unwrap() } // Take field pub fn take_coin_name(&mut self) -> ::std::string::String { self.coin_name.take().unwrap_or_else(|| ::std::string::String::new()) } // optional .hw.trezor.messages.bitcoin.InputScriptType script_type = 7; pub fn script_type(&self) -> InputScriptType { match self.script_type { Some(e) => e.enum_value_or(InputScriptType::SPENDADDRESS), None => InputScriptType::SPENDADDRESS, } } pub fn clear_script_type(&mut self) { self.script_type = ::std::option::Option::None; } pub fn has_script_type(&self) -> bool { self.script_type.is_some() } // Param is passed by value, moved pub fn set_script_type(&mut self, v: InputScriptType) { self.script_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } // optional .hw.trezor.messages.bitcoin.AmountUnit amount_unit = 8; pub fn amount_unit(&self) -> AmountUnit { match self.amount_unit { Some(e) => e.enum_value_or(AmountUnit::BITCOIN), None => AmountUnit::BITCOIN, } } pub fn clear_amount_unit(&mut self) { self.amount_unit = ::std::option::Option::None; } pub fn has_amount_unit(&self) -> bool { self.amount_unit.is_some() } // Param is passed by value, moved pub fn set_amount_unit(&mut self, v: AmountUnit) { self.amount_unit = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { let mut fields = ::std::vec::Vec::with_capacity(8); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coordinator", |m: &AuthorizeCoinJoin| { &m.coordinator }, |m: &mut AuthorizeCoinJoin| { &mut m.coordinator }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "max_rounds", |m: &AuthorizeCoinJoin| { &m.max_rounds }, |m: &mut AuthorizeCoinJoin| { &mut m.max_rounds }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "max_coordinator_fee_rate", |m: &AuthorizeCoinJoin| { &m.max_coordinator_fee_rate }, |m: &mut AuthorizeCoinJoin| { &mut m.max_coordinator_fee_rate }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "max_fee_per_kvbyte", |m: &AuthorizeCoinJoin| { &m.max_fee_per_kvbyte }, |m: &mut AuthorizeCoinJoin| { &mut m.max_fee_per_kvbyte }, )); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "address_n", |m: &AuthorizeCoinJoin| { &m.address_n }, |m: &mut AuthorizeCoinJoin| { &mut m.address_n }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "coin_name", |m: &AuthorizeCoinJoin| { &m.coin_name }, |m: &mut AuthorizeCoinJoin| { &mut m.coin_name }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "script_type", |m: &AuthorizeCoinJoin| { &m.script_type }, |m: &mut AuthorizeCoinJoin| { &mut m.script_type }, )); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "amount_unit", |m: &AuthorizeCoinJoin| { &m.amount_unit }, |m: &mut AuthorizeCoinJoin| { &mut m.amount_unit }, )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "AuthorizeCoinJoin", fields, oneofs, ) } } impl ::protobuf::Message for AuthorizeCoinJoin { const NAME: &'static str = "AuthorizeCoinJoin"; fn is_initialized(&self) -> bool { if self.coordinator.is_none() { return false; } if self.max_rounds.is_none() { return false; } if self.max_coordinator_fee_rate.is_none() { return false; } if self.max_fee_per_kvbyte.is_none() { return false; } true } fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { while let Some(tag) = is.read_raw_tag_or_eof()? { match tag { 10 => { self.coordinator = ::std::option::Option::Some(is.read_string()?); }, 16 => { self.max_rounds = ::std::option::Option::Some(is.read_uint64()?); }, 24 => { self.max_coordinator_fee_rate = ::std::option::Option::Some(is.read_uint32()?); }, 32 => { self.max_fee_per_kvbyte = ::std::option::Option::Some(is.read_uint32()?); }, 42 => { is.read_repeated_packed_uint32_into(&mut self.address_n)?; }, 40 => { self.address_n.push(is.read_uint32()?); }, 50 => { self.coin_name = ::std::option::Option::Some(is.read_string()?); }, 56 => { self.script_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, 64 => { self.amount_unit = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, }; } ::std::result::Result::Ok(()) } // Compute sizes of nested messages #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; if let Some(v) = self.coordinator.as_ref() { my_size += ::protobuf::rt::string_size(1, &v); } if let Some(v) = self.max_rounds { my_size += ::protobuf::rt::uint64_size(2, v); } if let Some(v) = self.max_coordinator_fee_rate { my_size += ::protobuf::rt::uint32_size(3, v); } if let Some(v) = self.max_fee_per_kvbyte { my_size += ::protobuf::rt::uint32_size(4, v); } for value in &self.address_n { my_size += ::protobuf::rt::uint32_size(5, *value); }; if let Some(v) = self.coin_name.as_ref() { my_size += ::protobuf::rt::string_size(6, &v); } if let Some(v) = self.script_type { my_size += ::protobuf::rt::int32_size(7, v.value()); } if let Some(v) = self.amount_unit { my_size += ::protobuf::rt::int32_size(8, v.value()); } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size } fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { if let Some(v) = self.coordinator.as_ref() { os.write_string(1, v)?; } if let Some(v) = self.max_rounds { os.write_uint64(2, v)?; } if let Some(v) = self.max_coordinator_fee_rate { os.write_uint32(3, v)?; } if let Some(v) = self.max_fee_per_kvbyte { os.write_uint32(4, v)?; } for v in &self.address_n { os.write_uint32(5, *v)?; }; if let Some(v) = self.coin_name.as_ref() { os.write_string(6, v)?; } if let Some(v) = self.script_type { os.write_enum(7, ::protobuf::EnumOrUnknown::value(&v))?; } if let Some(v) = self.amount_unit { os.write_enum(8, ::protobuf::EnumOrUnknown::value(&v))?; } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } fn special_fields(&self) -> &::protobuf::SpecialFields { &self.special_fields } fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { &mut self.special_fields } fn new() -> AuthorizeCoinJoin { AuthorizeCoinJoin::new() } fn clear(&mut self) { self.coordinator = ::std::option::Option::None; self.max_rounds = ::std::option::Option::None; self.max_coordinator_fee_rate = ::std::option::Option::None; self.max_fee_per_kvbyte = ::std::option::Option::None; self.address_n.clear(); self.coin_name = ::std::option::Option::None; self.script_type = ::std::option::Option::None; self.amount_unit = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static AuthorizeCoinJoin { static instance: AuthorizeCoinJoin = AuthorizeCoinJoin { coordinator: ::std::option::Option::None, max_rounds: ::std::option::Option::None, max_coordinator_fee_rate: ::std::option::Option::None, max_fee_per_kvbyte: ::std::option::Option::None, address_n: ::std::vec::Vec::new(), coin_name: ::std::option::Option::None, script_type: ::std::option::Option::None, amount_unit: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance } } impl ::protobuf::MessageFull for AuthorizeCoinJoin { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().message_by_package_relative_name("AuthorizeCoinJoin").unwrap()).clone() } } impl ::std::fmt::Display for AuthorizeCoinJoin { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } impl ::protobuf::reflect::ProtobufValue for AuthorizeCoinJoin { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] // @@protoc_insertion_point(enum:hw.trezor.messages.bitcoin.InputScriptType) pub enum InputScriptType { // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.InputScriptType.SPENDADDRESS) SPENDADDRESS = 0, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.InputScriptType.SPENDMULTISIG) SPENDMULTISIG = 1, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.InputScriptType.EXTERNAL) EXTERNAL = 2, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.InputScriptType.SPENDWITNESS) SPENDWITNESS = 3, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.InputScriptType.SPENDP2SHWITNESS) SPENDP2SHWITNESS = 4, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.InputScriptType.SPENDTAPROOT) SPENDTAPROOT = 5, } impl ::protobuf::Enum for InputScriptType { const NAME: &'static str = "InputScriptType"; fn value(&self) -> i32 { *self as i32 } fn from_i32(value: i32) -> ::std::option::Option { match value { 0 => ::std::option::Option::Some(InputScriptType::SPENDADDRESS), 1 => ::std::option::Option::Some(InputScriptType::SPENDMULTISIG), 2 => ::std::option::Option::Some(InputScriptType::EXTERNAL), 3 => ::std::option::Option::Some(InputScriptType::SPENDWITNESS), 4 => ::std::option::Option::Some(InputScriptType::SPENDP2SHWITNESS), 5 => ::std::option::Option::Some(InputScriptType::SPENDTAPROOT), _ => ::std::option::Option::None } } fn from_str(str: &str) -> ::std::option::Option { match str { "SPENDADDRESS" => ::std::option::Option::Some(InputScriptType::SPENDADDRESS), "SPENDMULTISIG" => ::std::option::Option::Some(InputScriptType::SPENDMULTISIG), "EXTERNAL" => ::std::option::Option::Some(InputScriptType::EXTERNAL), "SPENDWITNESS" => ::std::option::Option::Some(InputScriptType::SPENDWITNESS), "SPENDP2SHWITNESS" => ::std::option::Option::Some(InputScriptType::SPENDP2SHWITNESS), "SPENDTAPROOT" => ::std::option::Option::Some(InputScriptType::SPENDTAPROOT), _ => ::std::option::Option::None } } const VALUES: &'static [InputScriptType] = &[ InputScriptType::SPENDADDRESS, InputScriptType::SPENDMULTISIG, InputScriptType::EXTERNAL, InputScriptType::SPENDWITNESS, InputScriptType::SPENDP2SHWITNESS, InputScriptType::SPENDTAPROOT, ]; } impl ::protobuf::EnumFull for InputScriptType { fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().enum_by_package_relative_name("InputScriptType").unwrap()).clone() } fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor { let index = *self as usize; Self::enum_descriptor().value_by_index(index) } } impl ::std::default::Default for InputScriptType { fn default() -> Self { InputScriptType::SPENDADDRESS } } impl InputScriptType { fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData { ::protobuf::reflect::GeneratedEnumDescriptorData::new::("InputScriptType") } } #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] // @@protoc_insertion_point(enum:hw.trezor.messages.bitcoin.OutputScriptType) pub enum OutputScriptType { // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOADDRESS) PAYTOADDRESS = 0, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOSCRIPTHASH) PAYTOSCRIPTHASH = 1, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOMULTISIG) PAYTOMULTISIG = 2, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOOPRETURN) PAYTOOPRETURN = 3, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOWITNESS) PAYTOWITNESS = 4, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOP2SHWITNESS) PAYTOP2SHWITNESS = 5, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.OutputScriptType.PAYTOTAPROOT) PAYTOTAPROOT = 6, } impl ::protobuf::Enum for OutputScriptType { const NAME: &'static str = "OutputScriptType"; fn value(&self) -> i32 { *self as i32 } fn from_i32(value: i32) -> ::std::option::Option { match value { 0 => ::std::option::Option::Some(OutputScriptType::PAYTOADDRESS), 1 => ::std::option::Option::Some(OutputScriptType::PAYTOSCRIPTHASH), 2 => ::std::option::Option::Some(OutputScriptType::PAYTOMULTISIG), 3 => ::std::option::Option::Some(OutputScriptType::PAYTOOPRETURN), 4 => ::std::option::Option::Some(OutputScriptType::PAYTOWITNESS), 5 => ::std::option::Option::Some(OutputScriptType::PAYTOP2SHWITNESS), 6 => ::std::option::Option::Some(OutputScriptType::PAYTOTAPROOT), _ => ::std::option::Option::None } } fn from_str(str: &str) -> ::std::option::Option { match str { "PAYTOADDRESS" => ::std::option::Option::Some(OutputScriptType::PAYTOADDRESS), "PAYTOSCRIPTHASH" => ::std::option::Option::Some(OutputScriptType::PAYTOSCRIPTHASH), "PAYTOMULTISIG" => ::std::option::Option::Some(OutputScriptType::PAYTOMULTISIG), "PAYTOOPRETURN" => ::std::option::Option::Some(OutputScriptType::PAYTOOPRETURN), "PAYTOWITNESS" => ::std::option::Option::Some(OutputScriptType::PAYTOWITNESS), "PAYTOP2SHWITNESS" => ::std::option::Option::Some(OutputScriptType::PAYTOP2SHWITNESS), "PAYTOTAPROOT" => ::std::option::Option::Some(OutputScriptType::PAYTOTAPROOT), _ => ::std::option::Option::None } } const VALUES: &'static [OutputScriptType] = &[ OutputScriptType::PAYTOADDRESS, OutputScriptType::PAYTOSCRIPTHASH, OutputScriptType::PAYTOMULTISIG, OutputScriptType::PAYTOOPRETURN, OutputScriptType::PAYTOWITNESS, OutputScriptType::PAYTOP2SHWITNESS, OutputScriptType::PAYTOTAPROOT, ]; } impl ::protobuf::EnumFull for OutputScriptType { fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().enum_by_package_relative_name("OutputScriptType").unwrap()).clone() } fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor { let index = *self as usize; Self::enum_descriptor().value_by_index(index) } } impl ::std::default::Default for OutputScriptType { fn default() -> Self { OutputScriptType::PAYTOADDRESS } } impl OutputScriptType { fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData { ::protobuf::reflect::GeneratedEnumDescriptorData::new::("OutputScriptType") } } #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] // @@protoc_insertion_point(enum:hw.trezor.messages.bitcoin.DecredStakingSpendType) pub enum DecredStakingSpendType { // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.DecredStakingSpendType.SSGen) SSGen = 0, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.DecredStakingSpendType.SSRTX) SSRTX = 1, } impl ::protobuf::Enum for DecredStakingSpendType { const NAME: &'static str = "DecredStakingSpendType"; fn value(&self) -> i32 { *self as i32 } fn from_i32(value: i32) -> ::std::option::Option { match value { 0 => ::std::option::Option::Some(DecredStakingSpendType::SSGen), 1 => ::std::option::Option::Some(DecredStakingSpendType::SSRTX), _ => ::std::option::Option::None } } fn from_str(str: &str) -> ::std::option::Option { match str { "SSGen" => ::std::option::Option::Some(DecredStakingSpendType::SSGen), "SSRTX" => ::std::option::Option::Some(DecredStakingSpendType::SSRTX), _ => ::std::option::Option::None } } const VALUES: &'static [DecredStakingSpendType] = &[ DecredStakingSpendType::SSGen, DecredStakingSpendType::SSRTX, ]; } impl ::protobuf::EnumFull for DecredStakingSpendType { fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().enum_by_package_relative_name("DecredStakingSpendType").unwrap()).clone() } fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor { let index = *self as usize; Self::enum_descriptor().value_by_index(index) } } impl ::std::default::Default for DecredStakingSpendType { fn default() -> Self { DecredStakingSpendType::SSGen } } impl DecredStakingSpendType { fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData { ::protobuf::reflect::GeneratedEnumDescriptorData::new::("DecredStakingSpendType") } } #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] // @@protoc_insertion_point(enum:hw.trezor.messages.bitcoin.AmountUnit) pub enum AmountUnit { // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.AmountUnit.BITCOIN) BITCOIN = 0, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.AmountUnit.MILLIBITCOIN) MILLIBITCOIN = 1, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.AmountUnit.MICROBITCOIN) MICROBITCOIN = 2, // @@protoc_insertion_point(enum_value:hw.trezor.messages.bitcoin.AmountUnit.SATOSHI) SATOSHI = 3, } impl ::protobuf::Enum for AmountUnit { const NAME: &'static str = "AmountUnit"; fn value(&self) -> i32 { *self as i32 } fn from_i32(value: i32) -> ::std::option::Option { match value { 0 => ::std::option::Option::Some(AmountUnit::BITCOIN), 1 => ::std::option::Option::Some(AmountUnit::MILLIBITCOIN), 2 => ::std::option::Option::Some(AmountUnit::MICROBITCOIN), 3 => ::std::option::Option::Some(AmountUnit::SATOSHI), _ => ::std::option::Option::None } } fn from_str(str: &str) -> ::std::option::Option { match str { "BITCOIN" => ::std::option::Option::Some(AmountUnit::BITCOIN), "MILLIBITCOIN" => ::std::option::Option::Some(AmountUnit::MILLIBITCOIN), "MICROBITCOIN" => ::std::option::Option::Some(AmountUnit::MICROBITCOIN), "SATOSHI" => ::std::option::Option::Some(AmountUnit::SATOSHI), _ => ::std::option::Option::None } } const VALUES: &'static [AmountUnit] = &[ AmountUnit::BITCOIN, AmountUnit::MILLIBITCOIN, AmountUnit::MICROBITCOIN, AmountUnit::SATOSHI, ]; } impl ::protobuf::EnumFull for AmountUnit { fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new(); descriptor.get(|| file_descriptor().enum_by_package_relative_name("AmountUnit").unwrap()).clone() } fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor { let index = *self as usize; Self::enum_descriptor().value_by_index(index) } } impl ::std::default::Default for AmountUnit { fn default() -> Self { AmountUnit::BITCOIN } } impl AmountUnit { fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData { ::protobuf::reflect::GeneratedEnumDescriptorData::new::("AmountUnit") } } static file_descriptor_proto_data: &'static [u8] = b"\ \n\x16messages-bitcoin.proto\x12\x1ahw.trezor.messages.bitcoin\x1a\x0eme\ ssages.proto\x1a\x15messages-common.proto\"\xeb\x02\n\x18MultisigRedeemS\ criptType\x12]\n\x07pubkeys\x18\x01\x20\x03(\x0b2C.hw.trezor.messages.bi\ tcoin.MultisigRedeemScriptType.HDNodePathTypeR\x07pubkeys\x12\x1e\n\nsig\ natures\x18\x02\x20\x03(\x0cR\nsignatures\x12\x0c\n\x01m\x18\x03\x20\x02\ (\rR\x01m\x12;\n\x05nodes\x18\x04\x20\x03(\x0b2%.hw.trezor.messages.comm\ on.HDNodeTypeR\x05nodes\x12\x1b\n\taddress_n\x18\x05\x20\x03(\rR\x08addr\ essN\x1ah\n\x0eHDNodePathType\x129\n\x04node\x18\x01\x20\x02(\x0b2%.hw.t\ rezor.messages.common.HDNodeTypeR\x04node\x12\x1b\n\taddress_n\x18\x02\ \x20\x03(\rR\x08addressN\"\xa6\x02\n\x0cGetPublicKey\x12\x1b\n\taddress_\ n\x18\x01\x20\x03(\rR\x08addressN\x12(\n\x10ecdsa_curve_name\x18\x02\x20\ \x01(\tR\x0eecdsaCurveName\x12!\n\x0cshow_display\x18\x03\x20\x01(\x08R\ \x0bshowDisplay\x12$\n\tcoin_name\x18\x04\x20\x01(\t:\x07BitcoinR\x08coi\ nName\x12Z\n\x0bscript_type\x18\x05\x20\x01(\x0e2+.hw.trezor.messages.bi\ tcoin.InputScriptType:\x0cSPENDADDRESSR\nscriptType\x12*\n\x11ignore_xpu\ b_magic\x18\x06\x20\x01(\x08R\x0fignoreXpubMagic\"\xa5\x01\n\tPublicKey\ \x129\n\x04node\x18\x01\x20\x02(\x0b2%.hw.trezor.messages.common.HDNodeT\ ypeR\x04node\x12\x12\n\x04xpub\x18\x02\x20\x02(\tR\x04xpub\x12)\n\x10roo\ t_fingerprint\x18\x03\x20\x01(\rR\x0frootFingerprint\x12\x1e\n\ndescript\ or\x18\x04\x20\x01(\tR\ndescriptor\"\xe8\x02\n\nGetAddress\x12\x1b\n\tad\ dress_n\x18\x01\x20\x03(\rR\x08addressN\x12$\n\tcoin_name\x18\x02\x20\ \x01(\t:\x07BitcoinR\x08coinName\x12!\n\x0cshow_display\x18\x03\x20\x01(\ \x08R\x0bshowDisplay\x12P\n\x08multisig\x18\x04\x20\x01(\x0b24.hw.trezor\ .messages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\x12Z\n\x0bscript\ _type\x18\x05\x20\x01(\x0e2+.hw.trezor.messages.bitcoin.InputScriptType:\ \x0cSPENDADDRESSR\nscriptType\x12*\n\x11ignore_xpub_magic\x18\x06\x20\ \x01(\x08R\x0fignoreXpubMagic\x12\x1a\n\x08chunkify\x18\x07\x20\x01(\x08\ R\x08chunkify\"5\n\x07Address\x12\x18\n\x07address\x18\x01\x20\x02(\tR\ \x07address\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\x81\x02\n\ \x0eGetOwnershipId\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\ \x12$\n\tcoin_name\x18\x02\x20\x01(\t:\x07BitcoinR\x08coinName\x12P\n\ \x08multisig\x18\x03\x20\x01(\x0b24.hw.trezor.messages.bitcoin.MultisigR\ edeemScriptTypeR\x08multisig\x12Z\n\x0bscript_type\x18\x04\x20\x01(\x0e2\ +.hw.trezor.messages.bitcoin.InputScriptType:\x0cSPENDADDRESSR\nscriptTy\ pe\"0\n\x0bOwnershipId\x12!\n\x0cownership_id\x18\x01\x20\x02(\x0cR\x0bo\ wnershipId\"\x88\x02\n\x0bSignMessage\x12\x1b\n\taddress_n\x18\x01\x20\ \x03(\rR\x08addressN\x12\x18\n\x07message\x18\x02\x20\x02(\x0cR\x07messa\ ge\x12$\n\tcoin_name\x18\x03\x20\x01(\t:\x07BitcoinR\x08coinName\x12Z\n\ \x0bscript_type\x18\x04\x20\x01(\x0e2+.hw.trezor.messages.bitcoin.InputS\ criptType:\x0cSPENDADDRESSR\nscriptType\x12$\n\x0eno_script_type\x18\x05\ \x20\x01(\x08R\x0cnoScriptType\x12\x1a\n\x08chunkify\x18\x06\x20\x01(\ \x08R\x08chunkify\"J\n\x10MessageSignature\x12\x18\n\x07address\x18\x01\ \x20\x02(\tR\x07address\x12\x1c\n\tsignature\x18\x02\x20\x02(\x0cR\tsign\ ature\"\xa3\x01\n\rVerifyMessage\x12\x18\n\x07address\x18\x01\x20\x02(\t\ R\x07address\x12\x1c\n\tsignature\x18\x02\x20\x02(\x0cR\tsignature\x12\ \x18\n\x07message\x18\x03\x20\x02(\x0cR\x07message\x12$\n\tcoin_name\x18\ \x04\x20\x01(\t:\x07BitcoinR\x08coinName\x12\x1a\n\x08chunkify\x18\x05\ \x20\x01(\x08R\x08chunkify\"\xd9\x06\n\x06SignTx\x12#\n\routputs_count\ \x18\x01\x20\x02(\rR\x0coutputsCount\x12!\n\x0cinputs_count\x18\x02\x20\ \x02(\rR\x0binputsCount\x12$\n\tcoin_name\x18\x03\x20\x01(\t:\x07Bitcoin\ R\x08coinName\x12\x1b\n\x07version\x18\x04\x20\x01(\r:\x011R\x07version\ \x12\x1e\n\tlock_time\x18\x05\x20\x01(\r:\x010R\x08lockTime\x12\x16\n\ \x06expiry\x18\x06\x20\x01(\rR\x06expiry\x12&\n\x0coverwintered\x18\x07\ \x20\x01(\x08R\x0coverwinteredB\x02\x18\x01\x12(\n\x10version_group_id\ \x18\x08\x20\x01(\rR\x0eversionGroupId\x12\x1c\n\ttimestamp\x18\t\x20\ \x01(\rR\ttimestamp\x12\x1b\n\tbranch_id\x18\n\x20\x01(\rR\x08branchId\ \x12P\n\x0bamount_unit\x18\x0b\x20\x01(\x0e2&.hw.trezor.messages.bitcoin\ .AmountUnit:\x07BITCOINR\namountUnit\x129\n\x15decred_staking_ticket\x18\ \x0c\x20\x01(\x08:\x05falseR\x13decredStakingTicket\x12\"\n\tserialize\ \x18\r\x20\x01(\x08:\x04trueR\tserialize\x12]\n\x10coinjoin_request\x18\ \x0e\x20\x01(\x0b22.hw.trezor.messages.bitcoin.SignTx.CoinJoinRequestR\ \x0fcoinjoinRequest\x12\x1a\n\x08chunkify\x18\x0f\x20\x01(\x08R\x08chunk\ ify\x1a\xd2\x01\n\x0fCoinJoinRequest\x12\x19\n\x08fee_rate\x18\x01\x20\ \x02(\rR\x07feeRate\x12(\n\x10no_fee_threshold\x18\x02\x20\x02(\x04R\x0e\ noFeeThreshold\x124\n\x16min_registrable_amount\x18\x03\x20\x02(\x04R\ \x14minRegistrableAmount\x12&\n\x0fmask_public_key\x18\x04\x20\x02(\x0cR\ \rmaskPublicKey\x12\x1c\n\tsignature\x18\x05\x20\x02(\x0cR\tsignature\"\ \xd4\x05\n\tTxRequest\x12T\n\x0crequest_type\x18\x01\x20\x01(\x0e21.hw.t\ rezor.messages.bitcoin.TxRequest.RequestTypeR\x0brequestType\x12T\n\x07d\ etails\x18\x02\x20\x01(\x0b2:.hw.trezor.messages.bitcoin.TxRequest.TxReq\ uestDetailsTypeR\x07details\x12]\n\nserialized\x18\x03\x20\x01(\x0b2=.hw\ .trezor.messages.bitcoin.TxRequest.TxRequestSerializedTypeR\nserialized\ \x1a\xa6\x01\n\x14TxRequestDetailsType\x12#\n\rrequest_index\x18\x01\x20\ \x01(\rR\x0crequestIndex\x12\x17\n\x07tx_hash\x18\x02\x20\x01(\x0cR\x06t\ xHash\x12$\n\x0eextra_data_len\x18\x03\x20\x01(\rR\x0cextraDataLen\x12*\ \n\x11extra_data_offset\x18\x04\x20\x01(\rR\x0fextraDataOffset\x1a\x85\ \x01\n\x17TxRequestSerializedType\x12'\n\x0fsignature_index\x18\x01\x20\ \x01(\rR\x0esignatureIndex\x12\x1c\n\tsignature\x18\x02\x20\x01(\x0cR\ts\ ignature\x12#\n\rserialized_tx\x18\x03\x20\x01(\x0cR\x0cserializedTx\"\ \x8a\x01\n\x0bRequestType\x12\x0b\n\x07TXINPUT\x10\0\x12\x0c\n\x08TXOUTP\ UT\x10\x01\x12\n\n\x06TXMETA\x10\x02\x12\x0e\n\nTXFINISHED\x10\x03\x12\ \x0f\n\x0bTXEXTRADATA\x10\x04\x12\x0f\n\x0bTXORIGINPUT\x10\x05\x12\x10\n\ \x0cTXORIGOUTPUT\x10\x06\x12\x10\n\x0cTXPAYMENTREQ\x10\x07\"\xf4\x0f\n\ \x05TxAck\x12A\n\x02tx\x18\x01\x20\x01(\x0b21.hw.trezor.messages.bitcoin\ .TxAck.TransactionTypeR\x02tx\x1a\xa3\x0f\n\x0fTransactionType\x12\x18\n\ \x07version\x18\x01\x20\x01(\rR\x07version\x12U\n\x06inputs\x18\x02\x20\ \x03(\x0b2=.hw.trezor.messages.bitcoin.TxAck.TransactionType.TxInputType\ R\x06inputs\x12b\n\x0bbin_outputs\x18\x03\x20\x03(\x0b2A.hw.trezor.messa\ ges.bitcoin.TxAck.TransactionType.TxOutputBinTypeR\nbinOutputs\x12\x1b\n\ \tlock_time\x18\x04\x20\x01(\rR\x08lockTime\x12X\n\x07outputs\x18\x05\ \x20\x03(\x0b2>.hw.trezor.messages.bitcoin.TxAck.TransactionType.TxOutpu\ tTypeR\x07outputs\x12\x1d\n\ninputs_cnt\x18\x06\x20\x01(\rR\tinputsCnt\ \x12\x1f\n\x0boutputs_cnt\x18\x07\x20\x01(\rR\noutputsCnt\x12\x1d\n\next\ ra_data\x18\x08\x20\x01(\x0cR\textraData\x12$\n\x0eextra_data_len\x18\t\ \x20\x01(\rR\x0cextraDataLen\x12\x16\n\x06expiry\x18\n\x20\x01(\rR\x06ex\ piry\x12&\n\x0coverwintered\x18\x0b\x20\x01(\x08R\x0coverwinteredB\x02\ \x18\x01\x12(\n\x10version_group_id\x18\x0c\x20\x01(\rR\x0eversionGroupI\ d\x12\x1c\n\ttimestamp\x18\r\x20\x01(\rR\ttimestamp\x12\x1b\n\tbranch_id\ \x18\x0e\x20\x01(\rR\x08branchId\x1a\xf1\x05\n\x0bTxInputType\x12\x1b\n\ \taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x1b\n\tprev_hash\x18\x02\ \x20\x02(\x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x03\x20\x02(\rR\tpr\ evIndex\x12\x1d\n\nscript_sig\x18\x04\x20\x01(\x0cR\tscriptSig\x12&\n\ \x08sequence\x18\x05\x20\x01(\r:\n4294967295R\x08sequence\x12Z\n\x0bscri\ pt_type\x18\x06\x20\x01(\x0e2+.hw.trezor.messages.bitcoin.InputScriptTyp\ e:\x0cSPENDADDRESSR\nscriptType\x12P\n\x08multisig\x18\x07\x20\x01(\x0b2\ 4.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\x12\ \x16\n\x06amount\x18\x08\x20\x01(\x04R\x06amount\x12\x1f\n\x0bdecred_tre\ e\x18\t\x20\x01(\rR\ndecredTree\x12\x18\n\x07witness\x18\r\x20\x01(\x0cR\ \x07witness\x12'\n\x0fownership_proof\x18\x0e\x20\x01(\x0cR\x0eownership\ Proof\x12'\n\x0fcommitment_data\x18\x0f\x20\x01(\x0cR\x0ecommitmentData\ \x12\x1b\n\torig_hash\x18\x10\x20\x01(\x0cR\x08origHash\x12\x1d\n\norig_\ index\x18\x11\x20\x01(\rR\torigIndex\x12d\n\x14decred_staking_spend\x18\ \x12\x20\x01(\x0e22.hw.trezor.messages.bitcoin.DecredStakingSpendTypeR\ \x12decredStakingSpend\x12#\n\rscript_pubkey\x18\x13\x20\x01(\x0cR\x0csc\ riptPubkey\x12(\n\x0ecoinjoin_flags\x18\x14\x20\x01(\r:\x010R\rcoinjoinF\ lags\x1a\x82\x01\n\x0fTxOutputBinType\x12\x16\n\x06amount\x18\x01\x20\ \x02(\x04R\x06amount\x12#\n\rscript_pubkey\x18\x02\x20\x02(\x0cR\x0cscri\ ptPubkey\x122\n\x15decred_script_version\x18\x03\x20\x01(\rR\x13decredSc\ riptVersion\x1a\xa0\x03\n\x0cTxOutputType\x12\x18\n\x07address\x18\x01\ \x20\x01(\tR\x07address\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addr\ essN\x12\x16\n\x06amount\x18\x03\x20\x02(\x04R\x06amount\x12[\n\x0bscrip\ t_type\x18\x04\x20\x01(\x0e2,.hw.trezor.messages.bitcoin.OutputScriptTyp\ e:\x0cPAYTOADDRESSR\nscriptType\x12P\n\x08multisig\x18\x05\x20\x01(\x0b2\ 4.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\x12$\ \n\x0eop_return_data\x18\x06\x20\x01(\x0cR\x0copReturnData\x12\x1b\n\tor\ ig_hash\x18\n\x20\x01(\x0cR\x08origHash\x12\x1d\n\norig_index\x18\x0b\ \x20\x01(\rR\torigIndex\x120\n\x11payment_req_index\x18\x0c\x20\x01(\rR\ \x0fpaymentReqIndexB\x04\xc8\xf0\x19\x01:\x02\x18\x01\"\xff\x05\n\x07TxI\ nput\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\x1b\n\tpre\ v_hash\x18\x02\x20\x02(\x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x03\ \x20\x02(\rR\tprevIndex\x12\x1d\n\nscript_sig\x18\x04\x20\x01(\x0cR\tscr\ iptSig\x12&\n\x08sequence\x18\x05\x20\x01(\r:\n4294967295R\x08sequence\ \x12Z\n\x0bscript_type\x18\x06\x20\x01(\x0e2+.hw.trezor.messages.bitcoin\ .InputScriptType:\x0cSPENDADDRESSR\nscriptType\x12P\n\x08multisig\x18\ \x07\x20\x01(\x0b24.hw.trezor.messages.bitcoin.MultisigRedeemScriptTypeR\ \x08multisig\x12\x16\n\x06amount\x18\x08\x20\x02(\x04R\x06amount\x12\x1f\ \n\x0bdecred_tree\x18\t\x20\x01(\rR\ndecredTree\x12\x18\n\x07witness\x18\ \r\x20\x01(\x0cR\x07witness\x12'\n\x0fownership_proof\x18\x0e\x20\x01(\ \x0cR\x0eownershipProof\x12'\n\x0fcommitment_data\x18\x0f\x20\x01(\x0cR\ \x0ecommitmentData\x12\x1b\n\torig_hash\x18\x10\x20\x01(\x0cR\x08origHas\ h\x12\x1d\n\norig_index\x18\x11\x20\x01(\rR\torigIndex\x12d\n\x14decred_\ staking_spend\x18\x12\x20\x01(\x0e22.hw.trezor.messages.bitcoin.DecredSt\ akingSpendTypeR\x12decredStakingSpend\x12#\n\rscript_pubkey\x18\x13\x20\ \x01(\x0cR\x0cscriptPubkey\x12(\n\x0ecoinjoin_flags\x18\x14\x20\x01(\r:\ \x010R\rcoinjoinFlagsJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cJ\x04\x08\ \x0c\x10\r\"\xae\x03\n\x08TxOutput\x12\x18\n\x07address\x18\x01\x20\x01(\ \tR\x07address\x12\x1b\n\taddress_n\x18\x02\x20\x03(\rR\x08addressN\x12\ \x16\n\x06amount\x18\x03\x20\x02(\x04R\x06amount\x12[\n\x0bscript_type\ \x18\x04\x20\x01(\x0e2,.hw.trezor.messages.bitcoin.OutputScriptType:\x0c\ PAYTOADDRESSR\nscriptType\x12P\n\x08multisig\x18\x05\x20\x01(\x0b24.hw.t\ rezor.messages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\x12$\n\x0eo\ p_return_data\x18\x06\x20\x01(\x0cR\x0copReturnData\x12\x1b\n\torig_hash\ \x18\n\x20\x01(\x0cR\x08origHash\x12\x1d\n\norig_index\x18\x0b\x20\x01(\ \rR\torigIndex\x120\n\x11payment_req_index\x18\x0c\x20\x01(\rR\x0fpaymen\ tReqIndexB\x04\xc8\xf0\x19\x01J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\ \x04\x08\t\x10\n\"\xcb\x02\n\x06PrevTx\x12\x18\n\x07version\x18\x01\x20\ \x02(\rR\x07version\x12\x1b\n\tlock_time\x18\x04\x20\x02(\rR\x08lockTime\ \x12!\n\x0cinputs_count\x18\x06\x20\x02(\rR\x0binputsCount\x12#\n\routpu\ ts_count\x18\x07\x20\x02(\rR\x0coutputsCount\x12'\n\x0eextra_data_len\ \x18\t\x20\x01(\r:\x010R\x0cextraDataLen\x12\x16\n\x06expiry\x18\n\x20\ \x01(\rR\x06expiry\x12(\n\x10version_group_id\x18\x0c\x20\x01(\rR\x0ever\ sionGroupId\x12\x1c\n\ttimestamp\x18\r\x20\x01(\rR\ttimestamp\x12\x1b\n\ \tbranch_id\x18\x0e\x20\x01(\rR\x08branchIdJ\x04\x08\x02\x10\x03J\x04\ \x08\x03\x10\x04J\x04\x08\x05\x10\x06J\x04\x08\x08\x10\tJ\x04\x08\x0b\ \x10\x0c\"\xf7\x01\n\tPrevInput\x12\x1b\n\tprev_hash\x18\x02\x20\x02(\ \x0cR\x08prevHash\x12\x1d\n\nprev_index\x18\x03\x20\x02(\rR\tprevIndex\ \x12\x1d\n\nscript_sig\x18\x04\x20\x02(\x0cR\tscriptSig\x12\x1a\n\x08seq\ uence\x18\x05\x20\x02(\rR\x08sequence\x12\x1f\n\x0bdecred_tree\x18\t\x20\ \x01(\rR\ndecredTreeJ\x04\x08\x01\x10\x02J\x04\x08\x06\x10\x07J\x04\x08\ \x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cJ\ \x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\ \x10\x10J\x04\x08\x10\x10\x11J\x04\x08\x11\x10\x12J\x04\x08\x12\x10\x13J\ \x04\x08\x13\x10\x14\"}\n\nPrevOutput\x12\x16\n\x06amount\x18\x01\x20\ \x02(\x04R\x06amount\x12#\n\rscript_pubkey\x18\x02\x20\x02(\x0cR\x0cscri\ ptPubkey\x122\n\x15decred_script_version\x18\x03\x20\x01(\rR\x13decredSc\ riptVersion\"\xf2\x05\n\x13TxAckPaymentRequest\x12\x14\n\x05nonce\x18\ \x01\x20\x01(\x0cR\x05nonce\x12%\n\x0erecipient_name\x18\x02\x20\x02(\tR\ \rrecipientName\x12X\n\x05memos\x18\x03\x20\x03(\x0b2B.hw.trezor.message\ s.bitcoin.TxAckPaymentRequest.PaymentRequestMemoR\x05memos\x12\x16\n\x06\ amount\x18\x04\x20\x01(\x04R\x06amount\x12\x1c\n\tsignature\x18\x05\x20\ \x02(\x0cR\tsignature\x1a\xb8\x02\n\x12PaymentRequestMemo\x12U\n\ttext_m\ emo\x18\x01\x20\x01(\x0b28.hw.trezor.messages.bitcoin.TxAckPaymentReques\ t.TextMemoR\x08textMemo\x12[\n\x0brefund_memo\x18\x02\x20\x01(\x0b2:.hw.\ trezor.messages.bitcoin.TxAckPaymentRequest.RefundMemoR\nrefundMemo\x12n\ \n\x12coin_purchase_memo\x18\x03\x20\x01(\x0b2@.hw.trezor.messages.bitco\ in.TxAckPaymentRequest.CoinPurchaseMemoR\x10coinPurchaseMemo\x1a\x1e\n\ \x08TextMemo\x12\x12\n\x04text\x18\x01\x20\x02(\tR\x04text\x1a8\n\nRefun\ dMemo\x12\x18\n\x07address\x18\x01\x20\x02(\tR\x07address\x12\x10\n\x03m\ ac\x18\x02\x20\x02(\x0cR\x03mac\x1as\n\x10CoinPurchaseMemo\x12\x1b\n\tco\ in_type\x18\x01\x20\x02(\rR\x08coinType\x12\x16\n\x06amount\x18\x02\x20\ \x02(\tR\x06amount\x12\x18\n\x07address\x18\x03\x20\x02(\tR\x07address\ \x12\x10\n\x03mac\x18\x04\x20\x02(\x0cR\x03mac:\x04\x88\xb2\x19\x01\"\ \xac\x01\n\nTxAckInput\x12H\n\x02tx\x18\x01\x20\x02(\x0b28.hw.trezor.mes\ sages.bitcoin.TxAckInput.TxAckInputWrapperR\x02tx\x1aN\n\x11TxAckInputWr\ apper\x129\n\x05input\x18\x02\x20\x02(\x0b2#.hw.trezor.messages.bitcoin.\ TxInputR\x05input:\x04\x90\xb2\x19\x16\"\xb3\x01\n\x0bTxAckOutput\x12J\n\ \x02tx\x18\x01\x20\x02(\x0b2:.hw.trezor.messages.bitcoin.TxAckOutput.TxA\ ckOutputWrapperR\x02tx\x1aR\n\x12TxAckOutputWrapper\x12<\n\x06output\x18\ \x05\x20\x02(\x0b2$.hw.trezor.messages.bitcoin.TxOutputR\x06output:\x04\ \x90\xb2\x19\x16\"I\n\rTxAckPrevMeta\x122\n\x02tx\x18\x01\x20\x02(\x0b2\ \".hw.trezor.messages.bitcoin.PrevTxR\x02tx:\x04\x90\xb2\x19\x16\"\xbe\ \x01\n\x0eTxAckPrevInput\x12P\n\x02tx\x18\x01\x20\x02(\x0b2@.hw.trezor.m\ essages.bitcoin.TxAckPrevInput.TxAckPrevInputWrapperR\x02tx\x1aT\n\x15Tx\ AckPrevInputWrapper\x12;\n\x05input\x18\x02\x20\x02(\x0b2%.hw.trezor.mes\ sages.bitcoin.PrevInputR\x05input:\x04\x90\xb2\x19\x16\"\xc5\x01\n\x0fTx\ AckPrevOutput\x12R\n\x02tx\x18\x01\x20\x02(\x0b2B.hw.trezor.messages.bit\ coin.TxAckPrevOutput.TxAckPrevOutputWrapperR\x02tx\x1aX\n\x16TxAckPrevOu\ tputWrapper\x12>\n\x06output\x18\x03\x20\x02(\x0b2&.hw.trezor.messages.b\ itcoin.PrevOutputR\x06output:\x04\x90\xb2\x19\x16\"\xbb\x01\n\x12TxAckPr\ evExtraData\x12X\n\x02tx\x18\x01\x20\x02(\x0b2H.hw.trezor.messages.bitco\ in.TxAckPrevExtraData.TxAckPrevExtraDataWrapperR\x02tx\x1aE\n\x19TxAckPr\ evExtraDataWrapper\x12(\n\x10extra_data_chunk\x18\x08\x20\x02(\x0cR\x0ee\ xtraDataChunk:\x04\x90\xb2\x19\x16\"\x88\x03\n\x11GetOwnershipProof\x12\ \x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12$\n\tcoin_name\x18\ \x02\x20\x01(\t:\x07BitcoinR\x08coinName\x12Z\n\x0bscript_type\x18\x03\ \x20\x01(\x0e2+.hw.trezor.messages.bitcoin.InputScriptType:\x0cSPENDWITN\ ESSR\nscriptType\x12P\n\x08multisig\x18\x04\x20\x01(\x0b24.hw.trezor.mes\ sages.bitcoin.MultisigRedeemScriptTypeR\x08multisig\x122\n\x11user_confi\ rmation\x18\x05\x20\x01(\x08:\x05falseR\x10userConfirmation\x12#\n\rowne\ rship_ids\x18\x06\x20\x03(\x0cR\x0cownershipIds\x12)\n\x0fcommitment_dat\ a\x18\x07\x20\x01(\x0c:\0R\x0ecommitmentData\"W\n\x0eOwnershipProof\x12'\ \n\x0fownership_proof\x18\x01\x20\x02(\x0cR\x0eownershipProof\x12\x1c\n\ \tsignature\x18\x02\x20\x02(\x0cR\tsignature\"\xab\x03\n\x11AuthorizeCoi\ nJoin\x12\x20\n\x0bcoordinator\x18\x01\x20\x02(\tR\x0bcoordinator\x12\ \x1d\n\nmax_rounds\x18\x02\x20\x02(\x04R\tmaxRounds\x127\n\x18max_coordi\ nator_fee_rate\x18\x03\x20\x02(\rR\x15maxCoordinatorFeeRate\x12+\n\x12ma\ x_fee_per_kvbyte\x18\x04\x20\x02(\rR\x0fmaxFeePerKvbyte\x12\x1b\n\taddre\ ss_n\x18\x05\x20\x03(\rR\x08addressN\x12$\n\tcoin_name\x18\x06\x20\x01(\ \t:\x07BitcoinR\x08coinName\x12Z\n\x0bscript_type\x18\x07\x20\x01(\x0e2+\ .hw.trezor.messages.bitcoin.InputScriptType:\x0cSPENDADDRESSR\nscriptTyp\ e\x12P\n\x0bamount_unit\x18\x08\x20\x01(\x0e2&.hw.trezor.messages.bitcoi\ n.AmountUnit:\x07BITCOINR\namountUnit*~\n\x0fInputScriptType\x12\x10\n\ \x0cSPENDADDRESS\x10\0\x12\x11\n\rSPENDMULTISIG\x10\x01\x12\x0c\n\x08EXT\ ERNAL\x10\x02\x12\x10\n\x0cSPENDWITNESS\x10\x03\x12\x14\n\x10SPENDP2SHWI\ TNESS\x10\x04\x12\x10\n\x0cSPENDTAPROOT\x10\x05*\x99\x01\n\x10OutputScri\ ptType\x12\x10\n\x0cPAYTOADDRESS\x10\0\x12\x13\n\x0fPAYTOSCRIPTHASH\x10\ \x01\x12\x11\n\rPAYTOMULTISIG\x10\x02\x12\x11\n\rPAYTOOPRETURN\x10\x03\ \x12\x10\n\x0cPAYTOWITNESS\x10\x04\x12\x14\n\x10PAYTOP2SHWITNESS\x10\x05\ \x12\x10\n\x0cPAYTOTAPROOT\x10\x06*.\n\x16DecredStakingSpendType\x12\t\n\ \x05SSGen\x10\0\x12\t\n\x05SSRTX\x10\x01*J\n\nAmountUnit\x12\x0b\n\x07BI\ TCOIN\x10\0\x12\x10\n\x0cMILLIBITCOIN\x10\x01\x12\x10\n\x0cMICROBITCOIN\ \x10\x02\x12\x0b\n\x07SATOSHI\x10\x03B?\n#com.satoshilabs.trezor.lib.pro\ tobufB\x14TrezorMessageBitcoin\x80\xa6\x1d\x01\ "; /// `FileDescriptorProto` object which was a source for this generated file fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new(); file_descriptor_proto_lazy.get(|| { ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap() }) } /// `FileDescriptor` object which allows dynamic access to files pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new(); static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new(); file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(2); deps.push(super::messages::file_descriptor().clone()); deps.push(super::messages_common::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(45); messages.push(MultisigRedeemScriptType::generated_message_descriptor_data()); messages.push(GetPublicKey::generated_message_descriptor_data()); messages.push(PublicKey::generated_message_descriptor_data()); messages.push(GetAddress::generated_message_descriptor_data()); messages.push(Address::generated_message_descriptor_data()); messages.push(GetOwnershipId::generated_message_descriptor_data()); messages.push(OwnershipId::generated_message_descriptor_data()); messages.push(SignMessage::generated_message_descriptor_data()); messages.push(MessageSignature::generated_message_descriptor_data()); messages.push(VerifyMessage::generated_message_descriptor_data()); messages.push(SignTx::generated_message_descriptor_data()); messages.push(TxRequest::generated_message_descriptor_data()); messages.push(TxAck::generated_message_descriptor_data()); messages.push(TxInput::generated_message_descriptor_data()); messages.push(TxOutput::generated_message_descriptor_data()); messages.push(PrevTx::generated_message_descriptor_data()); messages.push(PrevInput::generated_message_descriptor_data()); messages.push(PrevOutput::generated_message_descriptor_data()); messages.push(TxAckPaymentRequest::generated_message_descriptor_data()); messages.push(TxAckInput::generated_message_descriptor_data()); messages.push(TxAckOutput::generated_message_descriptor_data()); messages.push(TxAckPrevMeta::generated_message_descriptor_data()); messages.push(TxAckPrevInput::generated_message_descriptor_data()); messages.push(TxAckPrevOutput::generated_message_descriptor_data()); messages.push(TxAckPrevExtraData::generated_message_descriptor_data()); messages.push(GetOwnershipProof::generated_message_descriptor_data()); messages.push(OwnershipProof::generated_message_descriptor_data()); messages.push(AuthorizeCoinJoin::generated_message_descriptor_data()); messages.push(multisig_redeem_script_type::HDNodePathType::generated_message_descriptor_data()); messages.push(sign_tx::CoinJoinRequest::generated_message_descriptor_data()); messages.push(tx_request::TxRequestDetailsType::generated_message_descriptor_data()); messages.push(tx_request::TxRequestSerializedType::generated_message_descriptor_data()); messages.push(tx_ack::TransactionType::generated_message_descriptor_data()); messages.push(tx_ack::transaction_type::TxInputType::generated_message_descriptor_data()); messages.push(tx_ack::transaction_type::TxOutputBinType::generated_message_descriptor_data()); messages.push(tx_ack::transaction_type::TxOutputType::generated_message_descriptor_data()); messages.push(tx_ack_payment_request::PaymentRequestMemo::generated_message_descriptor_data()); messages.push(tx_ack_payment_request::TextMemo::generated_message_descriptor_data()); messages.push(tx_ack_payment_request::RefundMemo::generated_message_descriptor_data()); messages.push(tx_ack_payment_request::CoinPurchaseMemo::generated_message_descriptor_data()); messages.push(tx_ack_input::TxAckInputWrapper::generated_message_descriptor_data()); messages.push(tx_ack_output::TxAckOutputWrapper::generated_message_descriptor_data()); messages.push(tx_ack_prev_input::TxAckPrevInputWrapper::generated_message_descriptor_data()); messages.push(tx_ack_prev_output::TxAckPrevOutputWrapper::generated_message_descriptor_data()); messages.push(tx_ack_prev_extra_data::TxAckPrevExtraDataWrapper::generated_message_descriptor_data()); let mut enums = ::std::vec::Vec::with_capacity(5); enums.push(InputScriptType::generated_enum_descriptor_data()); enums.push(OutputScriptType::generated_enum_descriptor_data()); enums.push(DecredStakingSpendType::generated_enum_descriptor_data()); enums.push(AmountUnit::generated_enum_descriptor_data()); enums.push(tx_request::RequestType::generated_enum_descriptor_data()); ::protobuf::reflect::GeneratedFileDescriptor::new_generated( file_descriptor_proto(), deps, messages, enums, ) }); ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor) }) }