diff --git a/.gitmodules b/.gitmodules index 1ea87e5..6d87925 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "cita-tool/proto"] path = cita-tool/proto - url = https://github.com/cryptape/cita-proto.git + url = https://github.com/citahub/cita-proto.git diff --git a/cita-tool/Cargo.toml b/cita-tool/Cargo.toml index 57d5a01..1a11e35 100644 --- a/cita-tool/Cargo.toml +++ b/cita-tool/Cargo.toml @@ -11,7 +11,7 @@ futures = "^0.1" serde_json = "^1.0.17" serde = "^1.0.53" serde_derive = "^1.0.53" -protobuf = "^2.0.2" +protobuf = "=2.8.1" hex = "^0.3.2" tiny-keccak = "^1.4.2" secp256k1 = { version = "0.15.0", features = ["recovery"]} diff --git a/cita-tool/proto b/cita-tool/proto index 669ae45..da510dc 160000 --- a/cita-tool/proto +++ b/cita-tool/proto @@ -1 +1 @@ -Subproject commit 669ae45ad023b4257fdf8d55fa52e565d4d1a852 +Subproject commit da510dc1ae5d77176df143d4c3ae17029b9f8000 diff --git a/cita-tool/src/protos.rs b/cita-tool/src/protos.rs index ae3ada5..6dd3f15 100644 --- a/cita-tool/src/protos.rs +++ b/cita-tool/src/protos.rs @@ -58,7 +58,7 @@ impl UnverifiedTransaction { let sig = Signature::from(signature); match self.get_crypto() { - Crypto::SECP => sig.recover(&hash), + Crypto::DEFAULT => sig.recover(&hash), _ => Err("Mismatched encryption algorithm".to_string()), } } @@ -114,7 +114,7 @@ impl Transaction { unverified_tx.set_transaction(self.clone()); let signature = sign(&sk, &hash); unverified_tx.set_signature(signature.to_vec()); - unverified_tx.set_crypto(Crypto::SECP); + unverified_tx.set_crypto(Crypto::DEFAULT); unverified_tx } } diff --git a/cita-tool/src/protos/blockchain.rs b/cita-tool/src/protos/blockchain.rs index 2f58877..6565a02 100644 --- a/cita-tool/src/protos/blockchain.rs +++ b/cita-tool/src/protos/blockchain.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.1.1. Do not edit +// This file is generated by rust-protobuf 2.8.1. Do not edit // @generated // https://github.com/Manishearth/rust-clippy/issues/702 @@ -17,10 +17,15 @@ #![allow(unsafe_code)] #![allow(unused_imports)] #![allow(unused_results)] +//! Generated file from `proto/blockchain.proto` use protobuf::Message as Message_imported_for_functions; use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions; +/// Generated files are compatible only with the same version +/// of protobuf runtime. +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_8_1; + #[derive(PartialEq,Clone,Default)] pub struct Proof { // message fields @@ -28,7 +33,13 @@ pub struct Proof { pub field_type: ProofType, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a Proof { + fn default() -> &'a Proof { + ::default_instance() + } } impl Proof { @@ -38,6 +49,10 @@ impl Proof { // bytes content = 1; + + pub fn get_content(&self) -> &[u8] { + &self.content + } pub fn clear_content(&mut self) { self.content.clear(); } @@ -58,12 +73,12 @@ impl Proof { ::std::mem::replace(&mut self.content, ::std::vec::Vec::new()) } - pub fn get_content(&self) -> &[u8] { - &self.content - } - // .ProofType type = 2; + + pub fn get_field_type(&self) -> ProofType { + self.field_type + } pub fn clear_field_type(&mut self) { self.field_type = ProofType::AuthorityRound; } @@ -72,10 +87,6 @@ impl Proof { pub fn set_field_type(&mut self, v: ProofType) { self.field_type = v; } - - pub fn get_field_type(&self) -> ProofType { - self.field_type - } } impl ::protobuf::Message for Proof { @@ -83,7 +94,7 @@ impl ::protobuf::Message for Proof { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -116,7 +127,7 @@ impl ::protobuf::Message for Proof { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if !self.content.is_empty() { os.write_bytes(1, &self.content)?; } @@ -139,13 +150,13 @@ impl ::protobuf::Message for Proof { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -197,14 +208,14 @@ impl ::protobuf::Message for Proof { impl ::protobuf::Clear for Proof { fn clear(&mut self) { - self.clear_content(); - self.clear_field_type(); + self.content.clear(); + self.field_type = ProofType::AuthorityRound; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for Proof { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -224,13 +235,19 @@ pub struct BlockHeader { pub state_root: ::std::vec::Vec, pub transactions_root: ::std::vec::Vec, pub receipts_root: ::std::vec::Vec, - pub gas_used: u64, - pub gas_limit: u64, + pub quota_used: u64, + pub quota_limit: u64, pub proof: ::protobuf::SingularPtrField, pub proposer: ::std::vec::Vec, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a BlockHeader { + fn default() -> &'a BlockHeader { + ::default_instance() + } } impl BlockHeader { @@ -240,6 +257,10 @@ impl BlockHeader { // bytes prevhash = 1; + + pub fn get_prevhash(&self) -> &[u8] { + &self.prevhash + } pub fn clear_prevhash(&mut self) { self.prevhash.clear(); } @@ -260,12 +281,12 @@ impl BlockHeader { ::std::mem::replace(&mut self.prevhash, ::std::vec::Vec::new()) } - pub fn get_prevhash(&self) -> &[u8] { - &self.prevhash - } - // uint64 timestamp = 2; + + pub fn get_timestamp(&self) -> u64 { + self.timestamp + } pub fn clear_timestamp(&mut self) { self.timestamp = 0; } @@ -275,12 +296,12 @@ impl BlockHeader { self.timestamp = v; } - pub fn get_timestamp(&self) -> u64 { - self.timestamp - } - // uint64 height = 3; + + pub fn get_height(&self) -> u64 { + self.height + } pub fn clear_height(&mut self) { self.height = 0; } @@ -290,12 +311,12 @@ impl BlockHeader { self.height = v; } - pub fn get_height(&self) -> u64 { - self.height - } - // bytes state_root = 4; + + pub fn get_state_root(&self) -> &[u8] { + &self.state_root + } pub fn clear_state_root(&mut self) { self.state_root.clear(); } @@ -316,12 +337,12 @@ impl BlockHeader { ::std::mem::replace(&mut self.state_root, ::std::vec::Vec::new()) } - pub fn get_state_root(&self) -> &[u8] { - &self.state_root - } - // bytes transactions_root = 5; + + pub fn get_transactions_root(&self) -> &[u8] { + &self.transactions_root + } pub fn clear_transactions_root(&mut self) { self.transactions_root.clear(); } @@ -342,12 +363,12 @@ impl BlockHeader { ::std::mem::replace(&mut self.transactions_root, ::std::vec::Vec::new()) } - pub fn get_transactions_root(&self) -> &[u8] { - &self.transactions_root - } - // bytes receipts_root = 6; + + pub fn get_receipts_root(&self) -> &[u8] { + &self.receipts_root + } pub fn clear_receipts_root(&mut self) { self.receipts_root.clear(); } @@ -368,42 +389,42 @@ impl BlockHeader { ::std::mem::replace(&mut self.receipts_root, ::std::vec::Vec::new()) } - pub fn get_receipts_root(&self) -> &[u8] { - &self.receipts_root - } + // uint64 quota_used = 7; - // uint64 gas_used = 7; - pub fn clear_gas_used(&mut self) { - self.gas_used = 0; + pub fn get_quota_used(&self) -> u64 { + self.quota_used + } + pub fn clear_quota_used(&mut self) { + self.quota_used = 0; } // Param is passed by value, moved - pub fn set_gas_used(&mut self, v: u64) { - self.gas_used = v; + pub fn set_quota_used(&mut self, v: u64) { + self.quota_used = v; } - pub fn get_gas_used(&self) -> u64 { - self.gas_used - } + // uint64 quota_limit = 8; - // uint64 gas_limit = 8; - pub fn clear_gas_limit(&mut self) { - self.gas_limit = 0; + pub fn get_quota_limit(&self) -> u64 { + self.quota_limit } - - // Param is passed by value, moved - pub fn set_gas_limit(&mut self, v: u64) { - self.gas_limit = v; + pub fn clear_quota_limit(&mut self) { + self.quota_limit = 0; } - pub fn get_gas_limit(&self) -> u64 { - self.gas_limit + // Param is passed by value, moved + pub fn set_quota_limit(&mut self, v: u64) { + self.quota_limit = v; } // .Proof proof = 9; + + pub fn get_proof(&self) -> &Proof { + self.proof.as_ref().unwrap_or_else(|| Proof::default_instance()) + } pub fn clear_proof(&mut self) { self.proof.clear(); } @@ -431,12 +452,12 @@ impl BlockHeader { self.proof.take().unwrap_or_else(|| Proof::new()) } - pub fn get_proof(&self) -> &Proof { - self.proof.as_ref().unwrap_or_else(|| Proof::default_instance()) - } - // bytes proposer = 10; + + pub fn get_proposer(&self) -> &[u8] { + &self.proposer + } pub fn clear_proposer(&mut self) { self.proposer.clear(); } @@ -456,10 +477,6 @@ impl BlockHeader { pub fn take_proposer(&mut self) -> ::std::vec::Vec { ::std::mem::replace(&mut self.proposer, ::std::vec::Vec::new()) } - - pub fn get_proposer(&self) -> &[u8] { - &self.proposer - } } impl ::protobuf::Message for BlockHeader { @@ -472,7 +489,7 @@ impl ::protobuf::Message for BlockHeader { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -507,14 +524,14 @@ impl ::protobuf::Message for BlockHeader { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_uint64()?; - self.gas_used = tmp; + self.quota_used = tmp; }, 8 => { if wire_type != ::protobuf::wire_format::WireTypeVarint { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_uint64()?; - self.gas_limit = tmp; + self.quota_limit = tmp; }, 9 => { ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.proof)?; @@ -552,11 +569,11 @@ impl ::protobuf::Message for BlockHeader { if !self.receipts_root.is_empty() { my_size += ::protobuf::rt::bytes_size(6, &self.receipts_root); } - if self.gas_used != 0 { - my_size += ::protobuf::rt::value_size(7, self.gas_used, ::protobuf::wire_format::WireTypeVarint); + if self.quota_used != 0 { + my_size += ::protobuf::rt::value_size(7, self.quota_used, ::protobuf::wire_format::WireTypeVarint); } - if self.gas_limit != 0 { - my_size += ::protobuf::rt::value_size(8, self.gas_limit, ::protobuf::wire_format::WireTypeVarint); + if self.quota_limit != 0 { + my_size += ::protobuf::rt::value_size(8, self.quota_limit, ::protobuf::wire_format::WireTypeVarint); } if let Some(ref v) = self.proof.as_ref() { let len = v.compute_size(); @@ -570,7 +587,7 @@ impl ::protobuf::Message for BlockHeader { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if !self.prevhash.is_empty() { os.write_bytes(1, &self.prevhash)?; } @@ -589,11 +606,11 @@ impl ::protobuf::Message for BlockHeader { if !self.receipts_root.is_empty() { os.write_bytes(6, &self.receipts_root)?; } - if self.gas_used != 0 { - os.write_uint64(7, self.gas_used)?; + if self.quota_used != 0 { + os.write_uint64(7, self.quota_used)?; } - if self.gas_limit != 0 { - os.write_uint64(8, self.gas_limit)?; + if self.quota_limit != 0 { + os.write_uint64(8, self.quota_limit)?; } if let Some(ref v) = self.proof.as_ref() { os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?; @@ -619,13 +636,13 @@ impl ::protobuf::Message for BlockHeader { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -676,14 +693,14 @@ impl ::protobuf::Message for BlockHeader { |m: &mut BlockHeader| { &mut m.receipts_root }, )); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "gas_used", - |m: &BlockHeader| { &m.gas_used }, - |m: &mut BlockHeader| { &mut m.gas_used }, + "quota_used", + |m: &BlockHeader| { &m.quota_used }, + |m: &mut BlockHeader| { &mut m.quota_used }, )); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "gas_limit", - |m: &BlockHeader| { &m.gas_limit }, - |m: &mut BlockHeader| { &mut m.gas_limit }, + "quota_limit", + |m: &BlockHeader| { &m.quota_limit }, + |m: &mut BlockHeader| { &mut m.quota_limit }, )); fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "proof", @@ -717,22 +734,22 @@ impl ::protobuf::Message for BlockHeader { impl ::protobuf::Clear for BlockHeader { fn clear(&mut self) { - self.clear_prevhash(); - self.clear_timestamp(); - self.clear_height(); - self.clear_state_root(); - self.clear_transactions_root(); - self.clear_receipts_root(); - self.clear_gas_used(); - self.clear_gas_limit(); - self.clear_proof(); - self.clear_proposer(); + self.prevhash.clear(); + self.timestamp = 0; + self.height = 0; + self.state_root.clear(); + self.transactions_root.clear(); + self.receipts_root.clear(); + self.quota_used = 0; + self.quota_limit = 0; + self.proof.clear(); + self.proposer.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for BlockHeader { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -750,7 +767,13 @@ pub struct Status { pub height: u64, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a Status { + fn default() -> &'a Status { + ::default_instance() + } } impl Status { @@ -760,6 +783,10 @@ impl Status { // bytes hash = 1; + + pub fn get_hash(&self) -> &[u8] { + &self.hash + } pub fn clear_hash(&mut self) { self.hash.clear(); } @@ -780,12 +807,12 @@ impl Status { ::std::mem::replace(&mut self.hash, ::std::vec::Vec::new()) } - pub fn get_hash(&self) -> &[u8] { - &self.hash - } - // uint64 height = 2; + + pub fn get_height(&self) -> u64 { + self.height + } pub fn clear_height(&mut self) { self.height = 0; } @@ -794,10 +821,6 @@ impl Status { pub fn set_height(&mut self, v: u64) { self.height = v; } - - pub fn get_height(&self) -> u64 { - self.height - } } impl ::protobuf::Message for Status { @@ -805,7 +828,7 @@ impl ::protobuf::Message for Status { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -842,7 +865,7 @@ impl ::protobuf::Message for Status { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if !self.hash.is_empty() { os.write_bytes(1, &self.hash)?; } @@ -865,13 +888,13 @@ impl ::protobuf::Message for Status { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -923,14 +946,14 @@ impl ::protobuf::Message for Status { impl ::protobuf::Clear for Status { fn clear(&mut self) { - self.clear_hash(); - self.clear_height(); + self.hash.clear(); + self.height = 0; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for Status { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -944,11 +967,17 @@ impl ::protobuf::reflect::ProtobufValue for Status { #[derive(PartialEq,Clone,Default)] pub struct AccountGasLimit { // message fields - pub common_gas_limit: u64, - pub specific_gas_limit: ::std::collections::HashMap<::std::string::String, u64>, + pub common_quota_limit: u64, + pub specific_quota_limit: ::std::collections::HashMap<::std::string::String, u64>, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a AccountGasLimit { + fn default() -> &'a AccountGasLimit { + ::default_instance() + } } impl AccountGasLimit { @@ -956,44 +985,44 @@ impl AccountGasLimit { ::std::default::Default::default() } - // uint64 common_gas_limit = 1; + // uint64 common_quota_limit = 1; + - pub fn clear_common_gas_limit(&mut self) { - self.common_gas_limit = 0; + pub fn get_common_quota_limit(&self) -> u64 { + self.common_quota_limit + } + pub fn clear_common_quota_limit(&mut self) { + self.common_quota_limit = 0; } // Param is passed by value, moved - pub fn set_common_gas_limit(&mut self, v: u64) { - self.common_gas_limit = v; + pub fn set_common_quota_limit(&mut self, v: u64) { + self.common_quota_limit = v; } - pub fn get_common_gas_limit(&self) -> u64 { - self.common_gas_limit - } + // repeated .AccountGasLimit.SpecificQuotaLimitEntry specific_quota_limit = 2; - // repeated .AccountGasLimit.SpecificGasLimitEntry specific_gas_limit = 2; - pub fn clear_specific_gas_limit(&mut self) { - self.specific_gas_limit.clear(); + pub fn get_specific_quota_limit(&self) -> &::std::collections::HashMap<::std::string::String, u64> { + &self.specific_quota_limit + } + pub fn clear_specific_quota_limit(&mut self) { + self.specific_quota_limit.clear(); } // Param is passed by value, moved - pub fn set_specific_gas_limit(&mut self, v: ::std::collections::HashMap<::std::string::String, u64>) { - self.specific_gas_limit = v; + pub fn set_specific_quota_limit(&mut self, v: ::std::collections::HashMap<::std::string::String, u64>) { + self.specific_quota_limit = v; } // Mutable pointer to the field. - pub fn mut_specific_gas_limit(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, u64> { - &mut self.specific_gas_limit + pub fn mut_specific_quota_limit(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, u64> { + &mut self.specific_quota_limit } // Take field - pub fn take_specific_gas_limit(&mut self) -> ::std::collections::HashMap<::std::string::String, u64> { - ::std::mem::replace(&mut self.specific_gas_limit, ::std::collections::HashMap::new()) - } - - pub fn get_specific_gas_limit(&self) -> &::std::collections::HashMap<::std::string::String, u64> { - &self.specific_gas_limit + pub fn take_specific_quota_limit(&mut self) -> ::std::collections::HashMap<::std::string::String, u64> { + ::std::mem::replace(&mut self.specific_quota_limit, ::std::collections::HashMap::new()) } } @@ -1002,7 +1031,7 @@ impl ::protobuf::Message for AccountGasLimit { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -1011,10 +1040,10 @@ impl ::protobuf::Message for AccountGasLimit { return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); } let tmp = is.read_uint64()?; - self.common_gas_limit = tmp; + self.common_quota_limit = tmp; }, 2 => { - ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>(wire_type, is, &mut self.specific_gas_limit)?; + ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>(wire_type, is, &mut self.specific_quota_limit)?; }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; @@ -1028,20 +1057,20 @@ impl ::protobuf::Message for AccountGasLimit { #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; - if self.common_gas_limit != 0 { - my_size += ::protobuf::rt::value_size(1, self.common_gas_limit, ::protobuf::wire_format::WireTypeVarint); + if self.common_quota_limit != 0 { + my_size += ::protobuf::rt::value_size(1, self.common_quota_limit, ::protobuf::wire_format::WireTypeVarint); } - my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>(2, &self.specific_gas_limit); + my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>(2, &self.specific_quota_limit); my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { - if self.common_gas_limit != 0 { - os.write_uint64(1, self.common_gas_limit)?; + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + if self.common_quota_limit != 0 { + os.write_uint64(1, self.common_quota_limit)?; } - ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>(2, &self.specific_gas_limit, os)?; + ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>(2, &self.specific_quota_limit, os)?; os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -1058,13 +1087,13 @@ impl ::protobuf::Message for AccountGasLimit { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -1085,14 +1114,14 @@ impl ::protobuf::Message for AccountGasLimit { descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( - "common_gas_limit", - |m: &AccountGasLimit| { &m.common_gas_limit }, - |m: &mut AccountGasLimit| { &mut m.common_gas_limit }, + "common_quota_limit", + |m: &AccountGasLimit| { &m.common_quota_limit }, + |m: &mut AccountGasLimit| { &mut m.common_quota_limit }, )); fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeUint64>( - "specific_gas_limit", - |m: &AccountGasLimit| { &m.specific_gas_limit }, - |m: &mut AccountGasLimit| { &mut m.specific_gas_limit }, + "specific_quota_limit", + |m: &AccountGasLimit| { &m.specific_quota_limit }, + |m: &mut AccountGasLimit| { &mut m.specific_quota_limit }, )); ::protobuf::reflect::MessageDescriptor::new::( "AccountGasLimit", @@ -1116,14 +1145,14 @@ impl ::protobuf::Message for AccountGasLimit { impl ::protobuf::Clear for AccountGasLimit { fn clear(&mut self) { - self.clear_common_gas_limit(); - self.clear_specific_gas_limit(); + self.common_quota_limit = 0; + self.specific_quota_limit.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for AccountGasLimit { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -1142,9 +1171,17 @@ pub struct RichStatus { pub nodes: ::protobuf::RepeatedField<::std::vec::Vec>, pub interval: u64, pub version: u32, + pub validators: ::protobuf::RepeatedField<::std::vec::Vec>, + pub timestamp: u64, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a RichStatus { + fn default() -> &'a RichStatus { + ::default_instance() + } } impl RichStatus { @@ -1154,6 +1191,10 @@ impl RichStatus { // bytes hash = 1; + + pub fn get_hash(&self) -> &[u8] { + &self.hash + } pub fn clear_hash(&mut self) { self.hash.clear(); } @@ -1174,12 +1215,12 @@ impl RichStatus { ::std::mem::replace(&mut self.hash, ::std::vec::Vec::new()) } - pub fn get_hash(&self) -> &[u8] { - &self.hash - } - // uint64 height = 2; + + pub fn get_height(&self) -> u64 { + self.height + } pub fn clear_height(&mut self) { self.height = 0; } @@ -1189,12 +1230,12 @@ impl RichStatus { self.height = v; } - pub fn get_height(&self) -> u64 { - self.height - } - // repeated bytes nodes = 3; + + pub fn get_nodes(&self) -> &[::std::vec::Vec] { + &self.nodes + } pub fn clear_nodes(&mut self) { self.nodes.clear(); } @@ -1214,12 +1255,12 @@ impl RichStatus { ::std::mem::replace(&mut self.nodes, ::protobuf::RepeatedField::new()) } - pub fn get_nodes(&self) -> &[::std::vec::Vec] { - &self.nodes - } - // uint64 interval = 4; + + pub fn get_interval(&self) -> u64 { + self.interval + } pub fn clear_interval(&mut self) { self.interval = 0; } @@ -1229,12 +1270,12 @@ impl RichStatus { self.interval = v; } - pub fn get_interval(&self) -> u64 { - self.interval - } - // uint32 version = 5; + + pub fn get_version(&self) -> u32 { + self.version + } pub fn clear_version(&mut self) { self.version = 0; } @@ -1244,8 +1285,44 @@ impl RichStatus { self.version = v; } - pub fn get_version(&self) -> u32 { - self.version + // repeated bytes validators = 6; + + + pub fn get_validators(&self) -> &[::std::vec::Vec] { + &self.validators + } + pub fn clear_validators(&mut self) { + self.validators.clear(); + } + + // Param is passed by value, moved + pub fn set_validators(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec>) { + self.validators = v; + } + + // Mutable pointer to the field. + pub fn mut_validators(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec> { + &mut self.validators + } + + // Take field + pub fn take_validators(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec> { + ::std::mem::replace(&mut self.validators, ::protobuf::RepeatedField::new()) + } + + // uint64 timestamp = 7; + + + pub fn get_timestamp(&self) -> u64 { + self.timestamp + } + pub fn clear_timestamp(&mut self) { + self.timestamp = 0; + } + + // Param is passed by value, moved + pub fn set_timestamp(&mut self, v: u64) { + self.timestamp = v; } } @@ -1254,7 +1331,7 @@ impl ::protobuf::Message for RichStatus { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -1285,6 +1362,16 @@ impl ::protobuf::Message for RichStatus { let tmp = is.read_uint32()?; self.version = tmp; }, + 6 => { + ::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.validators)?; + }, + 7 => { + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint64()?; + self.timestamp = tmp; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -1312,12 +1399,18 @@ impl ::protobuf::Message for RichStatus { if self.version != 0 { my_size += ::protobuf::rt::value_size(5, self.version, ::protobuf::wire_format::WireTypeVarint); } + for value in &self.validators { + my_size += ::protobuf::rt::bytes_size(6, &value); + }; + if self.timestamp != 0 { + my_size += ::protobuf::rt::value_size(7, self.timestamp, ::protobuf::wire_format::WireTypeVarint); + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if !self.hash.is_empty() { os.write_bytes(1, &self.hash)?; } @@ -1333,6 +1426,12 @@ impl ::protobuf::Message for RichStatus { if self.version != 0 { os.write_uint32(5, self.version)?; } + for v in &self.validators { + os.write_bytes(6, &v)?; + }; + if self.timestamp != 0 { + os.write_uint64(7, self.timestamp)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -1349,13 +1448,13 @@ impl ::protobuf::Message for RichStatus { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -1400,6 +1499,16 @@ impl ::protobuf::Message for RichStatus { |m: &RichStatus| { &m.version }, |m: &mut RichStatus| { &mut m.version }, )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "validators", + |m: &RichStatus| { &m.validators }, + |m: &mut RichStatus| { &mut m.validators }, + )); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>( + "timestamp", + |m: &RichStatus| { &m.timestamp }, + |m: &mut RichStatus| { &mut m.timestamp }, + )); ::protobuf::reflect::MessageDescriptor::new::( "RichStatus", fields, @@ -1422,17 +1531,19 @@ impl ::protobuf::Message for RichStatus { impl ::protobuf::Clear for RichStatus { fn clear(&mut self) { - self.clear_hash(); - self.clear_height(); - self.clear_nodes(); - self.clear_interval(); - self.clear_version(); + self.hash.clear(); + self.height = 0; + self.nodes.clear(); + self.interval = 0; + self.version = 0; + self.validators.clear(); + self.timestamp = 0; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for RichStatus { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -1458,7 +1569,13 @@ pub struct Transaction { pub chain_id_v1: ::std::vec::Vec, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a Transaction { + fn default() -> &'a Transaction { + ::default_instance() + } } impl Transaction { @@ -1468,6 +1585,10 @@ impl Transaction { // string to = 1; + + pub fn get_to(&self) -> &str { + &self.to + } pub fn clear_to(&mut self) { self.to.clear(); } @@ -1488,12 +1609,12 @@ impl Transaction { ::std::mem::replace(&mut self.to, ::std::string::String::new()) } - pub fn get_to(&self) -> &str { - &self.to - } - // string nonce = 2; + + pub fn get_nonce(&self) -> &str { + &self.nonce + } pub fn clear_nonce(&mut self) { self.nonce.clear(); } @@ -1514,12 +1635,12 @@ impl Transaction { ::std::mem::replace(&mut self.nonce, ::std::string::String::new()) } - pub fn get_nonce(&self) -> &str { - &self.nonce - } - // uint64 quota = 3; + + pub fn get_quota(&self) -> u64 { + self.quota + } pub fn clear_quota(&mut self) { self.quota = 0; } @@ -1529,12 +1650,12 @@ impl Transaction { self.quota = v; } - pub fn get_quota(&self) -> u64 { - self.quota - } - // uint64 valid_until_block = 4; + + pub fn get_valid_until_block(&self) -> u64 { + self.valid_until_block + } pub fn clear_valid_until_block(&mut self) { self.valid_until_block = 0; } @@ -1544,12 +1665,12 @@ impl Transaction { self.valid_until_block = v; } - pub fn get_valid_until_block(&self) -> u64 { - self.valid_until_block - } - // bytes data = 5; + + pub fn get_data(&self) -> &[u8] { + &self.data + } pub fn clear_data(&mut self) { self.data.clear(); } @@ -1570,12 +1691,12 @@ impl Transaction { ::std::mem::replace(&mut self.data, ::std::vec::Vec::new()) } - pub fn get_data(&self) -> &[u8] { - &self.data - } - // bytes value = 6; + + pub fn get_value(&self) -> &[u8] { + &self.value + } pub fn clear_value(&mut self) { self.value.clear(); } @@ -1596,12 +1717,12 @@ impl Transaction { ::std::mem::replace(&mut self.value, ::std::vec::Vec::new()) } - pub fn get_value(&self) -> &[u8] { - &self.value - } - // uint32 chain_id = 7; + + pub fn get_chain_id(&self) -> u32 { + self.chain_id + } pub fn clear_chain_id(&mut self) { self.chain_id = 0; } @@ -1611,12 +1732,12 @@ impl Transaction { self.chain_id = v; } - pub fn get_chain_id(&self) -> u32 { - self.chain_id - } - // uint32 version = 8; + + pub fn get_version(&self) -> u32 { + self.version + } pub fn clear_version(&mut self) { self.version = 0; } @@ -1626,12 +1747,12 @@ impl Transaction { self.version = v; } - pub fn get_version(&self) -> u32 { - self.version - } - // bytes to_v1 = 9; + + pub fn get_to_v1(&self) -> &[u8] { + &self.to_v1 + } pub fn clear_to_v1(&mut self) { self.to_v1.clear(); } @@ -1652,12 +1773,12 @@ impl Transaction { ::std::mem::replace(&mut self.to_v1, ::std::vec::Vec::new()) } - pub fn get_to_v1(&self) -> &[u8] { - &self.to_v1 - } - // bytes chain_id_v1 = 10; + + pub fn get_chain_id_v1(&self) -> &[u8] { + &self.chain_id_v1 + } pub fn clear_chain_id_v1(&mut self) { self.chain_id_v1.clear(); } @@ -1677,10 +1798,6 @@ impl Transaction { pub fn take_chain_id_v1(&mut self) -> ::std::vec::Vec { ::std::mem::replace(&mut self.chain_id_v1, ::std::vec::Vec::new()) } - - pub fn get_chain_id_v1(&self) -> &[u8] { - &self.chain_id_v1 - } } impl ::protobuf::Message for Transaction { @@ -1688,7 +1805,7 @@ impl ::protobuf::Message for Transaction { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -1785,7 +1902,7 @@ impl ::protobuf::Message for Transaction { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if !self.to.is_empty() { os.write_string(1, &self.to)?; } @@ -1832,13 +1949,13 @@ impl ::protobuf::Message for Transaction { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -1930,22 +2047,22 @@ impl ::protobuf::Message for Transaction { impl ::protobuf::Clear for Transaction { fn clear(&mut self) { - self.clear_to(); - self.clear_nonce(); - self.clear_quota(); - self.clear_valid_until_block(); - self.clear_data(); - self.clear_value(); - self.clear_chain_id(); - self.clear_version(); - self.clear_to_v1(); - self.clear_chain_id_v1(); + self.to.clear(); + self.nonce.clear(); + self.quota = 0; + self.valid_until_block = 0; + self.data.clear(); + self.value.clear(); + self.chain_id = 0; + self.version = 0; + self.to_v1.clear(); + self.chain_id_v1.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for Transaction { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -1964,7 +2081,13 @@ pub struct UnverifiedTransaction { pub crypto: Crypto, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a UnverifiedTransaction { + fn default() -> &'a UnverifiedTransaction { + ::default_instance() + } } impl UnverifiedTransaction { @@ -1974,6 +2097,10 @@ impl UnverifiedTransaction { // .Transaction transaction = 1; + + pub fn get_transaction(&self) -> &Transaction { + self.transaction.as_ref().unwrap_or_else(|| Transaction::default_instance()) + } pub fn clear_transaction(&mut self) { self.transaction.clear(); } @@ -2001,12 +2128,12 @@ impl UnverifiedTransaction { self.transaction.take().unwrap_or_else(|| Transaction::new()) } - pub fn get_transaction(&self) -> &Transaction { - self.transaction.as_ref().unwrap_or_else(|| Transaction::default_instance()) - } - // bytes signature = 2; + + pub fn get_signature(&self) -> &[u8] { + &self.signature + } pub fn clear_signature(&mut self) { self.signature.clear(); } @@ -2027,24 +2154,20 @@ impl UnverifiedTransaction { ::std::mem::replace(&mut self.signature, ::std::vec::Vec::new()) } - pub fn get_signature(&self) -> &[u8] { - &self.signature - } - // .Crypto crypto = 3; + + pub fn get_crypto(&self) -> Crypto { + self.crypto + } pub fn clear_crypto(&mut self) { - self.crypto = Crypto::SECP; + self.crypto = Crypto::DEFAULT; } // Param is passed by value, moved pub fn set_crypto(&mut self, v: Crypto) { self.crypto = v; } - - pub fn get_crypto(&self) -> Crypto { - self.crypto - } } impl ::protobuf::Message for UnverifiedTransaction { @@ -2057,7 +2180,7 @@ impl ::protobuf::Message for UnverifiedTransaction { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -2089,7 +2212,7 @@ impl ::protobuf::Message for UnverifiedTransaction { if !self.signature.is_empty() { my_size += ::protobuf::rt::bytes_size(2, &self.signature); } - if self.crypto != Crypto::SECP { + if self.crypto != Crypto::DEFAULT { my_size += ::protobuf::rt::enum_size(3, self.crypto); } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); @@ -2097,7 +2220,7 @@ impl ::protobuf::Message for UnverifiedTransaction { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if let Some(ref v) = self.transaction.as_ref() { os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; @@ -2106,7 +2229,7 @@ impl ::protobuf::Message for UnverifiedTransaction { if !self.signature.is_empty() { os.write_bytes(2, &self.signature)?; } - if self.crypto != Crypto::SECP { + if self.crypto != Crypto::DEFAULT { os.write_enum(3, self.crypto.value())?; } os.write_unknown_fields(self.get_unknown_fields())?; @@ -2125,13 +2248,13 @@ impl ::protobuf::Message for UnverifiedTransaction { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -2188,15 +2311,15 @@ impl ::protobuf::Message for UnverifiedTransaction { impl ::protobuf::Clear for UnverifiedTransaction { fn clear(&mut self) { - self.clear_transaction(); - self.clear_signature(); - self.clear_crypto(); + self.transaction.clear(); + self.signature.clear(); + self.crypto = Crypto::DEFAULT; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for UnverifiedTransaction { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -2215,7 +2338,13 @@ pub struct SignedTransaction { pub signer: ::std::vec::Vec, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a SignedTransaction { + fn default() -> &'a SignedTransaction { + ::default_instance() + } } impl SignedTransaction { @@ -2225,6 +2354,10 @@ impl SignedTransaction { // .UnverifiedTransaction transaction_with_sig = 1; + + pub fn get_transaction_with_sig(&self) -> &UnverifiedTransaction { + self.transaction_with_sig.as_ref().unwrap_or_else(|| UnverifiedTransaction::default_instance()) + } pub fn clear_transaction_with_sig(&mut self) { self.transaction_with_sig.clear(); } @@ -2252,12 +2385,12 @@ impl SignedTransaction { self.transaction_with_sig.take().unwrap_or_else(|| UnverifiedTransaction::new()) } - pub fn get_transaction_with_sig(&self) -> &UnverifiedTransaction { - self.transaction_with_sig.as_ref().unwrap_or_else(|| UnverifiedTransaction::default_instance()) - } - // bytes tx_hash = 2; + + pub fn get_tx_hash(&self) -> &[u8] { + &self.tx_hash + } pub fn clear_tx_hash(&mut self) { self.tx_hash.clear(); } @@ -2278,12 +2411,12 @@ impl SignedTransaction { ::std::mem::replace(&mut self.tx_hash, ::std::vec::Vec::new()) } - pub fn get_tx_hash(&self) -> &[u8] { - &self.tx_hash - } - // bytes signer = 3; + + pub fn get_signer(&self) -> &[u8] { + &self.signer + } pub fn clear_signer(&mut self) { self.signer.clear(); } @@ -2303,10 +2436,6 @@ impl SignedTransaction { pub fn take_signer(&mut self) -> ::std::vec::Vec { ::std::mem::replace(&mut self.signer, ::std::vec::Vec::new()) } - - pub fn get_signer(&self) -> &[u8] { - &self.signer - } } impl ::protobuf::Message for SignedTransaction { @@ -2319,7 +2448,7 @@ impl ::protobuf::Message for SignedTransaction { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -2359,7 +2488,7 @@ impl ::protobuf::Message for SignedTransaction { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if let Some(ref v) = self.transaction_with_sig.as_ref() { os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; @@ -2387,13 +2516,13 @@ impl ::protobuf::Message for SignedTransaction { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -2450,15 +2579,15 @@ impl ::protobuf::Message for SignedTransaction { impl ::protobuf::Clear for SignedTransaction { fn clear(&mut self) { - self.clear_transaction_with_sig(); - self.clear_tx_hash(); - self.clear_signer(); + self.transaction_with_sig.clear(); + self.tx_hash.clear(); + self.signer.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for SignedTransaction { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -2475,7 +2604,13 @@ pub struct BlockBody { pub transactions: ::protobuf::RepeatedField, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a BlockBody { + fn default() -> &'a BlockBody { + ::default_instance() + } } impl BlockBody { @@ -2483,35 +2618,442 @@ impl BlockBody { ::std::default::Default::default() } - // repeated .SignedTransaction transactions = 1; + // repeated .SignedTransaction transactions = 1; + + + pub fn get_transactions(&self) -> &[SignedTransaction] { + &self.transactions + } + pub fn clear_transactions(&mut self) { + self.transactions.clear(); + } + + // Param is passed by value, moved + pub fn set_transactions(&mut self, v: ::protobuf::RepeatedField) { + self.transactions = v; + } + + // Mutable pointer to the field. + pub fn mut_transactions(&mut self) -> &mut ::protobuf::RepeatedField { + &mut self.transactions + } + + // Take field + pub fn take_transactions(&mut self) -> ::protobuf::RepeatedField { + ::std::mem::replace(&mut self.transactions, ::protobuf::RepeatedField::new()) + } +} + +impl ::protobuf::Message for BlockBody { + fn is_initialized(&self) -> bool { + for v in &self.transactions { + if !v.is_initialized() { + return false; + } + }; + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.transactions)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + for value in &self.transactions { + let len = value.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; + }; + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + for v in &self.transactions { + os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + }; + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: Box) -> ::std::boxed::Box { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> BlockBody { + BlockBody::new() + } + + fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "transactions", + |m: &BlockBody| { &m.transactions }, + |m: &mut BlockBody| { &mut m.transactions }, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "BlockBody", + fields, + file_descriptor_proto() + ) + }) + } + } + + fn default_instance() -> &'static BlockBody { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const BlockBody, + }; + unsafe { + instance.get(BlockBody::new) + } + } +} + +impl ::protobuf::Clear for BlockBody { + fn clear(&mut self) { + self.transactions.clear(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for BlockBody { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for BlockBody { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +pub struct CompactBlockBody { + // message fields + pub tx_hashes: ::protobuf::RepeatedField<::std::vec::Vec>, + // special fields + pub unknown_fields: ::protobuf::UnknownFields, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a CompactBlockBody { + fn default() -> &'a CompactBlockBody { + ::default_instance() + } +} + +impl CompactBlockBody { + pub fn new() -> CompactBlockBody { + ::std::default::Default::default() + } + + // repeated bytes tx_hashes = 1; + + + pub fn get_tx_hashes(&self) -> &[::std::vec::Vec] { + &self.tx_hashes + } + pub fn clear_tx_hashes(&mut self) { + self.tx_hashes.clear(); + } + + // Param is passed by value, moved + pub fn set_tx_hashes(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec>) { + self.tx_hashes = v; + } + + // Mutable pointer to the field. + pub fn mut_tx_hashes(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec> { + &mut self.tx_hashes + } + + // Take field + pub fn take_tx_hashes(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec> { + ::std::mem::replace(&mut self.tx_hashes, ::protobuf::RepeatedField::new()) + } +} + +impl ::protobuf::Message for CompactBlockBody { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + ::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.tx_hashes)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + for value in &self.tx_hashes { + my_size += ::protobuf::rt::bytes_size(1, &value); + }; + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + for v in &self.tx_hashes { + os.write_bytes(1, &v)?; + }; + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: Box) -> ::std::boxed::Box { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> CompactBlockBody { + CompactBlockBody::new() + } + + fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const ::protobuf::reflect::MessageDescriptor, + }; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>( + "tx_hashes", + |m: &CompactBlockBody| { &m.tx_hashes }, + |m: &mut CompactBlockBody| { &mut m.tx_hashes }, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "CompactBlockBody", + fields, + file_descriptor_proto() + ) + }) + } + } + + fn default_instance() -> &'static CompactBlockBody { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + lock: ::protobuf::lazy::ONCE_INIT, + ptr: 0 as *const CompactBlockBody, + }; + unsafe { + instance.get(CompactBlockBody::new) + } + } +} + +impl ::protobuf::Clear for CompactBlockBody { + fn clear(&mut self) { + self.tx_hashes.clear(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for CompactBlockBody { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CompactBlockBody { + fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { + ::protobuf::reflect::ProtobufValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +pub struct Block { + // message fields + pub version: u32, + pub header: ::protobuf::SingularPtrField, + pub body: ::protobuf::SingularPtrField, + // special fields + pub unknown_fields: ::protobuf::UnknownFields, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a Block { + fn default() -> &'a Block { + ::default_instance() + } +} + +impl Block { + pub fn new() -> Block { + ::std::default::Default::default() + } + + // uint32 version = 1; + + + pub fn get_version(&self) -> u32 { + self.version + } + pub fn clear_version(&mut self) { + self.version = 0; + } + + // Param is passed by value, moved + pub fn set_version(&mut self, v: u32) { + self.version = v; + } + + // .BlockHeader header = 2; + + + pub fn get_header(&self) -> &BlockHeader { + self.header.as_ref().unwrap_or_else(|| BlockHeader::default_instance()) + } + pub fn clear_header(&mut self) { + self.header.clear(); + } + + pub fn has_header(&self) -> bool { + self.header.is_some() + } + + // Param is passed by value, moved + pub fn set_header(&mut self, v: BlockHeader) { + self.header = ::protobuf::SingularPtrField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_header(&mut self) -> &mut BlockHeader { + if self.header.is_none() { + self.header.set_default(); + } + self.header.as_mut().unwrap() + } + + // Take field + pub fn take_header(&mut self) -> BlockHeader { + self.header.take().unwrap_or_else(|| BlockHeader::new()) + } + + // .BlockBody body = 3; - pub fn clear_transactions(&mut self) { - self.transactions.clear(); + + pub fn get_body(&self) -> &BlockBody { + self.body.as_ref().unwrap_or_else(|| BlockBody::default_instance()) + } + pub fn clear_body(&mut self) { + self.body.clear(); + } + + pub fn has_body(&self) -> bool { + self.body.is_some() } // Param is passed by value, moved - pub fn set_transactions(&mut self, v: ::protobuf::RepeatedField) { - self.transactions = v; + pub fn set_body(&mut self, v: BlockBody) { + self.body = ::protobuf::SingularPtrField::some(v); } // Mutable pointer to the field. - pub fn mut_transactions(&mut self) -> &mut ::protobuf::RepeatedField { - &mut self.transactions + // If field is not initialized, it is initialized with default value first. + pub fn mut_body(&mut self) -> &mut BlockBody { + if self.body.is_none() { + self.body.set_default(); + } + self.body.as_mut().unwrap() } // Take field - pub fn take_transactions(&mut self) -> ::protobuf::RepeatedField { - ::std::mem::replace(&mut self.transactions, ::protobuf::RepeatedField::new()) - } - - pub fn get_transactions(&self) -> &[SignedTransaction] { - &self.transactions + pub fn take_body(&mut self) -> BlockBody { + self.body.take().unwrap_or_else(|| BlockBody::new()) } } -impl ::protobuf::Message for BlockBody { +impl ::protobuf::Message for Block { fn is_initialized(&self) -> bool { - for v in &self.transactions { + for v in &self.header { + if !v.is_initialized() { + return false; + } + }; + for v in &self.body { if !v.is_initialized() { return false; } @@ -2519,12 +3061,22 @@ impl ::protobuf::Message for BlockBody { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { 1 => { - ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.transactions)?; + if wire_type != ::protobuf::wire_format::WireTypeVarint { + return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint32()?; + self.version = tmp; + }, + 2 => { + ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.header)?; + }, + 3 => { + ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.body)?; }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; @@ -2538,21 +3090,36 @@ impl ::protobuf::Message for BlockBody { #[allow(unused_variables)] fn compute_size(&self) -> u32 { let mut my_size = 0; - for value in &self.transactions { - let len = value.compute_size(); + if self.version != 0 { + my_size += ::protobuf::rt::value_size(1, self.version, ::protobuf::wire_format::WireTypeVarint); + } + if let Some(ref v) = self.header.as_ref() { + let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; - }; + } + if let Some(ref v) = self.body.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; + } my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { - for v in &self.transactions { - os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + if self.version != 0 { + os.write_uint32(1, self.version)?; + } + if let Some(ref v) = self.header.as_ref() { + os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; v.write_to_with_cached_sizes(os)?; - }; + } + if let Some(ref v) = self.body.as_ref() { + os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -2569,13 +3136,13 @@ impl ::protobuf::Message for BlockBody { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -2583,8 +3150,8 @@ impl ::protobuf::Message for BlockBody { Self::descriptor_static() } - fn new() -> BlockBody { - BlockBody::new() + fn new() -> Block { + Block::new() } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { @@ -2595,13 +3162,23 @@ impl ::protobuf::Message for BlockBody { unsafe { descriptor.get(|| { let mut fields = ::std::vec::Vec::new(); - fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( - "transactions", - |m: &BlockBody| { &m.transactions }, - |m: &mut BlockBody| { &mut m.transactions }, + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( + "version", + |m: &Block| { &m.version }, + |m: &mut Block| { &mut m.version }, )); - ::protobuf::reflect::MessageDescriptor::new::( - "BlockBody", + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "header", + |m: &Block| { &m.header }, + |m: &mut Block| { &mut m.header }, + )); + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "body", + |m: &Block| { &m.body }, + |m: &mut Block| { &mut m.body }, + )); + ::protobuf::reflect::MessageDescriptor::new::( + "Block", fields, file_descriptor_proto() ) @@ -2609,54 +3186,66 @@ impl ::protobuf::Message for BlockBody { } } - fn default_instance() -> &'static BlockBody { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + fn default_instance() -> &'static Block { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const BlockBody, + ptr: 0 as *const Block, }; unsafe { - instance.get(BlockBody::new) + instance.get(Block::new) } } } -impl ::protobuf::Clear for BlockBody { +impl ::protobuf::Clear for Block { fn clear(&mut self) { - self.clear_transactions(); + self.version = 0; + self.header.clear(); + self.body.clear(); self.unknown_fields.clear(); } } -impl ::std::fmt::Debug for BlockBody { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { +impl ::std::fmt::Debug for Block { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } -impl ::protobuf::reflect::ProtobufValue for BlockBody { +impl ::protobuf::reflect::ProtobufValue for Block { fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { ::protobuf::reflect::ProtobufValueRef::Message(self) } } #[derive(PartialEq,Clone,Default)] -pub struct Block { +pub struct CompactBlock { // message fields pub version: u32, pub header: ::protobuf::SingularPtrField, - pub body: ::protobuf::SingularPtrField, + pub body: ::protobuf::SingularPtrField, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, } -impl Block { - pub fn new() -> Block { +impl<'a> ::std::default::Default for &'a CompactBlock { + fn default() -> &'a CompactBlock { + ::default_instance() + } +} + +impl CompactBlock { + pub fn new() -> CompactBlock { ::std::default::Default::default() } // uint32 version = 1; + + pub fn get_version(&self) -> u32 { + self.version + } pub fn clear_version(&mut self) { self.version = 0; } @@ -2666,12 +3255,12 @@ impl Block { self.version = v; } - pub fn get_version(&self) -> u32 { - self.version - } - // .BlockHeader header = 2; + + pub fn get_header(&self) -> &BlockHeader { + self.header.as_ref().unwrap_or_else(|| BlockHeader::default_instance()) + } pub fn clear_header(&mut self) { self.header.clear(); } @@ -2699,12 +3288,12 @@ impl Block { self.header.take().unwrap_or_else(|| BlockHeader::new()) } - pub fn get_header(&self) -> &BlockHeader { - self.header.as_ref().unwrap_or_else(|| BlockHeader::default_instance()) - } + // .CompactBlockBody body = 3; - // .BlockBody body = 3; + pub fn get_body(&self) -> &CompactBlockBody { + self.body.as_ref().unwrap_or_else(|| CompactBlockBody::default_instance()) + } pub fn clear_body(&mut self) { self.body.clear(); } @@ -2714,13 +3303,13 @@ impl Block { } // Param is passed by value, moved - pub fn set_body(&mut self, v: BlockBody) { + pub fn set_body(&mut self, v: CompactBlockBody) { self.body = ::protobuf::SingularPtrField::some(v); } // Mutable pointer to the field. // If field is not initialized, it is initialized with default value first. - pub fn mut_body(&mut self) -> &mut BlockBody { + pub fn mut_body(&mut self) -> &mut CompactBlockBody { if self.body.is_none() { self.body.set_default(); } @@ -2728,16 +3317,12 @@ impl Block { } // Take field - pub fn take_body(&mut self) -> BlockBody { - self.body.take().unwrap_or_else(|| BlockBody::new()) - } - - pub fn get_body(&self) -> &BlockBody { - self.body.as_ref().unwrap_or_else(|| BlockBody::default_instance()) + pub fn take_body(&mut self) -> CompactBlockBody { + self.body.take().unwrap_or_else(|| CompactBlockBody::new()) } } -impl ::protobuf::Message for Block { +impl ::protobuf::Message for CompactBlock { fn is_initialized(&self) -> bool { for v in &self.header { if !v.is_initialized() { @@ -2752,7 +3337,7 @@ impl ::protobuf::Message for Block { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -2797,7 +3382,7 @@ impl ::protobuf::Message for Block { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.version != 0 { os.write_uint32(1, self.version)?; } @@ -2827,13 +3412,13 @@ impl ::protobuf::Message for Block { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -2841,8 +3426,8 @@ impl ::protobuf::Message for Block { Self::descriptor_static() } - fn new() -> Block { - Block::new() + fn new() -> CompactBlock { + CompactBlock::new() } fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { @@ -2855,21 +3440,21 @@ impl ::protobuf::Message for Block { let mut fields = ::std::vec::Vec::new(); fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>( "version", - |m: &Block| { &m.version }, - |m: &mut Block| { &mut m.version }, + |m: &CompactBlock| { &m.version }, + |m: &mut CompactBlock| { &mut m.version }, )); fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "header", - |m: &Block| { &m.header }, - |m: &mut Block| { &mut m.header }, + |m: &CompactBlock| { &m.header }, + |m: &mut CompactBlock| { &mut m.header }, )); - fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( "body", - |m: &Block| { &m.body }, - |m: &mut Block| { &mut m.body }, + |m: &CompactBlock| { &m.body }, + |m: &mut CompactBlock| { &mut m.body }, )); - ::protobuf::reflect::MessageDescriptor::new::( - "Block", + ::protobuf::reflect::MessageDescriptor::new::( + "CompactBlock", fields, file_descriptor_proto() ) @@ -2877,33 +3462,33 @@ impl ::protobuf::Message for Block { } } - fn default_instance() -> &'static Block { - static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { + fn default_instance() -> &'static CompactBlock { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy { lock: ::protobuf::lazy::ONCE_INIT, - ptr: 0 as *const Block, + ptr: 0 as *const CompactBlock, }; unsafe { - instance.get(Block::new) + instance.get(CompactBlock::new) } } } -impl ::protobuf::Clear for Block { +impl ::protobuf::Clear for CompactBlock { fn clear(&mut self) { - self.clear_version(); - self.clear_header(); - self.clear_body(); + self.version = 0; + self.header.clear(); + self.body.clear(); self.unknown_fields.clear(); } } -impl ::std::fmt::Debug for Block { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { +impl ::std::fmt::Debug for CompactBlock { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } -impl ::protobuf::reflect::ProtobufValue for Block { +impl ::protobuf::reflect::ProtobufValue for CompactBlock { fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef { ::protobuf::reflect::ProtobufValueRef::Message(self) } @@ -2916,7 +3501,13 @@ pub struct BlockWithProof { pub proof: ::protobuf::SingularPtrField, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a BlockWithProof { + fn default() -> &'a BlockWithProof { + ::default_instance() + } } impl BlockWithProof { @@ -2926,6 +3517,10 @@ impl BlockWithProof { // .Block blk = 1; + + pub fn get_blk(&self) -> &Block { + self.blk.as_ref().unwrap_or_else(|| Block::default_instance()) + } pub fn clear_blk(&mut self) { self.blk.clear(); } @@ -2953,12 +3548,12 @@ impl BlockWithProof { self.blk.take().unwrap_or_else(|| Block::new()) } - pub fn get_blk(&self) -> &Block { - self.blk.as_ref().unwrap_or_else(|| Block::default_instance()) - } - // .Proof proof = 2; + + pub fn get_proof(&self) -> &Proof { + self.proof.as_ref().unwrap_or_else(|| Proof::default_instance()) + } pub fn clear_proof(&mut self) { self.proof.clear(); } @@ -2985,10 +3580,6 @@ impl BlockWithProof { pub fn take_proof(&mut self) -> Proof { self.proof.take().unwrap_or_else(|| Proof::new()) } - - pub fn get_proof(&self) -> &Proof { - self.proof.as_ref().unwrap_or_else(|| Proof::default_instance()) - } } impl ::protobuf::Message for BlockWithProof { @@ -3006,7 +3597,7 @@ impl ::protobuf::Message for BlockWithProof { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -3041,7 +3632,7 @@ impl ::protobuf::Message for BlockWithProof { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if let Some(ref v) = self.blk.as_ref() { os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; @@ -3068,13 +3659,13 @@ impl ::protobuf::Message for BlockWithProof { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -3126,14 +3717,14 @@ impl ::protobuf::Message for BlockWithProof { impl ::protobuf::Clear for BlockWithProof { fn clear(&mut self) { - self.clear_blk(); - self.clear_proof(); + self.blk.clear(); + self.proof.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for BlockWithProof { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -3151,7 +3742,13 @@ pub struct BlockTxs { pub body: ::protobuf::SingularPtrField, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a BlockTxs { + fn default() -> &'a BlockTxs { + ::default_instance() + } } impl BlockTxs { @@ -3161,6 +3758,10 @@ impl BlockTxs { // uint64 height = 1; + + pub fn get_height(&self) -> u64 { + self.height + } pub fn clear_height(&mut self) { self.height = 0; } @@ -3170,12 +3771,12 @@ impl BlockTxs { self.height = v; } - pub fn get_height(&self) -> u64 { - self.height - } - // .BlockBody body = 3; + + pub fn get_body(&self) -> &BlockBody { + self.body.as_ref().unwrap_or_else(|| BlockBody::default_instance()) + } pub fn clear_body(&mut self) { self.body.clear(); } @@ -3202,10 +3803,6 @@ impl BlockTxs { pub fn take_body(&mut self) -> BlockBody { self.body.take().unwrap_or_else(|| BlockBody::new()) } - - pub fn get_body(&self) -> &BlockBody { - self.body.as_ref().unwrap_or_else(|| BlockBody::default_instance()) - } } impl ::protobuf::Message for BlockTxs { @@ -3218,7 +3815,7 @@ impl ::protobuf::Message for BlockTxs { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -3256,7 +3853,7 @@ impl ::protobuf::Message for BlockTxs { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.height != 0 { os.write_uint64(1, self.height)?; } @@ -3281,13 +3878,13 @@ impl ::protobuf::Message for BlockTxs { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -3339,14 +3936,14 @@ impl ::protobuf::Message for BlockTxs { impl ::protobuf::Clear for BlockTxs { fn clear(&mut self) { - self.clear_height(); - self.clear_body(); + self.height = 0; + self.body.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for BlockTxs { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -3364,7 +3961,13 @@ pub struct BlackList { pub clear_list: ::protobuf::RepeatedField<::std::vec::Vec>, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a BlackList { + fn default() -> &'a BlackList { + ::default_instance() + } } impl BlackList { @@ -3374,6 +3977,10 @@ impl BlackList { // repeated bytes black_list = 1; + + pub fn get_black_list(&self) -> &[::std::vec::Vec] { + &self.black_list + } pub fn clear_black_list(&mut self) { self.black_list.clear(); } @@ -3393,12 +4000,12 @@ impl BlackList { ::std::mem::replace(&mut self.black_list, ::protobuf::RepeatedField::new()) } - pub fn get_black_list(&self) -> &[::std::vec::Vec] { - &self.black_list - } - // repeated bytes clear_list = 2; + + pub fn get_clear_list(&self) -> &[::std::vec::Vec] { + &self.clear_list + } pub fn clear_clear_list(&mut self) { self.clear_list.clear(); } @@ -3417,10 +4024,6 @@ impl BlackList { pub fn take_clear_list(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec> { ::std::mem::replace(&mut self.clear_list, ::protobuf::RepeatedField::new()) } - - pub fn get_clear_list(&self) -> &[::std::vec::Vec] { - &self.clear_list - } } impl ::protobuf::Message for BlackList { @@ -3428,7 +4031,7 @@ impl ::protobuf::Message for BlackList { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -3461,7 +4064,7 @@ impl ::protobuf::Message for BlackList { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { for v in &self.black_list { os.write_bytes(1, &v)?; }; @@ -3484,13 +4087,13 @@ impl ::protobuf::Message for BlackList { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -3542,14 +4145,14 @@ impl ::protobuf::Message for BlackList { impl ::protobuf::Clear for BlackList { fn clear(&mut self) { - self.clear_black_list(); - self.clear_clear_list(); + self.black_list.clear(); + self.clear_list.clear(); self.unknown_fields.clear(); } } impl ::std::fmt::Debug for BlackList { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -3566,7 +4169,13 @@ pub struct StateSignal { pub height: u64, // special fields pub unknown_fields: ::protobuf::UnknownFields, - cached_size: ::protobuf::CachedSize, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a StateSignal { + fn default() -> &'a StateSignal { + ::default_instance() + } } impl StateSignal { @@ -3576,6 +4185,10 @@ impl StateSignal { // uint64 height = 1; + + pub fn get_height(&self) -> u64 { + self.height + } pub fn clear_height(&mut self) { self.height = 0; } @@ -3584,10 +4197,6 @@ impl StateSignal { pub fn set_height(&mut self, v: u64) { self.height = v; } - - pub fn get_height(&self) -> u64 { - self.height - } } impl ::protobuf::Message for StateSignal { @@ -3595,7 +4204,7 @@ impl ::protobuf::Message for StateSignal { true } - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> { + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { while !is.eof()? { let (field_number, wire_type) = is.read_tag_unpack()?; match field_number { @@ -3626,7 +4235,7 @@ impl ::protobuf::Message for StateSignal { my_size } - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> { + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { if self.height != 0 { os.write_uint64(1, self.height)?; } @@ -3646,13 +4255,13 @@ impl ::protobuf::Message for StateSignal { &mut self.unknown_fields } - fn as_any(&self) -> &::std::any::Any { - self as &::std::any::Any + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) } - fn as_any_mut(&mut self) -> &mut ::std::any::Any { - self as &mut ::std::any::Any + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) } - fn into_any(self: Box) -> ::std::boxed::Box<::std::any::Any> { + fn into_any(self: Box) -> ::std::boxed::Box { self } @@ -3699,13 +4308,13 @@ impl ::protobuf::Message for StateSignal { impl ::protobuf::Clear for StateSignal { fn clear(&mut self) { - self.clear_height(); + self.height = 0; self.unknown_fields.clear(); } } impl ::std::fmt::Debug for StateSignal { - fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } @@ -3776,8 +4385,8 @@ impl ::protobuf::reflect::ProtobufValue for ProofType { #[derive(Clone,PartialEq,Eq,Debug,Hash)] pub enum Crypto { - SECP = 0, - SM2 = 1, + DEFAULT = 0, + RESERVED = 1, } impl ::protobuf::ProtobufEnum for Crypto { @@ -3787,16 +4396,16 @@ impl ::protobuf::ProtobufEnum for Crypto { fn from_i32(value: i32) -> ::std::option::Option { match value { - 0 => ::std::option::Option::Some(Crypto::SECP), - 1 => ::std::option::Option::Some(Crypto::SM2), + 0 => ::std::option::Option::Some(Crypto::DEFAULT), + 1 => ::std::option::Option::Some(Crypto::RESERVED), _ => ::std::option::Option::None } } fn values() -> &'static [Self] { static values: &'static [Crypto] = &[ - Crypto::SECP, - Crypto::SM2, + Crypto::DEFAULT, + Crypto::RESERVED, ]; values } @@ -3819,7 +4428,7 @@ impl ::std::marker::Copy for Crypto { impl ::std::default::Default for Crypto { fn default() -> Self { - Crypto::SECP + Crypto::DEFAULT } } @@ -3832,245 +4441,240 @@ impl ::protobuf::reflect::ProtobufValue for Crypto { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x16proto/blockchain.proto\"A\n\x05Proof\x12\x18\n\x07content\x18\x01\ \x20\x01(\x0cR\x07content\x12\x1e\n\x04type\x18\x02\x20\x01(\x0e2\n.Proo\ - fTypeR\x04type\"\xc2\x02\n\x0bBlockHeader\x12\x1a\n\x08prevhash\x18\x01\ + fTypeR\x04type\"\xca\x02\n\x0bBlockHeader\x12\x1a\n\x08prevhash\x18\x01\ \x20\x01(\x0cR\x08prevhash\x12\x1c\n\ttimestamp\x18\x02\x20\x01(\x04R\tt\ imestamp\x12\x16\n\x06height\x18\x03\x20\x01(\x04R\x06height\x12\x1d\n\n\ state_root\x18\x04\x20\x01(\x0cR\tstateRoot\x12+\n\x11transactions_root\ \x18\x05\x20\x01(\x0cR\x10transactionsRoot\x12#\n\rreceipts_root\x18\x06\ - \x20\x01(\x0cR\x0creceiptsRoot\x12\x19\n\x08gas_used\x18\x07\x20\x01(\ - \x04R\x07gasUsed\x12\x1b\n\tgas_limit\x18\x08\x20\x01(\x04R\x08gasLimit\ - \x12\x1c\n\x05proof\x18\t\x20\x01(\x0b2\x06.ProofR\x05proof\x12\x1a\n\ + \x20\x01(\x0cR\x0creceiptsRoot\x12\x1d\n\nquota_used\x18\x07\x20\x01(\ + \x04R\tquotaUsed\x12\x1f\n\x0bquota_limit\x18\x08\x20\x01(\x04R\nquotaLi\ + mit\x12\x1c\n\x05proof\x18\t\x20\x01(\x0b2\x06.ProofR\x05proof\x12\x1a\n\ \x08proposer\x18\n\x20\x01(\x0cR\x08proposer\"4\n\x06Status\x12\x12\n\ \x04hash\x18\x01\x20\x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x02\x20\ - \x01(\x04R\x06height\"\xd6\x01\n\x0fAccountGasLimit\x12(\n\x10common_gas\ - _limit\x18\x01\x20\x01(\x04R\x0ecommonGasLimit\x12T\n\x12specific_gas_li\ - mit\x18\x02\x20\x03(\x0b2&.AccountGasLimit.SpecificGasLimitEntryR\x10spe\ - cificGasLimit\x1aC\n\x15SpecificGasLimitEntry\x12\x10\n\x03key\x18\x01\ - \x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x04R\x05value:\ - \x028\x01\"\x84\x01\n\nRichStatus\x12\x12\n\x04hash\x18\x01\x20\x01(\x0c\ - R\x04hash\x12\x16\n\x06height\x18\x02\x20\x01(\x04R\x06height\x12\x14\n\ - \x05nodes\x18\x03\x20\x03(\x0cR\x05nodes\x12\x1a\n\x08interval\x18\x04\ - \x20\x01(\x04R\x08interval\x12\x18\n\x07version\x18\x05\x20\x01(\rR\x07v\ - ersion\"\x89\x02\n\x0bTransaction\x12\x0e\n\x02to\x18\x01\x20\x01(\tR\ - \x02to\x12\x14\n\x05nonce\x18\x02\x20\x01(\tR\x05nonce\x12\x14\n\x05quot\ - a\x18\x03\x20\x01(\x04R\x05quota\x12*\n\x11valid_until_block\x18\x04\x20\ - \x01(\x04R\x0fvalidUntilBlock\x12\x12\n\x04data\x18\x05\x20\x01(\x0cR\ - \x04data\x12\x14\n\x05value\x18\x06\x20\x01(\x0cR\x05value\x12\x19\n\x08\ - chain_id\x18\x07\x20\x01(\rR\x07chainId\x12\x18\n\x07version\x18\x08\x20\ - \x01(\rR\x07version\x12\x13\n\x05to_v1\x18\t\x20\x01(\x0cR\x04toV1\x12\ - \x1e\n\x0bchain_id_v1\x18\n\x20\x01(\x0cR\tchainIdV1\"\x86\x01\n\x15Unve\ - rifiedTransaction\x12.\n\x0btransaction\x18\x01\x20\x01(\x0b2\x0c.Transa\ - ctionR\x0btransaction\x12\x1c\n\tsignature\x18\x02\x20\x01(\x0cR\tsignat\ - ure\x12\x1f\n\x06crypto\x18\x03\x20\x01(\x0e2\x07.CryptoR\x06crypto\"\ - \x8e\x01\n\x11SignedTransaction\x12H\n\x14transaction_with_sig\x18\x01\ - \x20\x01(\x0b2\x16.UnverifiedTransactionR\x12transactionWithSig\x12\x17\ - \n\x07tx_hash\x18\x02\x20\x01(\x0cR\x06txHash\x12\x16\n\x06signer\x18\ - \x03\x20\x01(\x0cR\x06signer\"C\n\tBlockBody\x126\n\x0ctransactions\x18\ - \x01\x20\x03(\x0b2\x12.SignedTransactionR\x0ctransactions\"g\n\x05Block\ - \x12\x18\n\x07version\x18\x01\x20\x01(\rR\x07version\x12$\n\x06header\ - \x18\x02\x20\x01(\x0b2\x0c.BlockHeaderR\x06header\x12\x1e\n\x04body\x18\ - \x03\x20\x01(\x0b2\n.BlockBodyR\x04body\"H\n\x0eBlockWithProof\x12\x18\n\ - \x03blk\x18\x01\x20\x01(\x0b2\x06.BlockR\x03blk\x12\x1c\n\x05proof\x18\ - \x02\x20\x01(\x0b2\x06.ProofR\x05proof\"B\n\x08BlockTxs\x12\x16\n\x06hei\ - ght\x18\x01\x20\x01(\x04R\x06height\x12\x1e\n\x04body\x18\x03\x20\x01(\ - \x0b2\n.BlockBodyR\x04body\"I\n\tBlackList\x12\x1d\n\nblack_list\x18\x01\ - \x20\x03(\x0cR\tblackList\x12\x1d\n\nclear_list\x18\x02\x20\x03(\x0cR\tc\ - learList\"%\n\x0bStateSignal\x12\x16\n\x06height\x18\x01\x20\x01(\x04R\ - \x06height*2\n\tProofType\x12\x12\n\x0eAuthorityRound\x10\0\x12\x08\n\ - \x04Raft\x10\x01\x12\x07\n\x03Bft\x10\x02*\x1b\n\x06Crypto\x12\x08\n\x04\ - SECP\x10\0\x12\x07\n\x03SM2\x10\x01J\xc8\x20\n\x06\x12\x04\0\0l\x01\n\ - \x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x05\0\x12\x04\x02\0\x06\x01\n\n\ - \n\x03\x05\0\x01\x12\x03\x02\x05\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x03\ - \x04\x17\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x03\x04\x12\n\x0c\n\x05\x05\ - \0\x02\0\x02\x12\x03\x03\x15\x16\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x04\ - \x04\r\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x04\x04\x08\n\x0c\n\x05\x05\ - \0\x02\x01\x02\x12\x03\x04\x0b\x0c\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x05\ - \x04\x0c\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x05\x04\x07\n\x0c\n\x05\ - \x05\0\x02\x02\x02\x12\x03\x05\n\x0b\n\n\n\x02\x04\0\x12\x04\x08\0\x0b\ - \x01\n\n\n\x03\x04\0\x01\x12\x03\x08\x08\r\n\x0b\n\x04\x04\0\x02\0\x12\ - \x03\t\x04\x16\n\r\n\x05\x04\0\x02\0\x04\x12\x04\t\x04\x08\x0f\n\x0c\n\ - \x05\x04\0\x02\0\x05\x12\x03\t\x04\t\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\ - \t\n\x11\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\t\x14\x15\n\x0b\n\x04\x04\0\ - \x02\x01\x12\x03\n\x04\x17\n\r\n\x05\x04\0\x02\x01\x04\x12\x04\n\x04\t\ - \x16\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\n\x04\r\n\x0c\n\x05\x04\0\x02\ - \x01\x01\x12\x03\n\x0e\x12\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\n\x15\ - \x16\n\n\n\x02\x04\x01\x12\x04\r\0\x18\x01\n\n\n\x03\x04\x01\x01\x12\x03\ - \r\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x0e\x04\x17\n\r\n\x05\x04\ - \x01\x02\0\x04\x12\x04\x0e\x04\r\x15\n\x0c\n\x05\x04\x01\x02\0\x05\x12\ - \x03\x0e\x04\t\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x0e\n\x12\n\x0c\n\ - \x05\x04\x01\x02\0\x03\x12\x03\x0e\x15\x16\n\x0b\n\x04\x04\x01\x02\x01\ - \x12\x03\x0f\x04\x19\n\r\n\x05\x04\x01\x02\x01\x04\x12\x04\x0f\x04\x0e\ - \x17\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x0f\x04\n\n\x0c\n\x05\x04\ - \x01\x02\x01\x01\x12\x03\x0f\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\ - \x03\x0f\x17\x18\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x10\x04\x16\n\r\n\ - \x05\x04\x01\x02\x02\x04\x12\x04\x10\x04\x0f\x19\n\x0c\n\x05\x04\x01\x02\ + \x01(\x04R\x06height\"\xe2\x01\n\x0fAccountGasLimit\x12,\n\x12common_quo\ + ta_limit\x18\x01\x20\x01(\x04R\x10commonQuotaLimit\x12Z\n\x14specific_qu\ + ota_limit\x18\x02\x20\x03(\x0b2(.AccountGasLimit.SpecificQuotaLimitEntry\ + R\x12specificQuotaLimit\x1aE\n\x17SpecificQuotaLimitEntry\x12\x10\n\x03k\ + ey\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x04R\ + \x05value:\x028\x01\"\xc2\x01\n\nRichStatus\x12\x12\n\x04hash\x18\x01\ + \x20\x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x02\x20\x01(\x04R\x06heig\ + ht\x12\x14\n\x05nodes\x18\x03\x20\x03(\x0cR\x05nodes\x12\x1a\n\x08interv\ + al\x18\x04\x20\x01(\x04R\x08interval\x12\x18\n\x07version\x18\x05\x20\ + \x01(\rR\x07version\x12\x1e\n\nvalidators\x18\x06\x20\x03(\x0cR\nvalidat\ + ors\x12\x1c\n\ttimestamp\x18\x07\x20\x01(\x04R\ttimestamp\"\x89\x02\n\ + \x0bTransaction\x12\x0e\n\x02to\x18\x01\x20\x01(\tR\x02to\x12\x14\n\x05n\ + once\x18\x02\x20\x01(\tR\x05nonce\x12\x14\n\x05quota\x18\x03\x20\x01(\ + \x04R\x05quota\x12*\n\x11valid_until_block\x18\x04\x20\x01(\x04R\x0fvali\ + dUntilBlock\x12\x12\n\x04data\x18\x05\x20\x01(\x0cR\x04data\x12\x14\n\ + \x05value\x18\x06\x20\x01(\x0cR\x05value\x12\x19\n\x08chain_id\x18\x07\ + \x20\x01(\rR\x07chainId\x12\x18\n\x07version\x18\x08\x20\x01(\rR\x07vers\ + ion\x12\x13\n\x05to_v1\x18\t\x20\x01(\x0cR\x04toV1\x12\x1e\n\x0bchain_id\ + _v1\x18\n\x20\x01(\x0cR\tchainIdV1\"\x86\x01\n\x15UnverifiedTransaction\ + \x12.\n\x0btransaction\x18\x01\x20\x01(\x0b2\x0c.TransactionR\x0btransac\ + tion\x12\x1c\n\tsignature\x18\x02\x20\x01(\x0cR\tsignature\x12\x1f\n\x06\ + crypto\x18\x03\x20\x01(\x0e2\x07.CryptoR\x06crypto\"\x8e\x01\n\x11Signed\ + Transaction\x12H\n\x14transaction_with_sig\x18\x01\x20\x01(\x0b2\x16.Unv\ + erifiedTransactionR\x12transactionWithSig\x12\x17\n\x07tx_hash\x18\x02\ + \x20\x01(\x0cR\x06txHash\x12\x16\n\x06signer\x18\x03\x20\x01(\x0cR\x06si\ + gner\"C\n\tBlockBody\x126\n\x0ctransactions\x18\x01\x20\x03(\x0b2\x12.Si\ + gnedTransactionR\x0ctransactions\"/\n\x10CompactBlockBody\x12\x1b\n\ttx_\ + hashes\x18\x01\x20\x03(\x0cR\x08txHashes\"g\n\x05Block\x12\x18\n\x07vers\ + ion\x18\x01\x20\x01(\rR\x07version\x12$\n\x06header\x18\x02\x20\x01(\x0b\ + 2\x0c.BlockHeaderR\x06header\x12\x1e\n\x04body\x18\x03\x20\x01(\x0b2\n.B\ + lockBodyR\x04body\"u\n\x0cCompactBlock\x12\x18\n\x07version\x18\x01\x20\ + \x01(\rR\x07version\x12$\n\x06header\x18\x02\x20\x01(\x0b2\x0c.BlockHead\ + erR\x06header\x12%\n\x04body\x18\x03\x20\x01(\x0b2\x11.CompactBlockBodyR\ + \x04body\"H\n\x0eBlockWithProof\x12\x18\n\x03blk\x18\x01\x20\x01(\x0b2\ + \x06.BlockR\x03blk\x12\x1c\n\x05proof\x18\x02\x20\x01(\x0b2\x06.ProofR\ + \x05proof\"B\n\x08BlockTxs\x12\x16\n\x06height\x18\x01\x20\x01(\x04R\x06\ + height\x12\x1e\n\x04body\x18\x03\x20\x01(\x0b2\n.BlockBodyR\x04body\"I\n\ + \tBlackList\x12\x1d\n\nblack_list\x18\x01\x20\x03(\x0cR\tblackList\x12\ + \x1d\n\nclear_list\x18\x02\x20\x03(\x0cR\tclearList\"%\n\x0bStateSignal\ + \x12\x16\n\x06height\x18\x01\x20\x01(\x04R\x06height*2\n\tProofType\x12\ + \x12\n\x0eAuthorityRound\x10\0\x12\x08\n\x04Raft\x10\x01\x12\x07\n\x03Bf\ + t\x10\x02*#\n\x06Crypto\x12\x0b\n\x07DEFAULT\x10\0\x12\x0c\n\x08RESERVED\ + \x10\x01J\xca\x1e\n\x06\x12\x04\0\0x\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\ + \n\n\n\x02\x05\0\x12\x04\x02\0\x06\x01\n\n\n\x03\x05\0\x01\x12\x03\x02\ + \x05\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x03\x04\x17\n\x0c\n\x05\x05\0\ + \x02\0\x01\x12\x03\x03\x04\x12\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x03\ + \x15\x16\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x04\x04\r\n\x0c\n\x05\x05\0\ + \x02\x01\x01\x12\x03\x04\x04\x08\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03\ + \x04\x0b\x0c\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x05\x04\x0c\n\x0c\n\x05\ + \x05\0\x02\x02\x01\x12\x03\x05\x04\x07\n\x0c\n\x05\x05\0\x02\x02\x02\x12\ + \x03\x05\n\x0b\n\n\n\x02\x04\0\x12\x04\x08\0\x0b\x01\n\n\n\x03\x04\0\x01\ + \x12\x03\x08\x08\r\n\x0b\n\x04\x04\0\x02\0\x12\x03\t\x04\x16\n\x0c\n\x05\ + \x04\0\x02\0\x05\x12\x03\t\x04\t\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\t\n\ + \x11\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\t\x14\x15\n\x0b\n\x04\x04\0\x02\ + \x01\x12\x03\n\x04\x17\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\n\x04\r\n\ + \x0c\n\x05\x04\0\x02\x01\x01\x12\x03\n\x0e\x12\n\x0c\n\x05\x04\0\x02\x01\ + \x03\x12\x03\n\x15\x16\n\n\n\x02\x04\x01\x12\x04\r\0\x18\x01\n\n\n\x03\ + \x04\x01\x01\x12\x03\r\x08\x13\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x0e\x04\ + \x17\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03\x0e\x04\t\n\x0c\n\x05\x04\x01\ + \x02\0\x01\x12\x03\x0e\n\x12\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x0e\ + \x15\x16\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x0f\x04\x19\n\x0c\n\x05\x04\ + \x01\x02\x01\x05\x12\x03\x0f\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\ + \x03\x0f\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0f\x17\x18\n\ + \x0b\n\x04\x04\x01\x02\x02\x12\x03\x10\x04\x16\n\x0c\n\x05\x04\x01\x02\ \x02\x05\x12\x03\x10\x04\n\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x10\ \x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x10\x14\x15\n\x0b\n\x04\ - \x04\x01\x02\x03\x12\x03\x11\x04\x19\n\r\n\x05\x04\x01\x02\x03\x04\x12\ - \x04\x11\x04\x10\x16\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x11\x04\t\n\ - \x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x11\n\x14\n\x0c\n\x05\x04\x01\x02\ - \x03\x03\x12\x03\x11\x17\x18\n\x0b\n\x04\x04\x01\x02\x04\x12\x03\x12\x04\ - \x20\n\r\n\x05\x04\x01\x02\x04\x04\x12\x04\x12\x04\x11\x19\n\x0c\n\x05\ - \x04\x01\x02\x04\x05\x12\x03\x12\x04\t\n\x0c\n\x05\x04\x01\x02\x04\x01\ - \x12\x03\x12\n\x1b\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x12\x1e\x1f\n\ - \x0b\n\x04\x04\x01\x02\x05\x12\x03\x13\x04\x1c\n\r\n\x05\x04\x01\x02\x05\ - \x04\x12\x04\x13\x04\x12\x20\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03\x13\ - \x04\t\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\x13\n\x17\n\x0c\n\x05\x04\ - \x01\x02\x05\x03\x12\x03\x13\x1a\x1b\n\x0b\n\x04\x04\x01\x02\x06\x12\x03\ - \x14\x04\x18\n\r\n\x05\x04\x01\x02\x06\x04\x12\x04\x14\x04\x13\x1c\n\x0c\ - \n\x05\x04\x01\x02\x06\x05\x12\x03\x14\x04\n\n\x0c\n\x05\x04\x01\x02\x06\ - \x01\x12\x03\x14\x0b\x13\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03\x14\x16\ - \x17\n\x0b\n\x04\x04\x01\x02\x07\x12\x03\x15\x04\x19\n\r\n\x05\x04\x01\ - \x02\x07\x04\x12\x04\x15\x04\x14\x18\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\ - \x03\x15\x04\n\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03\x15\x0b\x14\n\x0c\ - \n\x05\x04\x01\x02\x07\x03\x12\x03\x15\x17\x18\n\x0b\n\x04\x04\x01\x02\ - \x08\x12\x03\x16\x04\x14\n\r\n\x05\x04\x01\x02\x08\x04\x12\x04\x16\x04\ - \x15\x19\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03\x16\x04\t\n\x0c\n\x05\ - \x04\x01\x02\x08\x01\x12\x03\x16\n\x0f\n\x0c\n\x05\x04\x01\x02\x08\x03\ - \x12\x03\x16\x12\x13\n\x0b\n\x04\x04\x01\x02\t\x12\x03\x17\x04\x18\n\r\n\ - \x05\x04\x01\x02\t\x04\x12\x04\x17\x04\x16\x14\n\x0c\n\x05\x04\x01\x02\t\ - \x05\x12\x03\x17\x04\t\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03\x17\n\x12\n\ - \x0c\n\x05\x04\x01\x02\t\x03\x12\x03\x17\x15\x17\n\n\n\x02\x04\x02\x12\ - \x04\x1a\0\x1d\x01\n\n\n\x03\x04\x02\x01\x12\x03\x1a\x08\x0e\n\x0b\n\x04\ - \x04\x02\x02\0\x12\x03\x1b\x04\x13\n\r\n\x05\x04\x02\x02\0\x04\x12\x04\ - \x1b\x04\x1a\x10\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x1b\x04\t\n\x0c\n\ + \x04\x01\x02\x03\x12\x03\x11\x04\x19\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\ + \x03\x11\x04\t\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x11\n\x14\n\x0c\n\ + \x05\x04\x01\x02\x03\x03\x12\x03\x11\x17\x18\n\x0b\n\x04\x04\x01\x02\x04\ + \x12\x03\x12\x04\x20\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03\x12\x04\t\n\ + \x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x12\n\x1b\n\x0c\n\x05\x04\x01\x02\ + \x04\x03\x12\x03\x12\x1e\x1f\n\x0b\n\x04\x04\x01\x02\x05\x12\x03\x13\x04\ + \x1c\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03\x13\x04\t\n\x0c\n\x05\x04\ + \x01\x02\x05\x01\x12\x03\x13\n\x17\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\ + \x03\x13\x1a\x1b\n\x0b\n\x04\x04\x01\x02\x06\x12\x03\x14\x04\x1a\n\x0c\n\ + \x05\x04\x01\x02\x06\x05\x12\x03\x14\x04\n\n\x0c\n\x05\x04\x01\x02\x06\ + \x01\x12\x03\x14\x0b\x15\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03\x14\x18\ + \x19\n\x0b\n\x04\x04\x01\x02\x07\x12\x03\x15\x04\x1b\n\x0c\n\x05\x04\x01\ + \x02\x07\x05\x12\x03\x15\x04\n\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03\ + \x15\x0b\x16\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03\x15\x19\x1a\n\x0b\n\ + \x04\x04\x01\x02\x08\x12\x03\x16\x04\x14\n\x0c\n\x05\x04\x01\x02\x08\x06\ + \x12\x03\x16\x04\t\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03\x16\n\x0f\n\ + \x0c\n\x05\x04\x01\x02\x08\x03\x12\x03\x16\x12\x13\n\x0b\n\x04\x04\x01\ + \x02\t\x12\x03\x17\x04\x18\n\x0c\n\x05\x04\x01\x02\t\x05\x12\x03\x17\x04\ + \t\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03\x17\n\x12\n\x0c\n\x05\x04\x01\ + \x02\t\x03\x12\x03\x17\x15\x17\n\n\n\x02\x04\x02\x12\x04\x1a\0\x1d\x01\n\ + \n\n\x03\x04\x02\x01\x12\x03\x1a\x08\x0e\n\x0b\n\x04\x04\x02\x02\0\x12\ + \x03\x1b\x04\x13\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x1b\x04\t\n\x0c\n\ \x05\x04\x02\x02\0\x01\x12\x03\x1b\n\x0e\n\x0c\n\x05\x04\x02\x02\0\x03\ - \x12\x03\x1b\x11\x12\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1c\x04\x16\n\r\ - \n\x05\x04\x02\x02\x01\x04\x12\x04\x1c\x04\x1b\x13\n\x0c\n\x05\x04\x02\ - \x02\x01\x05\x12\x03\x1c\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\ - \x1c\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1c\x14\x15\n\n\n\ - \x02\x04\x03\x12\x04\x1f\0\"\x01\n\n\n\x03\x04\x03\x01\x12\x03\x1f\x08\ - \x17\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x20\x04\x20\n\r\n\x05\x04\x03\x02\ - \0\x04\x12\x04\x20\x04\x1f\x19\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03\x20\ - \x04\n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03\x20\x0b\x1b\n\x0c\n\x05\x04\ - \x03\x02\0\x03\x12\x03\x20\x1e\x1f\n\x0b\n\x04\x04\x03\x02\x01\x12\x03!\ - \x04.\n\r\n\x05\x04\x03\x02\x01\x04\x12\x04!\x04\x20\x20\n\x0c\n\x05\x04\ - \x03\x02\x01\x06\x12\x03!\x04\x16\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\ - \x03!\x17)\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03!,-\n\n\n\x02\x04\x04\ - \x12\x04$\0*\x01\n\n\n\x03\x04\x04\x01\x12\x03$\x08\x12\n\x0b\n\x04\x04\ - \x04\x02\0\x12\x03%\x04\x13\n\r\n\x05\x04\x04\x02\0\x04\x12\x04%\x04$\ - \x14\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03%\x04\t\n\x0c\n\x05\x04\x04\ + \x12\x03\x1b\x11\x12\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1c\x04\x16\n\ + \x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1c\x04\n\n\x0c\n\x05\x04\x02\x02\ + \x01\x01\x12\x03\x1c\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1c\ + \x14\x15\n\n\n\x02\x04\x03\x12\x04\x1f\0\"\x01\n\n\n\x03\x04\x03\x01\x12\ + \x03\x1f\x08\x17\n\x0b\n\x04\x04\x03\x02\0\x12\x03\x20\x04\"\n\x0c\n\x05\ + \x04\x03\x02\0\x05\x12\x03\x20\x04\n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\ + \x03\x20\x0b\x1d\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x20\x20!\n\x0b\n\ + \x04\x04\x03\x02\x01\x12\x03!\x040\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\ + \x03!\x04\x16\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03!\x17+\n\x0c\n\x05\ + \x04\x03\x02\x01\x03\x12\x03!./\n\n\n\x02\x04\x04\x12\x04$\0,\x01\n\n\n\ + \x03\x04\x04\x01\x12\x03$\x08\x12\n\x0b\n\x04\x04\x04\x02\0\x12\x03%\x04\ + \x13\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03%\x04\t\n\x0c\n\x05\x04\x04\ \x02\0\x01\x12\x03%\n\x0e\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03%\x11\x12\ - \n\x0b\n\x04\x04\x04\x02\x01\x12\x03&\x04\x16\n\r\n\x05\x04\x04\x02\x01\ - \x04\x12\x04&\x04%\x13\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03&\x04\n\n\ - \x0c\n\x05\x04\x04\x02\x01\x01\x12\x03&\x0b\x11\n\x0c\n\x05\x04\x04\x02\ - \x01\x03\x12\x03&\x14\x15\n\x0b\n\x04\x04\x04\x02\x02\x12\x03'\x04\x1d\n\ - \x0c\n\x05\x04\x04\x02\x02\x04\x12\x03'\x04\x0c\n\x0c\n\x05\x04\x04\x02\ - \x02\x05\x12\x03'\r\x12\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03'\x13\x18\ - \n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03'\x1b\x1c\n\x0b\n\x04\x04\x04\ - \x02\x03\x12\x03(\x04\x18\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04(\x04'\ - \x1d\n\x0c\n\x05\x04\x04\x02\x03\x05\x12\x03(\x04\n\n\x0c\n\x05\x04\x04\ - \x02\x03\x01\x12\x03(\x0b\x13\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03(\ - \x16\x17\n\x0b\n\x04\x04\x04\x02\x04\x12\x03)\x04\x17\n\r\n\x05\x04\x04\ - \x02\x04\x04\x12\x04)\x04(\x18\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\x03)\ - \x04\n\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x03)\x0b\x12\n\x0c\n\x05\x04\ - \x04\x02\x04\x03\x12\x03)\x15\x16\n\n\n\x02\x05\x01\x12\x04,\0/\x01\n\n\ - \n\x03\x05\x01\x01\x12\x03,\x05\x0b\n\x0b\n\x04\x05\x01\x02\0\x12\x03-\ - \x04\r\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03-\x04\x08\n\x0c\n\x05\x05\ - \x01\x02\0\x02\x12\x03-\x0b\x0c\n\x0b\n\x04\x05\x01\x02\x01\x12\x03.\x04\ - \x0c\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03.\x04\x07\n\x0c\n\x05\x05\ - \x01\x02\x01\x02\x12\x03.\n\x0b\n\n\n\x02\x04\x05\x12\x041\0<\x01\n\n\n\ - \x03\x04\x05\x01\x12\x031\x08\x13\n\x0b\n\x04\x04\x05\x02\0\x12\x032\x04\ - \x12\n\r\n\x05\x04\x05\x02\0\x04\x12\x042\x041\x15\n\x0c\n\x05\x04\x05\ - \x02\0\x05\x12\x032\x04\n\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x032\x0b\r\n\ - \x0c\n\x05\x04\x05\x02\0\x03\x12\x032\x10\x11\n\x0b\n\x04\x04\x05\x02\ - \x01\x12\x033\x04\x15\n\r\n\x05\x04\x05\x02\x01\x04\x12\x043\x042\x12\n\ - \x0c\n\x05\x04\x05\x02\x01\x05\x12\x033\x04\n\n\x0c\n\x05\x04\x05\x02\ - \x01\x01\x12\x033\x0b\x10\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x033\x13\ - \x14\n\x0b\n\x04\x04\x05\x02\x02\x12\x034\x04\x15\n\r\n\x05\x04\x05\x02\ - \x02\x04\x12\x044\x043\x15\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x034\x04\ - \n\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x034\x0b\x10\n\x0c\n\x05\x04\x05\ - \x02\x02\x03\x12\x034\x13\x14\n\x0b\n\x04\x04\x05\x02\x03\x12\x035\x04!\ - \n\r\n\x05\x04\x05\x02\x03\x04\x12\x045\x044\x15\n\x0c\n\x05\x04\x05\x02\ - \x03\x05\x12\x035\x04\n\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x035\x0b\x1c\ - \n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x035\x1f\x20\n\x0b\n\x04\x04\x05\ - \x02\x04\x12\x036\x04\x13\n\r\n\x05\x04\x05\x02\x04\x04\x12\x046\x045!\n\ - \x0c\n\x05\x04\x05\x02\x04\x05\x12\x036\x04\t\n\x0c\n\x05\x04\x05\x02\ - \x04\x01\x12\x036\n\x0e\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x036\x11\x12\ - \n\x0b\n\x04\x04\x05\x02\x05\x12\x037\x04\x14\n\r\n\x05\x04\x05\x02\x05\ - \x04\x12\x047\x046\x13\n\x0c\n\x05\x04\x05\x02\x05\x05\x12\x037\x04\t\n\ - \x0c\n\x05\x04\x05\x02\x05\x01\x12\x037\n\x0f\n\x0c\n\x05\x04\x05\x02\ - \x05\x03\x12\x037\x12\x13\n\x0b\n\x04\x04\x05\x02\x06\x12\x038\x04\x18\n\ - \r\n\x05\x04\x05\x02\x06\x04\x12\x048\x047\x14\n\x0c\n\x05\x04\x05\x02\ - \x06\x05\x12\x038\x04\n\n\x0c\n\x05\x04\x05\x02\x06\x01\x12\x038\x0b\x13\ - \n\x0c\n\x05\x04\x05\x02\x06\x03\x12\x038\x16\x17\n\x0b\n\x04\x04\x05\ - \x02\x07\x12\x039\x04\x17\n\r\n\x05\x04\x05\x02\x07\x04\x12\x049\x048\ - \x18\n\x0c\n\x05\x04\x05\x02\x07\x05\x12\x039\x04\n\n\x0c\n\x05\x04\x05\ - \x02\x07\x01\x12\x039\x0b\x12\n\x0c\n\x05\x04\x05\x02\x07\x03\x12\x039\ - \x15\x16\n\x0b\n\x04\x04\x05\x02\x08\x12\x03:\x04\x14\n\r\n\x05\x04\x05\ - \x02\x08\x04\x12\x04:\x049\x17\n\x0c\n\x05\x04\x05\x02\x08\x05\x12\x03:\ - \x04\t\n\x0c\n\x05\x04\x05\x02\x08\x01\x12\x03:\n\x0f\n\x0c\n\x05\x04\ - \x05\x02\x08\x03\x12\x03:\x12\x13\n\x0b\n\x04\x04\x05\x02\t\x12\x03;\x04\ - \x1b\n\r\n\x05\x04\x05\x02\t\x04\x12\x04;\x04:\x14\n\x0c\n\x05\x04\x05\ - \x02\t\x05\x12\x03;\x04\t\n\x0c\n\x05\x04\x05\x02\t\x01\x12\x03;\n\x15\n\ - \x0c\n\x05\x04\x05\x02\t\x03\x12\x03;\x18\x1a\n\n\n\x02\x04\x06\x12\x04>\ - \0B\x01\n\n\n\x03\x04\x06\x01\x12\x03>\x08\x1d\n\x0b\n\x04\x04\x06\x02\0\ - \x12\x03?\x04\x20\n\r\n\x05\x04\x06\x02\0\x04\x12\x04?\x04>\x1f\n\x0c\n\ - \x05\x04\x06\x02\0\x06\x12\x03?\x04\x0f\n\x0c\n\x05\x04\x06\x02\0\x01\ - \x12\x03?\x10\x1b\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03?\x1e\x1f\n\x0b\n\ - \x04\x04\x06\x02\x01\x12\x03@\x04\x18\n\r\n\x05\x04\x06\x02\x01\x04\x12\ - \x04@\x04?\x20\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03@\x04\t\n\x0c\n\ - \x05\x04\x06\x02\x01\x01\x12\x03@\n\x13\n\x0c\n\x05\x04\x06\x02\x01\x03\ - \x12\x03@\x16\x17\n\x0b\n\x04\x04\x06\x02\x02\x12\x03A\x04\x16\n\r\n\x05\ - \x04\x06\x02\x02\x04\x12\x04A\x04@\x18\n\x0c\n\x05\x04\x06\x02\x02\x06\ - \x12\x03A\x04\n\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03A\x0b\x11\n\x0c\n\ - \x05\x04\x06\x02\x02\x03\x12\x03A\x14\x15\n\n\n\x02\x04\x07\x12\x04D\0J\ - \x01\n\n\n\x03\x04\x07\x01\x12\x03D\x08\x19\n\x0b\n\x04\x04\x07\x02\0\ - \x12\x03E\x043\n\r\n\x05\x04\x07\x02\0\x04\x12\x04E\x04D\x1b\n\x0c\n\x05\ - \x04\x07\x02\0\x06\x12\x03E\x04\x19\n\x0c\n\x05\x04\x07\x02\0\x01\x12\ - \x03E\x1a.\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03E12\n%\n\x04\x04\x07\x02\ - \x01\x12\x03G\x04\x16\x1a\x18\x20SignedTransaction\x20hash\n\n\r\n\x05\ - \x04\x07\x02\x01\x04\x12\x04G\x04E3\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\ - \x03G\x04\t\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03G\n\x11\n\x0c\n\x05\ - \x04\x07\x02\x01\x03\x12\x03G\x14\x15\n\x19\n\x04\x04\x07\x02\x02\x12\ - \x03I\x04\x15\x1a\x0c\x20public\x20key\n\n\r\n\x05\x04\x07\x02\x02\x04\ - \x12\x04I\x04G\x16\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03I\x04\t\n\x0c\ - \n\x05\x04\x07\x02\x02\x01\x12\x03I\n\x10\n\x0c\n\x05\x04\x07\x02\x02\ - \x03\x12\x03I\x13\x14\n!\n\x02\x04\x08\x12\x04N\0P\x012\x15\x20data\x20p\ - recompile\x20API\n\n\n\n\x03\x04\x08\x01\x12\x03N\x08\x11\n\x0b\n\x04\ - \x04\x08\x02\0\x12\x03O\x040\n\x0c\n\x05\x04\x08\x02\0\x04\x12\x03O\x04\ - \x0c\n\x0c\n\x05\x04\x08\x02\0\x06\x12\x03O\r\x1e\n\x0c\n\x05\x04\x08\ - \x02\0\x01\x12\x03O\x1f+\n\x0c\n\x05\x04\x08\x02\0\x03\x12\x03O./\n\n\n\ - \x02\x04\t\x12\x04R\0V\x01\n\n\n\x03\x04\t\x01\x12\x03R\x08\r\n\x0b\n\ - \x04\x04\t\x02\0\x12\x03S\x04\x17\n\r\n\x05\x04\t\x02\0\x04\x12\x04S\x04\ - R\x0f\n\x0c\n\x05\x04\t\x02\0\x05\x12\x03S\x04\n\n\x0c\n\x05\x04\t\x02\0\ - \x01\x12\x03S\x0b\x12\n\x0c\n\x05\x04\t\x02\0\x03\x12\x03S\x15\x16\n\x0b\ - \n\x04\x04\t\x02\x01\x12\x03T\x04\x1b\n\r\n\x05\x04\t\x02\x01\x04\x12\ - \x04T\x04S\x17\n\x0c\n\x05\x04\t\x02\x01\x06\x12\x03T\x04\x0f\n\x0c\n\ - \x05\x04\t\x02\x01\x01\x12\x03T\x10\x16\n\x0c\n\x05\x04\t\x02\x01\x03\ - \x12\x03T\x19\x1a\n\x0b\n\x04\x04\t\x02\x02\x12\x03U\x04\x17\n\r\n\x05\ - \x04\t\x02\x02\x04\x12\x04U\x04T\x1b\n\x0c\n\x05\x04\t\x02\x02\x06\x12\ - \x03U\x04\r\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03U\x0e\x12\n\x0c\n\x05\ - \x04\t\x02\x02\x03\x12\x03U\x15\x16\n\n\n\x02\x04\n\x12\x04X\0[\x01\n\n\ - \n\x03\x04\n\x01\x12\x03X\x08\x16\n\x0b\n\x04\x04\n\x02\0\x12\x03Y\x04\ - \x12\n\r\n\x05\x04\n\x02\0\x04\x12\x04Y\x04X\x18\n\x0c\n\x05\x04\n\x02\0\ - \x06\x12\x03Y\x04\t\n\x0c\n\x05\x04\n\x02\0\x01\x12\x03Y\n\r\n\x0c\n\x05\ - \x04\n\x02\0\x03\x12\x03Y\x10\x11\n\x0b\n\x04\x04\n\x02\x01\x12\x03Z\x04\ - \x14\n\r\n\x05\x04\n\x02\x01\x04\x12\x04Z\x04Y\x12\n\x0c\n\x05\x04\n\x02\ - \x01\x06\x12\x03Z\x04\t\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03Z\n\x0f\n\ - \x0c\n\x05\x04\n\x02\x01\x03\x12\x03Z\x12\x13\n\n\n\x02\x04\x0b\x12\x04]\ - \0`\x01\n\n\n\x03\x04\x0b\x01\x12\x03]\x08\x10\n\x0b\n\x04\x04\x0b\x02\0\ - \x12\x03^\x04\x16\n\r\n\x05\x04\x0b\x02\0\x04\x12\x04^\x04]\x12\n\x0c\n\ - \x05\x04\x0b\x02\0\x05\x12\x03^\x04\n\n\x0c\n\x05\x04\x0b\x02\0\x01\x12\ - \x03^\x0b\x11\n\x0c\n\x05\x04\x0b\x02\0\x03\x12\x03^\x14\x15\n\x0b\n\x04\ - \x04\x0b\x02\x01\x12\x03_\x04\x17\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04_\ - \x04^\x16\n\x0c\n\x05\x04\x0b\x02\x01\x06\x12\x03_\x04\r\n\x0c\n\x05\x04\ - \x0b\x02\x01\x01\x12\x03_\x0e\x12\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\ - \x03_\x15\x16\n\n\n\x02\x04\x0c\x12\x04b\0g\x01\n\n\n\x03\x04\x0c\x01\ - \x12\x03b\x08\x11\nd\n\x04\x04\x0c\x02\0\x12\x03d\x04\"\x1aW\x20black\ - \x20list\x20of\x20address,\x20the\x20account\x20that\x20sent\x20the\x20t\ - ransaction\x20does\x20not\x20have\x20enough\x20gas\n\n\x0c\n\x05\x04\x0c\ - \x02\0\x04\x12\x03d\x04\x0c\n\x0c\n\x05\x04\x0c\x02\0\x05\x12\x03d\r\x12\ - \n\x0c\n\x05\x04\x0c\x02\0\x01\x12\x03d\x13\x1d\n\x0c\n\x05\x04\x0c\x02\ - \0\x03\x12\x03d\x20!\n$\n\x04\x04\x0c\x02\x01\x12\x03f\x04\"\x1a\x17\x20\ - clear\x20list\x20of\x20address\n\n\x0c\n\x05\x04\x0c\x02\x01\x04\x12\x03\ - f\x04\x0c\n\x0c\n\x05\x04\x0c\x02\x01\x05\x12\x03f\r\x12\n\x0c\n\x05\x04\ - \x0c\x02\x01\x01\x12\x03f\x13\x1d\n\x0c\n\x05\x04\x0c\x02\x01\x03\x12\ - \x03f\x20!\n&\n\x02\x04\r\x12\x04j\0l\x01\x1a\x1a\x20State\x20positionin\ - g\x20signal\n\n\n\n\x03\x04\r\x01\x12\x03j\x08\x13\n\x0b\n\x04\x04\r\x02\ - \0\x12\x03k\x04\x16\n\r\n\x05\x04\r\x02\0\x04\x12\x04k\x04j\x15\n\x0c\n\ - \x05\x04\r\x02\0\x05\x12\x03k\x04\n\n\x0c\n\x05\x04\r\x02\0\x01\x12\x03k\ - \x0b\x11\n\x0c\n\x05\x04\r\x02\0\x03\x12\x03k\x14\x15b\x06proto3\ + \n\x0b\n\x04\x04\x04\x02\x01\x12\x03&\x04\x16\n\x0c\n\x05\x04\x04\x02\ + \x01\x05\x12\x03&\x04\n\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03&\x0b\x11\ + \n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03&\x14\x15\n\x0b\n\x04\x04\x04\ + \x02\x02\x12\x03'\x04\x1d\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03'\x04\ + \x0c\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03'\r\x12\n\x0c\n\x05\x04\x04\ + \x02\x02\x01\x12\x03'\x13\x18\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03'\ + \x1b\x1c\n\x0b\n\x04\x04\x04\x02\x03\x12\x03(\x04\x18\n\x0c\n\x05\x04\ + \x04\x02\x03\x05\x12\x03(\x04\n\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03(\ + \x0b\x13\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03(\x16\x17\n\x0b\n\x04\ + \x04\x04\x02\x04\x12\x03)\x04\x17\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\ + \x03)\x04\n\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x03)\x0b\x12\n\x0c\n\x05\ + \x04\x04\x02\x04\x03\x12\x03)\x15\x16\n\x0b\n\x04\x04\x04\x02\x05\x12\ + \x03*\x04\"\n\x0c\n\x05\x04\x04\x02\x05\x04\x12\x03*\x04\x0c\n\x0c\n\x05\ + \x04\x04\x02\x05\x05\x12\x03*\r\x12\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\ + \x03*\x13\x1d\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03*\x20!\n\x0b\n\x04\ + \x04\x04\x02\x06\x12\x03+\x04\x19\n\x0c\n\x05\x04\x04\x02\x06\x05\x12\ + \x03+\x04\n\n\x0c\n\x05\x04\x04\x02\x06\x01\x12\x03+\x0b\x14\n\x0c\n\x05\ + \x04\x04\x02\x06\x03\x12\x03+\x17\x18\n\n\n\x02\x05\x01\x12\x04.\01\x01\ + \n\n\n\x03\x05\x01\x01\x12\x03.\x05\x0b\n\x0b\n\x04\x05\x01\x02\0\x12\ + \x03/\x04\x10\n\x0c\n\x05\x05\x01\x02\0\x01\x12\x03/\x04\x0b\n\x0c\n\x05\ + \x05\x01\x02\0\x02\x12\x03/\x0e\x0f\n\x0b\n\x04\x05\x01\x02\x01\x12\x030\ + \x04\x11\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x030\x04\x0c\n\x0c\n\x05\ + \x05\x01\x02\x01\x02\x12\x030\x0f\x10\n\n\n\x02\x04\x05\x12\x043\0>\x01\ + \n\n\n\x03\x04\x05\x01\x12\x033\x08\x13\n\x0b\n\x04\x04\x05\x02\0\x12\ + \x034\x04\x12\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x034\x04\n\n\x0c\n\x05\ + \x04\x05\x02\0\x01\x12\x034\x0b\r\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x034\ + \x10\x11\n\x0b\n\x04\x04\x05\x02\x01\x12\x035\x04\x15\n\x0c\n\x05\x04\ + \x05\x02\x01\x05\x12\x035\x04\n\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x035\ + \x0b\x10\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x035\x13\x14\n\x0b\n\x04\ + \x04\x05\x02\x02\x12\x036\x04\x15\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\ + \x036\x04\n\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x036\x0b\x10\n\x0c\n\x05\ + \x04\x05\x02\x02\x03\x12\x036\x13\x14\n\x0b\n\x04\x04\x05\x02\x03\x12\ + \x037\x04!\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x037\x04\n\n\x0c\n\x05\ + \x04\x05\x02\x03\x01\x12\x037\x0b\x1c\n\x0c\n\x05\x04\x05\x02\x03\x03\ + \x12\x037\x1f\x20\n\x0b\n\x04\x04\x05\x02\x04\x12\x038\x04\x13\n\x0c\n\ + \x05\x04\x05\x02\x04\x05\x12\x038\x04\t\n\x0c\n\x05\x04\x05\x02\x04\x01\ + \x12\x038\n\x0e\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x038\x11\x12\n\x0b\n\ + \x04\x04\x05\x02\x05\x12\x039\x04\x14\n\x0c\n\x05\x04\x05\x02\x05\x05\ + \x12\x039\x04\t\n\x0c\n\x05\x04\x05\x02\x05\x01\x12\x039\n\x0f\n\x0c\n\ + \x05\x04\x05\x02\x05\x03\x12\x039\x12\x13\n\x0b\n\x04\x04\x05\x02\x06\ + \x12\x03:\x04\x18\n\x0c\n\x05\x04\x05\x02\x06\x05\x12\x03:\x04\n\n\x0c\n\ + \x05\x04\x05\x02\x06\x01\x12\x03:\x0b\x13\n\x0c\n\x05\x04\x05\x02\x06\ + \x03\x12\x03:\x16\x17\n\x0b\n\x04\x04\x05\x02\x07\x12\x03;\x04\x17\n\x0c\ + \n\x05\x04\x05\x02\x07\x05\x12\x03;\x04\n\n\x0c\n\x05\x04\x05\x02\x07\ + \x01\x12\x03;\x0b\x12\n\x0c\n\x05\x04\x05\x02\x07\x03\x12\x03;\x15\x16\n\ + \x0b\n\x04\x04\x05\x02\x08\x12\x03<\x04\x14\n\x0c\n\x05\x04\x05\x02\x08\ + \x05\x12\x03<\x04\t\n\x0c\n\x05\x04\x05\x02\x08\x01\x12\x03<\n\x0f\n\x0c\ + \n\x05\x04\x05\x02\x08\x03\x12\x03<\x12\x13\n\x0b\n\x04\x04\x05\x02\t\ + \x12\x03=\x04\x1b\n\x0c\n\x05\x04\x05\x02\t\x05\x12\x03=\x04\t\n\x0c\n\ + \x05\x04\x05\x02\t\x01\x12\x03=\n\x15\n\x0c\n\x05\x04\x05\x02\t\x03\x12\ + \x03=\x18\x1a\n\n\n\x02\x04\x06\x12\x04@\0D\x01\n\n\n\x03\x04\x06\x01\ + \x12\x03@\x08\x1d\n\x0b\n\x04\x04\x06\x02\0\x12\x03A\x04\x20\n\x0c\n\x05\ + \x04\x06\x02\0\x06\x12\x03A\x04\x0f\n\x0c\n\x05\x04\x06\x02\0\x01\x12\ + \x03A\x10\x1b\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03A\x1e\x1f\n\x0b\n\x04\ + \x04\x06\x02\x01\x12\x03B\x04\x18\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\ + \x03B\x04\t\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03B\n\x13\n\x0c\n\x05\ + \x04\x06\x02\x01\x03\x12\x03B\x16\x17\n\x0b\n\x04\x04\x06\x02\x02\x12\ + \x03C\x04\x16\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03C\x04\n\n\x0c\n\x05\ + \x04\x06\x02\x02\x01\x12\x03C\x0b\x11\n\x0c\n\x05\x04\x06\x02\x02\x03\ + \x12\x03C\x14\x15\n\n\n\x02\x04\x07\x12\x04F\0L\x01\n\n\n\x03\x04\x07\ + \x01\x12\x03F\x08\x19\n\x0b\n\x04\x04\x07\x02\0\x12\x03G\x043\n\x0c\n\ + \x05\x04\x07\x02\0\x06\x12\x03G\x04\x19\n\x0c\n\x05\x04\x07\x02\0\x01\ + \x12\x03G\x1a.\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03G12\n%\n\x04\x04\x07\ + \x02\x01\x12\x03I\x04\x16\x1a\x18\x20SignedTransaction\x20hash\n\n\x0c\n\ + \x05\x04\x07\x02\x01\x05\x12\x03I\x04\t\n\x0c\n\x05\x04\x07\x02\x01\x01\ + \x12\x03I\n\x11\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03I\x14\x15\n\x19\n\ + \x04\x04\x07\x02\x02\x12\x03K\x04\x15\x1a\x0c\x20public\x20key\n\n\x0c\n\ + \x05\x04\x07\x02\x02\x05\x12\x03K\x04\t\n\x0c\n\x05\x04\x07\x02\x02\x01\ + \x12\x03K\n\x10\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03K\x13\x14\n!\n\ + \x02\x04\x08\x12\x04P\0R\x012\x15\x20data\x20precompile\x20API\n\n\n\n\ + \x03\x04\x08\x01\x12\x03P\x08\x11\n\x0b\n\x04\x04\x08\x02\0\x12\x03Q\x04\ + 0\n\x0c\n\x05\x04\x08\x02\0\x04\x12\x03Q\x04\x0c\n\x0c\n\x05\x04\x08\x02\ + \0\x06\x12\x03Q\r\x1e\n\x0c\n\x05\x04\x08\x02\0\x01\x12\x03Q\x1f+\n\x0c\ + \n\x05\x04\x08\x02\0\x03\x12\x03Q./\n\n\n\x02\x04\t\x12\x04T\0V\x01\n\n\ + \n\x03\x04\t\x01\x12\x03T\x08\x18\n\x0b\n\x04\x04\t\x02\0\x12\x03U\x04!\ + \n\x0c\n\x05\x04\t\x02\0\x04\x12\x03U\x04\x0c\n\x0c\n\x05\x04\t\x02\0\ + \x05\x12\x03U\r\x12\n\x0c\n\x05\x04\t\x02\0\x01\x12\x03U\x13\x1c\n\x0c\n\ + \x05\x04\t\x02\0\x03\x12\x03U\x1f\x20\n\n\n\x02\x04\n\x12\x04X\0\\\x01\n\ + \n\n\x03\x04\n\x01\x12\x03X\x08\r\n\x0b\n\x04\x04\n\x02\0\x12\x03Y\x04\ + \x17\n\x0c\n\x05\x04\n\x02\0\x05\x12\x03Y\x04\n\n\x0c\n\x05\x04\n\x02\0\ + \x01\x12\x03Y\x0b\x12\n\x0c\n\x05\x04\n\x02\0\x03\x12\x03Y\x15\x16\n\x0b\ + \n\x04\x04\n\x02\x01\x12\x03Z\x04\x1b\n\x0c\n\x05\x04\n\x02\x01\x06\x12\ + \x03Z\x04\x0f\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03Z\x10\x16\n\x0c\n\x05\ + \x04\n\x02\x01\x03\x12\x03Z\x19\x1a\n\x0b\n\x04\x04\n\x02\x02\x12\x03[\ + \x04\x17\n\x0c\n\x05\x04\n\x02\x02\x06\x12\x03[\x04\r\n\x0c\n\x05\x04\n\ + \x02\x02\x01\x12\x03[\x0e\x12\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03[\x15\ + \x16\n\n\n\x02\x04\x0b\x12\x04^\0b\x01\n\n\n\x03\x04\x0b\x01\x12\x03^\ + \x08\x14\n\x0b\n\x04\x04\x0b\x02\0\x12\x03_\x04\x17\n\x0c\n\x05\x04\x0b\ + \x02\0\x05\x12\x03_\x04\n\n\x0c\n\x05\x04\x0b\x02\0\x01\x12\x03_\x0b\x12\ + \n\x0c\n\x05\x04\x0b\x02\0\x03\x12\x03_\x15\x16\n\x0b\n\x04\x04\x0b\x02\ + \x01\x12\x03`\x04\x1b\n\x0c\n\x05\x04\x0b\x02\x01\x06\x12\x03`\x04\x0f\n\ + \x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03`\x10\x16\n\x0c\n\x05\x04\x0b\x02\ + \x01\x03\x12\x03`\x19\x1a\n\x0b\n\x04\x04\x0b\x02\x02\x12\x03a\x04\x1e\n\ + \x0c\n\x05\x04\x0b\x02\x02\x06\x12\x03a\x04\x14\n\x0c\n\x05\x04\x0b\x02\ + \x02\x01\x12\x03a\x15\x19\n\x0c\n\x05\x04\x0b\x02\x02\x03\x12\x03a\x1c\ + \x1d\n\n\n\x02\x04\x0c\x12\x04d\0g\x01\n\n\n\x03\x04\x0c\x01\x12\x03d\ + \x08\x16\n\x0b\n\x04\x04\x0c\x02\0\x12\x03e\x04\x12\n\x0c\n\x05\x04\x0c\ + \x02\0\x06\x12\x03e\x04\t\n\x0c\n\x05\x04\x0c\x02\0\x01\x12\x03e\n\r\n\ + \x0c\n\x05\x04\x0c\x02\0\x03\x12\x03e\x10\x11\n\x0b\n\x04\x04\x0c\x02\ + \x01\x12\x03f\x04\x14\n\x0c\n\x05\x04\x0c\x02\x01\x06\x12\x03f\x04\t\n\ + \x0c\n\x05\x04\x0c\x02\x01\x01\x12\x03f\n\x0f\n\x0c\n\x05\x04\x0c\x02\ + \x01\x03\x12\x03f\x12\x13\n\n\n\x02\x04\r\x12\x04i\0l\x01\n\n\n\x03\x04\ + \r\x01\x12\x03i\x08\x10\n\x0b\n\x04\x04\r\x02\0\x12\x03j\x04\x16\n\x0c\n\ + \x05\x04\r\x02\0\x05\x12\x03j\x04\n\n\x0c\n\x05\x04\r\x02\0\x01\x12\x03j\ + \x0b\x11\n\x0c\n\x05\x04\r\x02\0\x03\x12\x03j\x14\x15\n\x0b\n\x04\x04\r\ + \x02\x01\x12\x03k\x04\x17\n\x0c\n\x05\x04\r\x02\x01\x06\x12\x03k\x04\r\n\ + \x0c\n\x05\x04\r\x02\x01\x01\x12\x03k\x0e\x12\n\x0c\n\x05\x04\r\x02\x01\ + \x03\x12\x03k\x15\x16\n\n\n\x02\x04\x0e\x12\x04n\0s\x01\n\n\n\x03\x04\ + \x0e\x01\x12\x03n\x08\x11\nd\n\x04\x04\x0e\x02\0\x12\x03p\x04\"\x1aW\x20\ + black\x20list\x20of\x20address,\x20the\x20account\x20that\x20sent\x20the\ + \x20transaction\x20does\x20not\x20have\x20enough\x20gas\n\n\x0c\n\x05\ + \x04\x0e\x02\0\x04\x12\x03p\x04\x0c\n\x0c\n\x05\x04\x0e\x02\0\x05\x12\ + \x03p\r\x12\n\x0c\n\x05\x04\x0e\x02\0\x01\x12\x03p\x13\x1d\n\x0c\n\x05\ + \x04\x0e\x02\0\x03\x12\x03p\x20!\n$\n\x04\x04\x0e\x02\x01\x12\x03r\x04\"\ + \x1a\x17\x20clear\x20list\x20of\x20address\n\n\x0c\n\x05\x04\x0e\x02\x01\ + \x04\x12\x03r\x04\x0c\n\x0c\n\x05\x04\x0e\x02\x01\x05\x12\x03r\r\x12\n\ + \x0c\n\x05\x04\x0e\x02\x01\x01\x12\x03r\x13\x1d\n\x0c\n\x05\x04\x0e\x02\ + \x01\x03\x12\x03r\x20!\n&\n\x02\x04\x0f\x12\x04v\0x\x01\x1a\x1a\x20State\ + \x20positioning\x20signal\n\n\n\n\x03\x04\x0f\x01\x12\x03v\x08\x13\n\x0b\ + \n\x04\x04\x0f\x02\0\x12\x03w\x04\x16\n\x0c\n\x05\x04\x0f\x02\0\x05\x12\ + \x03w\x04\n\n\x0c\n\x05\x04\x0f\x02\0\x01\x12\x03w\x0b\x11\n\x0c\n\x05\ + \x04\x0f\x02\0\x03\x12\x03w\x14\x15b\x06proto3\ "; static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {