#![allow(unknown_lints)]
#![allow(clippy::all)]
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unsafe_code)]
#![allow(unused_imports)]
#![allow(unused_results)]
use protobuf::Message as Message_imported_for_functions;
use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_8_1;
#[derive(PartialEq,Clone,Default)]
pub struct PublicEntry {
pub base: ::protobuf::SingularPtrField<BaseEntry>,
pub amount: ::std::vec::Vec<u8>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a PublicEntry {
fn default() -> &'a PublicEntry {
<PublicEntry as ::protobuf::Message>::default_instance()
}
}
impl PublicEntry {
pub fn new() -> PublicEntry {
::std::default::Default::default()
}
pub fn get_base(&self) -> &BaseEntry {
self.base.as_ref().unwrap_or_else(|| BaseEntry::default_instance())
}
pub fn clear_base(&mut self) {
self.base.clear();
}
pub fn has_base(&self) -> bool {
self.base.is_some()
}
pub fn set_base(&mut self, v: BaseEntry) {
self.base = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_base(&mut self) -> &mut BaseEntry {
if self.base.is_none() {
self.base.set_default();
}
self.base.as_mut().unwrap()
}
pub fn take_base(&mut self) -> BaseEntry {
self.base.take().unwrap_or_else(|| BaseEntry::new())
}
pub fn get_amount(&self) -> &[u8] {
&self.amount
}
pub fn clear_amount(&mut self) {
self.amount.clear();
}
pub fn set_amount(&mut self, v: ::std::vec::Vec<u8>) {
self.amount = v;
}
pub fn mut_amount(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.amount
}
pub fn take_amount(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.amount, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for PublicEntry {
fn is_initialized(&self) -> bool {
for v in &self.base {
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_singular_message_into(wire_type, is, &mut self.base)?;
},
2 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.amount)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.base.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.amount.is_empty() {
my_size += ::protobuf::rt::bytes_size(2, &self.amount);
}
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 let Some(ref v) = self.base.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.amount.is_empty() {
os.write_bytes(2, &self.amount)?;
}
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<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> PublicEntry {
PublicEntry::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<BaseEntry>>(
"base",
|m: &PublicEntry| { &m.base },
|m: &mut PublicEntry| { &mut m.base },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"amount",
|m: &PublicEntry| { &m.amount },
|m: &mut PublicEntry| { &mut m.amount },
));
::protobuf::reflect::MessageDescriptor::new::<PublicEntry>(
"PublicEntry",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static PublicEntry {
static mut instance: ::protobuf::lazy::Lazy<PublicEntry> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const PublicEntry,
};
unsafe {
instance.get(PublicEntry::new)
}
}
}
impl ::protobuf::Clear for PublicEntry {
fn clear(&mut self) {
self.base.clear();
self.amount.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for PublicEntry {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for PublicEntry {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ConfidentialEntry {
pub base: ::protobuf::SingularPtrField<BaseEntry>,
pub pedersen_commitment: ::std::vec::Vec<u8>,
pub range_proof: ::std::vec::Vec<u8>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ConfidentialEntry {
fn default() -> &'a ConfidentialEntry {
<ConfidentialEntry as ::protobuf::Message>::default_instance()
}
}
impl ConfidentialEntry {
pub fn new() -> ConfidentialEntry {
::std::default::Default::default()
}
pub fn get_base(&self) -> &BaseEntry {
self.base.as_ref().unwrap_or_else(|| BaseEntry::default_instance())
}
pub fn clear_base(&mut self) {
self.base.clear();
}
pub fn has_base(&self) -> bool {
self.base.is_some()
}
pub fn set_base(&mut self, v: BaseEntry) {
self.base = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_base(&mut self) -> &mut BaseEntry {
if self.base.is_none() {
self.base.set_default();
}
self.base.as_mut().unwrap()
}
pub fn take_base(&mut self) -> BaseEntry {
self.base.take().unwrap_or_else(|| BaseEntry::new())
}
pub fn get_pedersen_commitment(&self) -> &[u8] {
&self.pedersen_commitment
}
pub fn clear_pedersen_commitment(&mut self) {
self.pedersen_commitment.clear();
}
pub fn set_pedersen_commitment(&mut self, v: ::std::vec::Vec<u8>) {
self.pedersen_commitment = v;
}
pub fn mut_pedersen_commitment(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.pedersen_commitment
}
pub fn take_pedersen_commitment(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.pedersen_commitment, ::std::vec::Vec::new())
}
pub fn get_range_proof(&self) -> &[u8] {
&self.range_proof
}
pub fn clear_range_proof(&mut self) {
self.range_proof.clear();
}
pub fn set_range_proof(&mut self, v: ::std::vec::Vec<u8>) {
self.range_proof = v;
}
pub fn mut_range_proof(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.range_proof
}
pub fn take_range_proof(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.range_proof, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for ConfidentialEntry {
fn is_initialized(&self) -> bool {
for v in &self.base {
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_singular_message_into(wire_type, is, &mut self.base)?;
},
2 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.pedersen_commitment)?;
},
3 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.range_proof)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.base.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.pedersen_commitment.is_empty() {
my_size += ::protobuf::rt::bytes_size(2, &self.pedersen_commitment);
}
if !self.range_proof.is_empty() {
my_size += ::protobuf::rt::bytes_size(3, &self.range_proof);
}
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 let Some(ref v) = self.base.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.pedersen_commitment.is_empty() {
os.write_bytes(2, &self.pedersen_commitment)?;
}
if !self.range_proof.is_empty() {
os.write_bytes(3, &self.range_proof)?;
}
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<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> ConfidentialEntry {
ConfidentialEntry::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<BaseEntry>>(
"base",
|m: &ConfidentialEntry| { &m.base },
|m: &mut ConfidentialEntry| { &mut m.base },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"pedersen_commitment",
|m: &ConfidentialEntry| { &m.pedersen_commitment },
|m: &mut ConfidentialEntry| { &mut m.pedersen_commitment },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"range_proof",
|m: &ConfidentialEntry| { &m.range_proof },
|m: &mut ConfidentialEntry| { &mut m.range_proof },
));
::protobuf::reflect::MessageDescriptor::new::<ConfidentialEntry>(
"ConfidentialEntry",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static ConfidentialEntry {
static mut instance: ::protobuf::lazy::Lazy<ConfidentialEntry> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ConfidentialEntry,
};
unsafe {
instance.get(ConfidentialEntry::new)
}
}
}
impl ::protobuf::Clear for ConfidentialEntry {
fn clear(&mut self) {
self.base.clear();
self.pedersen_commitment.clear();
self.range_proof.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ConfidentialEntry {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ConfidentialEntry {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ContractEntry {
pub base: ::protobuf::SingularPtrField<BaseEntry>,
pub amount: ::std::vec::Vec<u8>,
pub data: ::std::vec::Vec<u8>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ContractEntry {
fn default() -> &'a ContractEntry {
<ContractEntry as ::protobuf::Message>::default_instance()
}
}
impl ContractEntry {
pub fn new() -> ContractEntry {
::std::default::Default::default()
}
pub fn get_base(&self) -> &BaseEntry {
self.base.as_ref().unwrap_or_else(|| BaseEntry::default_instance())
}
pub fn clear_base(&mut self) {
self.base.clear();
}
pub fn has_base(&self) -> bool {
self.base.is_some()
}
pub fn set_base(&mut self, v: BaseEntry) {
self.base = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_base(&mut self) -> &mut BaseEntry {
if self.base.is_none() {
self.base.set_default();
}
self.base.as_mut().unwrap()
}
pub fn take_base(&mut self) -> BaseEntry {
self.base.take().unwrap_or_else(|| BaseEntry::new())
}
pub fn get_amount(&self) -> &[u8] {
&self.amount
}
pub fn clear_amount(&mut self) {
self.amount.clear();
}
pub fn set_amount(&mut self, v: ::std::vec::Vec<u8>) {
self.amount = v;
}
pub fn mut_amount(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.amount
}
pub fn take_amount(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.amount, ::std::vec::Vec::new())
}
pub fn get_data(&self) -> &[u8] {
&self.data
}
pub fn clear_data(&mut self) {
self.data.clear();
}
pub fn set_data(&mut self, v: ::std::vec::Vec<u8>) {
self.data = v;
}
pub fn mut_data(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.data
}
pub fn take_data(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.data, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for ContractEntry {
fn is_initialized(&self) -> bool {
for v in &self.base {
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_singular_message_into(wire_type, is, &mut self.base)?;
},
2 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.amount)?;
},
3 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.data)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.base.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.amount.is_empty() {
my_size += ::protobuf::rt::bytes_size(2, &self.amount);
}
if !self.data.is_empty() {
my_size += ::protobuf::rt::bytes_size(3, &self.data);
}
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 let Some(ref v) = self.base.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.amount.is_empty() {
os.write_bytes(2, &self.amount)?;
}
if !self.data.is_empty() {
os.write_bytes(3, &self.data)?;
}
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<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> ContractEntry {
ContractEntry::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<BaseEntry>>(
"base",
|m: &ContractEntry| { &m.base },
|m: &mut ContractEntry| { &mut m.base },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"amount",
|m: &ContractEntry| { &m.amount },
|m: &mut ContractEntry| { &mut m.amount },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"data",
|m: &ContractEntry| { &m.data },
|m: &mut ContractEntry| { &mut m.data },
));
::protobuf::reflect::MessageDescriptor::new::<ContractEntry>(
"ContractEntry",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static ContractEntry {
static mut instance: ::protobuf::lazy::Lazy<ContractEntry> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ContractEntry,
};
unsafe {
instance.get(ContractEntry::new)
}
}
}
impl ::protobuf::Clear for ContractEntry {
fn clear(&mut self) {
self.base.clear();
self.amount.clear();
self.data.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ContractEntry {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ContractEntry {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct BaseEntry {
pub nonce: u64,
pub receiver_public_key: ::std::vec::Vec<u8>,
pub sender_public_key: ::std::vec::Vec<u8>,
pub transaction_fees: ::std::vec::Vec<u8>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a BaseEntry {
fn default() -> &'a BaseEntry {
<BaseEntry as ::protobuf::Message>::default_instance()
}
}
impl BaseEntry {
pub fn new() -> BaseEntry {
::std::default::Default::default()
}
pub fn get_nonce(&self) -> u64 {
self.nonce
}
pub fn clear_nonce(&mut self) {
self.nonce = 0;
}
pub fn set_nonce(&mut self, v: u64) {
self.nonce = v;
}
pub fn get_receiver_public_key(&self) -> &[u8] {
&self.receiver_public_key
}
pub fn clear_receiver_public_key(&mut self) {
self.receiver_public_key.clear();
}
pub fn set_receiver_public_key(&mut self, v: ::std::vec::Vec<u8>) {
self.receiver_public_key = v;
}
pub fn mut_receiver_public_key(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.receiver_public_key
}
pub fn take_receiver_public_key(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.receiver_public_key, ::std::vec::Vec::new())
}
pub fn get_sender_public_key(&self) -> &[u8] {
&self.sender_public_key
}
pub fn clear_sender_public_key(&mut self) {
self.sender_public_key.clear();
}
pub fn set_sender_public_key(&mut self, v: ::std::vec::Vec<u8>) {
self.sender_public_key = v;
}
pub fn mut_sender_public_key(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.sender_public_key
}
pub fn take_sender_public_key(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.sender_public_key, ::std::vec::Vec::new())
}
pub fn get_transaction_fees(&self) -> &[u8] {
&self.transaction_fees
}
pub fn clear_transaction_fees(&mut self) {
self.transaction_fees.clear();
}
pub fn set_transaction_fees(&mut self, v: ::std::vec::Vec<u8>) {
self.transaction_fees = v;
}
pub fn mut_transaction_fees(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.transaction_fees
}
pub fn take_transaction_fees(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.transaction_fees, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for BaseEntry {
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 => {
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.nonce = tmp;
},
2 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.receiver_public_key)?;
},
3 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.sender_public_key)?;
},
4 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.transaction_fees)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if self.nonce != 0 {
my_size += ::protobuf::rt::value_size(1, self.nonce, ::protobuf::wire_format::WireTypeVarint);
}
if !self.receiver_public_key.is_empty() {
my_size += ::protobuf::rt::bytes_size(2, &self.receiver_public_key);
}
if !self.sender_public_key.is_empty() {
my_size += ::protobuf::rt::bytes_size(3, &self.sender_public_key);
}
if !self.transaction_fees.is_empty() {
my_size += ::protobuf::rt::bytes_size(4, &self.transaction_fees);
}
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.nonce != 0 {
os.write_uint64(1, self.nonce)?;
}
if !self.receiver_public_key.is_empty() {
os.write_bytes(2, &self.receiver_public_key)?;
}
if !self.sender_public_key.is_empty() {
os.write_bytes(3, &self.sender_public_key)?;
}
if !self.transaction_fees.is_empty() {
os.write_bytes(4, &self.transaction_fees)?;
}
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<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> BaseEntry {
BaseEntry::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_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
"nonce",
|m: &BaseEntry| { &m.nonce },
|m: &mut BaseEntry| { &mut m.nonce },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"receiver_public_key",
|m: &BaseEntry| { &m.receiver_public_key },
|m: &mut BaseEntry| { &mut m.receiver_public_key },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"sender_public_key",
|m: &BaseEntry| { &m.sender_public_key },
|m: &mut BaseEntry| { &mut m.sender_public_key },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"transaction_fees",
|m: &BaseEntry| { &m.transaction_fees },
|m: &mut BaseEntry| { &mut m.transaction_fees },
));
::protobuf::reflect::MessageDescriptor::new::<BaseEntry>(
"BaseEntry",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static BaseEntry {
static mut instance: ::protobuf::lazy::Lazy<BaseEntry> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const BaseEntry,
};
unsafe {
instance.get(BaseEntry::new)
}
}
}
impl ::protobuf::Clear for BaseEntry {
fn clear(&mut self) {
self.nonce = 0;
self.receiver_public_key.clear();
self.sender_public_key.clear();
self.transaction_fees.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for BaseEntry {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for BaseEntry {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CoinbaseEntry {
pub receiver_public_key: ::std::vec::Vec<u8>,
pub amount: ::std::vec::Vec<u8>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CoinbaseEntry {
fn default() -> &'a CoinbaseEntry {
<CoinbaseEntry as ::protobuf::Message>::default_instance()
}
}
impl CoinbaseEntry {
pub fn new() -> CoinbaseEntry {
::std::default::Default::default()
}
pub fn get_receiver_public_key(&self) -> &[u8] {
&self.receiver_public_key
}
pub fn clear_receiver_public_key(&mut self) {
self.receiver_public_key.clear();
}
pub fn set_receiver_public_key(&mut self, v: ::std::vec::Vec<u8>) {
self.receiver_public_key = v;
}
pub fn mut_receiver_public_key(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.receiver_public_key
}
pub fn take_receiver_public_key(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.receiver_public_key, ::std::vec::Vec::new())
}
pub fn get_amount(&self) -> &[u8] {
&self.amount
}
pub fn clear_amount(&mut self) {
self.amount.clear();
}
pub fn set_amount(&mut self, v: ::std::vec::Vec<u8>) {
self.amount = v;
}
pub fn mut_amount(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.amount
}
pub fn take_amount(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.amount, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for CoinbaseEntry {
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_singular_proto3_bytes_into(wire_type, is, &mut self.receiver_public_key)?;
},
2 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.amount)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if !self.receiver_public_key.is_empty() {
my_size += ::protobuf::rt::bytes_size(1, &self.receiver_public_key);
}
if !self.amount.is_empty() {
my_size += ::protobuf::rt::bytes_size(2, &self.amount);
}
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.receiver_public_key.is_empty() {
os.write_bytes(1, &self.receiver_public_key)?;
}
if !self.amount.is_empty() {
os.write_bytes(2, &self.amount)?;
}
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<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CoinbaseEntry {
CoinbaseEntry::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_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"receiver_public_key",
|m: &CoinbaseEntry| { &m.receiver_public_key },
|m: &mut CoinbaseEntry| { &mut m.receiver_public_key },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"amount",
|m: &CoinbaseEntry| { &m.amount },
|m: &mut CoinbaseEntry| { &mut m.amount },
));
::protobuf::reflect::MessageDescriptor::new::<CoinbaseEntry>(
"CoinbaseEntry",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static CoinbaseEntry {
static mut instance: ::protobuf::lazy::Lazy<CoinbaseEntry> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const CoinbaseEntry,
};
unsafe {
instance.get(CoinbaseEntry::new)
}
}
}
impl ::protobuf::Clear for CoinbaseEntry {
fn clear(&mut self) {
self.receiver_public_key.clear();
self.amount.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CoinbaseEntry {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CoinbaseEntry {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum TransactionType {
TRANSACTION_TYPE_UNKNOWN = 0,
PUBLIC = 1,
CONFIDENTIAL = 2,
}
impl ::protobuf::ProtobufEnum for TransactionType {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<TransactionType> {
match value {
0 => ::std::option::Option::Some(TransactionType::TRANSACTION_TYPE_UNKNOWN),
1 => ::std::option::Option::Some(TransactionType::PUBLIC),
2 => ::std::option::Option::Some(TransactionType::CONFIDENTIAL),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [TransactionType] = &[
TransactionType::TRANSACTION_TYPE_UNKNOWN,
TransactionType::PUBLIC,
TransactionType::CONFIDENTIAL,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
};
unsafe {
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new("TransactionType", file_descriptor_proto())
})
}
}
}
impl ::std::marker::Copy for TransactionType {
}
impl ::std::default::Default for TransactionType {
fn default() -> Self {
TransactionType::TRANSACTION_TYPE_UNKNOWN
}
}
impl ::protobuf::reflect::ProtobufValue for TransactionType {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x11Transaction.proto\x12\x1dCatalyst.Protocol.Transaction\x1a\x12Cryp\
tography.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"c\n\x0bPublicEntr\
y\x12<\n\x04base\x18\x01\x20\x01(\x0b2(.Catalyst.Protocol.Transaction.Ba\
seEntryR\x04base\x12\x16\n\x06amount\x18\x02\x20\x01(\x0cR\x06amount\"\
\xa3\x01\n\x11ConfidentialEntry\x12<\n\x04base\x18\x01\x20\x01(\x0b2(.Ca\
talyst.Protocol.Transaction.BaseEntryR\x04base\x12/\n\x13pedersen_commit\
ment\x18\x02\x20\x01(\x0cR\x12pedersenCommitment\x12\x1f\n\x0brange_proo\
f\x18\x03\x20\x01(\x0cR\nrangeProof\"y\n\rContractEntry\x12<\n\x04base\
\x18\x01\x20\x01(\x0b2(.Catalyst.Protocol.Transaction.BaseEntryR\x04base\
\x12\x16\n\x06amount\x18\x02\x20\x01(\x0cR\x06amount\x12\x12\n\x04data\
\x18\x03\x20\x01(\x0cR\x04data\"\xa8\x01\n\tBaseEntry\x12\x14\n\x05nonce\
\x18\x01\x20\x01(\x04R\x05nonce\x12.\n\x13receiver_public_key\x18\x02\
\x20\x01(\x0cR\x11receiverPublicKey\x12*\n\x11sender_public_key\x18\x03\
\x20\x01(\x0cR\x0fsenderPublicKey\x12)\n\x10transaction_fees\x18\x04\x20\
\x01(\x0cR\x0ftransactionFees\"W\n\rCoinbaseEntry\x12.\n\x13receiver_pub\
lic_key\x18\x01\x20\x01(\x0cR\x11receiverPublicKey\x12\x16\n\x06amount\
\x18\x02\x20\x01(\x0cR\x06amount*M\n\x0fTransactionType\x12\x1c\n\x18TRA\
NSACTION_TYPE_UNKNOWN\x10\0\x12\n\n\x06PUBLIC\x10\x01\x12\x10\n\x0cCONFI\
DENTIAL\x10\x02B\x02P\x01J\xcc\x14\n\x06\x12\x04\x13\0A\x01\n\xdf\x06\n\
\x01\x0c\x12\x03\x13\0\x122\xd4\x06*\n\x20Copyright\x20(c)\x202019\x20Ca\
talyst\x20Network\n\n\x20This\x20file\x20is\x20part\x20of\x20Catalyst.Ne\
twork.Protocol.Protobuffs\x20<https://github.com/catalyst-network/protoc\
ol-protobuffs>\n\n\x20Catalyst.Network.Protocol.Protobuffs\x20is\x20free\
\x20software:\x20you\x20can\x20redistribute\x20it\x20and/or\x20modify\n\
\x20it\x20under\x20the\x20terms\x20of\x20the\x20GNU\x20General\x20Public\
\x20License\x20as\x20published\x20by\n\x20the\x20Free\x20Software\x20Fou\
ndation,\x20either\x20version\x202\x20of\x20the\x20License,\x20or\n\x20(\
at\x20your\x20option)\x20any\x20later\x20version.\n\x20\n\x20Catalyst.Ne\
twork.Protocol.Protobuffs\x20is\x20distributed\x20in\x20the\x20hope\x20t\
hat\x20it\x20will\x20be\x20useful,\n\x20but\x20WITHOUT\x20ANY\x20WARRANT\
Y;\x20without\x20even\x20the\x20implied\x20warranty\x20of\n\x20MERCHANTA\
BILITY\x20or\x20FITNESS\x20FOR\x20A\x20PARTICULAR\x20PURPOSE.\x20See\x20\
the\n\x20GNU\x20General\x20Public\x20License\x20for\x20more\x20details.\
\n\x20\n\x20You\x20should\x20have\x20received\x20a\x20copy\x20of\x20the\
\x20GNU\x20General\x20Public\x20License\n\x20along\x20with\x20Catalyst.N\
etwork.Protocol.Protobuffs\x20If\x20not,\x20see\x20<https://www.gnu.org/\
licenses/>.\n\n\x08\n\x01\x08\x12\x03\x15\0\"\n\t\n\x02\x08\n\x12\x03\
\x15\0\"\n\t\n\x02\x03\0\x12\x03\x17\0\x1c\n\t\n\x02\x03\x01\x12\x03\x18\
\0)\n\x08\n\x01\x02\x12\x03\x1a\0&\n\n\n\x02\x05\0\x12\x04\x1c\0\x20\x01\
\n\n\n\x03\x05\0\x01\x12\x03\x1c\x05\x14\n'\n\x04\x05\0\x02\0\x12\x03\
\x1d\x08%\"\x1aUnknown\x20transaction\x20type.\n\n\x0c\n\x05\x05\0\x02\0\
\x01\x12\x03\x1d\x08\x20\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03\x1d#$\n'\n\
\x04\x05\0\x02\x01\x12\x03\x1e\x08\x13\"\x1a\x20Public\x20transaction\
\x20type.\n\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x1e\x08\x0e\n\x0c\n\
\x05\x05\0\x02\x01\x02\x12\x03\x1e\x11\x12\n(\n\x04\x05\0\x02\x02\x12\
\x03\x1f\x08\x19\"\x1b\x20Private\x20transaction\x20type.\n\n\x0c\n\x05\
\x05\0\x02\x02\x01\x12\x03\x1f\x08\x14\n\x0c\n\x05\x05\0\x02\x02\x02\x12\
\x03\x1f\x17\x18\n\n\n\x02\x04\0\x12\x04\"\0%\x01\n\n\n\x03\x04\0\x01\
\x12\x03\"\x08\x13\n\x0b\n\x04\x04\0\x02\0\x12\x03#\x04\x17\n\x0c\n\x05\
\x04\0\x02\0\x06\x12\x03#\x04\r\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03#\x0e\
\x12\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03#\x15\x16\n\x1d\n\x04\x04\0\x02\
\x01\x12\x03$\x04\x15\"\x10\x20uint256\x20amount\n\n\x0c\n\x05\x04\0\x02\
\x01\x05\x12\x03$\x04\t\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03$\n\x10\n\
\x0c\n\x05\x04\0\x02\x01\x03\x12\x03$\x13\x14\n\n\n\x02\x04\x01\x12\x04'\
\0/\x01\n\n\n\x03\x04\x01\x01\x12\x03'\x08\x19\n\x0b\n\x04\x04\x01\x02\0\
\x12\x03(\x04\x17\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03(\x04\r\n\x0c\n\
\x05\x04\x01\x02\0\x01\x12\x03(\x0e\x12\n\x0c\n\x05\x04\x01\x02\0\x03\
\x12\x03(\x15\x16\n\x17\n\x04\x04\x01\x02\x01\x12\x03)\x04\"\"\n\x2032\
\x20bytes\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03)\x04\t\n\x0c\n\x05\
\x04\x01\x02\x01\x01\x12\x03)\n\x1d\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\
\x03)\x20!\n\xf8\x01\n\x04\x04\x01\x02\x02\x12\x03.\x04\x1a\x1a\xea\x01*\
\n\x20BulletProof-based\x20range\x20proof.\x20See\x20https://eprint.iacr\
.org/2017/1066.pdf\x20for\x20references\x20to\x20equations\x20below.\n\
\x20Total\x20byte\x20size\x20is\x20(9+2k)*32,\x20where\x20k\x20=\x20log_\
2(n*m),\x20m\x20is\x20number\x20of\x20aggregates\x20in\x20proof,\x20(2^n\
)-1\x20is\x20upper\x20range\x20of\x20values.\n\n\x0c\n\x05\x04\x01\x02\
\x02\x05\x12\x03.\x04\t\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03.\n\x15\n\
\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03.\x18\x19\n\n\n\x02\x04\x02\x12\
\x041\05\x01\n\n\n\x03\x04\x02\x01\x12\x031\x08\x15\n\x0b\n\x04\x04\x02\
\x02\0\x12\x032\x04\x17\n\x0c\n\x05\x04\x02\x02\0\x06\x12\x032\x04\r\n\
\x0c\n\x05\x04\x02\x02\0\x01\x12\x032\x0e\x12\n\x0c\n\x05\x04\x02\x02\0\
\x03\x12\x032\x15\x16\n\x1c\n\x04\x04\x02\x02\x01\x12\x033\x04\x15\"\x0f\
\x208\x20byte\x20amount\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x033\x04\t\
\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x033\n\x10\n\x0c\n\x05\x04\x02\x02\
\x01\x03\x12\x033\x13\x14\n#\n\x04\x04\x02\x02\x02\x12\x034\x04\x13\"\
\x16\x20Smart\x20contract\x20data.\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\
\x034\x04\t\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x034\n\x0e\n\x0c\n\x05\
\x04\x02\x02\x02\x03\x12\x034\x11\x12\n\n\n\x02\x04\x03\x12\x047\0<\x01\
\n\n\n\x03\x04\x03\x01\x12\x037\x08\x11\ns\n\x04\x04\x03\x02\0\x12\x038\
\x04\x15\"f\x20A\x20nonce,\x20similar\x20to\x20Ethereum,\x20incremented\
\x20on\x20each\x20transaction\x20on\x20the\x20account\x20issuing\x20the\
\x20transaction\n\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x038\x04\n\n\x0c\n\
\x05\x04\x03\x02\0\x01\x12\x038\x0b\x10\n\x0c\n\x05\x04\x03\x02\0\x03\
\x12\x038\x13\x14\n%\n\x04\x04\x03\x02\x01\x12\x039\x08&\"\x18\x20Public\
Key\x20of\x20receiver.\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x039\x08\r\
\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x039\x0e!\n\x0c\n\x05\x04\x03\x02\
\x01\x03\x12\x039$%\n#\n\x04\x04\x03\x02\x02\x12\x03:\x08$\"\x16\x20Publ\
icKey\x20of\x20sender.\n\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03:\x08\r\
\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03:\x0e\x1f\n\x0c\n\x05\x04\x03\
\x02\x02\x03\x12\x03:\"#\n0\n\x04\x04\x03\x02\x03\x12\x03;\x04\x1f\"#\
\x208\x20bytes,\x20clear\x20text,\x20fees\x20*\x2010^12\n\n\x0c\n\x05\
\x04\x03\x02\x03\x05\x12\x03;\x04\t\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\
\x03;\n\x1a\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03;\x1d\x1e\n\n\n\x02\
\x04\x04\x12\x04>\0A\x01\n\n\n\x03\x04\x04\x01\x12\x03>\x08\x15\nP\n\x04\
\x04\x04\x02\0\x12\x03?\x04\"\"C\x20public\x20key\x20behind\x20the\x20ad\
dress\x20where\x20the\x20Coinbase\x20will\x20be\x20credited\n\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\x1d\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03?\x20!\n\x1d\n\x04\x04\
\x04\x02\x01\x12\x03@\x04\x15\"\x10\x20uint256\x20amount\n\n\x0c\n\x05\
\x04\x04\x02\x01\x05\x12\x03@\x04\t\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\
\x03@\n\x10\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03@\x13\x14b\x06proto3\
";
static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
};
fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
}
pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
unsafe {
file_descriptor_proto_lazy.get(|| {
parse_descriptor_proto()
})
}
}