/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: blockchain.proto */

/* Do not generate deprecated warnings for self */
#ifndef PROTOBUF_C__NO_DEPRECATED
#define PROTOBUF_C__NO_DEPRECATED
#endif

#include "blockchain.pb-c.h"
void   proof__init
                     (Proof         *message)
{
  static const Proof init_value = PROOF__INIT;
  *message = init_value;
}
size_t proof__get_packed_size
                     (const Proof *message)
{
  assert(message->base.descriptor == &proof__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t proof__pack
                     (const Proof *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &proof__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t proof__pack_to_buffer
                     (const Proof *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &proof__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Proof *
       proof__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Proof *)
     protobuf_c_message_unpack (&proof__descriptor,
                                allocator, len, data);
}
void   proof__free_unpacked
                     (Proof *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &proof__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   block_header__init
                     (BlockHeader         *message)
{
  static const BlockHeader init_value = BLOCK_HEADER__INIT;
  *message = init_value;
}
size_t block_header__get_packed_size
                     (const BlockHeader *message)
{
  assert(message->base.descriptor == &block_header__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t block_header__pack
                     (const BlockHeader *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &block_header__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t block_header__pack_to_buffer
                     (const BlockHeader *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &block_header__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
BlockHeader *
       block_header__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (BlockHeader *)
     protobuf_c_message_unpack (&block_header__descriptor,
                                allocator, len, data);
}
void   block_header__free_unpacked
                     (BlockHeader *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &block_header__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   status__init
                     (Status         *message)
{
  static const Status init_value = STATUS__INIT;
  *message = init_value;
}
size_t status__get_packed_size
                     (const Status *message)
{
  assert(message->base.descriptor == &status__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t status__pack
                     (const Status *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &status__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t status__pack_to_buffer
                     (const Status *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &status__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Status *
       status__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Status *)
     protobuf_c_message_unpack (&status__descriptor,
                                allocator, len, data);
}
void   status__free_unpacked
                     (Status *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &status__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   account_gas_limit__specific_quota_limit_entry__init
                     (AccountGasLimit__SpecificQuotaLimitEntry         *message)
{
  static const AccountGasLimit__SpecificQuotaLimitEntry init_value = ACCOUNT_GAS_LIMIT__SPECIFIC_QUOTA_LIMIT_ENTRY__INIT;
  *message = init_value;
}
void   account_gas_limit__init
                     (AccountGasLimit         *message)
{
  static const AccountGasLimit init_value = ACCOUNT_GAS_LIMIT__INIT;
  *message = init_value;
}
size_t account_gas_limit__get_packed_size
                     (const AccountGasLimit *message)
{
  assert(message->base.descriptor == &account_gas_limit__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t account_gas_limit__pack
                     (const AccountGasLimit *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &account_gas_limit__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t account_gas_limit__pack_to_buffer
                     (const AccountGasLimit *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &account_gas_limit__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
AccountGasLimit *
       account_gas_limit__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (AccountGasLimit *)
     protobuf_c_message_unpack (&account_gas_limit__descriptor,
                                allocator, len, data);
}
void   account_gas_limit__free_unpacked
                     (AccountGasLimit *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &account_gas_limit__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   rich_status__init
                     (RichStatus         *message)
{
  static const RichStatus init_value = RICH_STATUS__INIT;
  *message = init_value;
}
size_t rich_status__get_packed_size
                     (const RichStatus *message)
{
  assert(message->base.descriptor == &rich_status__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t rich_status__pack
                     (const RichStatus *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &rich_status__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t rich_status__pack_to_buffer
                     (const RichStatus *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &rich_status__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
RichStatus *
       rich_status__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (RichStatus *)
     protobuf_c_message_unpack (&rich_status__descriptor,
                                allocator, len, data);
}
void   rich_status__free_unpacked
                     (RichStatus *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &rich_status__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   transaction__init
                     (Transaction         *message)
{
  static const Transaction init_value = TRANSACTION__INIT;
  *message = init_value;
}
size_t transaction__get_packed_size
                     (const Transaction *message)
{
  assert(message->base.descriptor == &transaction__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t transaction__pack
                     (const Transaction *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &transaction__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t transaction__pack_to_buffer
                     (const Transaction *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &transaction__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Transaction *
       transaction__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Transaction *)
     protobuf_c_message_unpack (&transaction__descriptor,
                                allocator, len, data);
}
void   transaction__free_unpacked
                     (Transaction *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &transaction__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   unverified_transaction__init
                     (UnverifiedTransaction         *message)
{
  static const UnverifiedTransaction init_value = UNVERIFIED_TRANSACTION__INIT;
  *message = init_value;
}
size_t unverified_transaction__get_packed_size
                     (const UnverifiedTransaction *message)
{
  assert(message->base.descriptor == &unverified_transaction__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t unverified_transaction__pack
                     (const UnverifiedTransaction *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &unverified_transaction__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t unverified_transaction__pack_to_buffer
                     (const UnverifiedTransaction *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &unverified_transaction__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
UnverifiedTransaction *
       unverified_transaction__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (UnverifiedTransaction *)
     protobuf_c_message_unpack (&unverified_transaction__descriptor,
                                allocator, len, data);
}
void   unverified_transaction__free_unpacked
                     (UnverifiedTransaction *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &unverified_transaction__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   signed_transaction__init
                     (SignedTransaction         *message)
{
  static const SignedTransaction init_value = SIGNED_TRANSACTION__INIT;
  *message = init_value;
}
size_t signed_transaction__get_packed_size
                     (const SignedTransaction *message)
{
  assert(message->base.descriptor == &signed_transaction__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t signed_transaction__pack
                     (const SignedTransaction *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &signed_transaction__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t signed_transaction__pack_to_buffer
                     (const SignedTransaction *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &signed_transaction__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
SignedTransaction *
       signed_transaction__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (SignedTransaction *)
     protobuf_c_message_unpack (&signed_transaction__descriptor,
                                allocator, len, data);
}
void   signed_transaction__free_unpacked
                     (SignedTransaction *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &signed_transaction__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   block_body__init
                     (BlockBody         *message)
{
  static const BlockBody init_value = BLOCK_BODY__INIT;
  *message = init_value;
}
size_t block_body__get_packed_size
                     (const BlockBody *message)
{
  assert(message->base.descriptor == &block_body__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t block_body__pack
                     (const BlockBody *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &block_body__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t block_body__pack_to_buffer
                     (const BlockBody *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &block_body__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
BlockBody *
       block_body__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (BlockBody *)
     protobuf_c_message_unpack (&block_body__descriptor,
                                allocator, len, data);
}
void   block_body__free_unpacked
                     (BlockBody *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &block_body__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   compact_block_body__init
                     (CompactBlockBody         *message)
{
  static const CompactBlockBody init_value = COMPACT_BLOCK_BODY__INIT;
  *message = init_value;
}
size_t compact_block_body__get_packed_size
                     (const CompactBlockBody *message)
{
  assert(message->base.descriptor == &compact_block_body__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t compact_block_body__pack
                     (const CompactBlockBody *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &compact_block_body__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t compact_block_body__pack_to_buffer
                     (const CompactBlockBody *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &compact_block_body__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CompactBlockBody *
       compact_block_body__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CompactBlockBody *)
     protobuf_c_message_unpack (&compact_block_body__descriptor,
                                allocator, len, data);
}
void   compact_block_body__free_unpacked
                     (CompactBlockBody *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &compact_block_body__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   block__init
                     (Block         *message)
{
  static const Block init_value = BLOCK__INIT;
  *message = init_value;
}
size_t block__get_packed_size
                     (const Block *message)
{
  assert(message->base.descriptor == &block__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t block__pack
                     (const Block *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &block__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t block__pack_to_buffer
                     (const Block *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &block__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Block *
       block__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Block *)
     protobuf_c_message_unpack (&block__descriptor,
                                allocator, len, data);
}
void   block__free_unpacked
                     (Block *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &block__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   compact_block__init
                     (CompactBlock         *message)
{
  static const CompactBlock init_value = COMPACT_BLOCK__INIT;
  *message = init_value;
}
size_t compact_block__get_packed_size
                     (const CompactBlock *message)
{
  assert(message->base.descriptor == &compact_block__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t compact_block__pack
                     (const CompactBlock *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &compact_block__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t compact_block__pack_to_buffer
                     (const CompactBlock *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &compact_block__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
CompactBlock *
       compact_block__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (CompactBlock *)
     protobuf_c_message_unpack (&compact_block__descriptor,
                                allocator, len, data);
}
void   compact_block__free_unpacked
                     (CompactBlock *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &compact_block__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   block_with_proof__init
                     (BlockWithProof         *message)
{
  static const BlockWithProof init_value = BLOCK_WITH_PROOF__INIT;
  *message = init_value;
}
size_t block_with_proof__get_packed_size
                     (const BlockWithProof *message)
{
  assert(message->base.descriptor == &block_with_proof__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t block_with_proof__pack
                     (const BlockWithProof *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &block_with_proof__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t block_with_proof__pack_to_buffer
                     (const BlockWithProof *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &block_with_proof__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
BlockWithProof *
       block_with_proof__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (BlockWithProof *)
     protobuf_c_message_unpack (&block_with_proof__descriptor,
                                allocator, len, data);
}
void   block_with_proof__free_unpacked
                     (BlockWithProof *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &block_with_proof__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   block_txs__init
                     (BlockTxs         *message)
{
  static const BlockTxs init_value = BLOCK_TXS__INIT;
  *message = init_value;
}
size_t block_txs__get_packed_size
                     (const BlockTxs *message)
{
  assert(message->base.descriptor == &block_txs__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t block_txs__pack
                     (const BlockTxs *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &block_txs__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t block_txs__pack_to_buffer
                     (const BlockTxs *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &block_txs__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
BlockTxs *
       block_txs__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (BlockTxs *)
     protobuf_c_message_unpack (&block_txs__descriptor,
                                allocator, len, data);
}
void   block_txs__free_unpacked
                     (BlockTxs *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &block_txs__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   black_list__init
                     (BlackList         *message)
{
  static const BlackList init_value = BLACK_LIST__INIT;
  *message = init_value;
}
size_t black_list__get_packed_size
                     (const BlackList *message)
{
  assert(message->base.descriptor == &black_list__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t black_list__pack
                     (const BlackList *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &black_list__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t black_list__pack_to_buffer
                     (const BlackList *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &black_list__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
BlackList *
       black_list__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (BlackList *)
     protobuf_c_message_unpack (&black_list__descriptor,
                                allocator, len, data);
}
void   black_list__free_unpacked
                     (BlackList *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &black_list__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   state_signal__init
                     (StateSignal         *message)
{
  static const StateSignal init_value = STATE_SIGNAL__INIT;
  *message = init_value;
}
size_t state_signal__get_packed_size
                     (const StateSignal *message)
{
  assert(message->base.descriptor == &state_signal__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t state_signal__pack
                     (const StateSignal *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &state_signal__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t state_signal__pack_to_buffer
                     (const StateSignal *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &state_signal__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
StateSignal *
       state_signal__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (StateSignal *)
     protobuf_c_message_unpack (&state_signal__descriptor,
                                allocator, len, data);
}
void   state_signal__free_unpacked
                     (StateSignal *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &state_signal__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor proof__field_descriptors[2] =
{
  {
    "content",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Proof, content),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "type",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Proof, type),
    &proof_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned proof__field_indices_by_name[] = {
  0,   /* field[0] = content */
  1,   /* field[1] = type */
};
static const ProtobufCIntRange proof__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor proof__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Proof",
  "Proof",
  "Proof",
  "",
  sizeof(Proof),
  2,
  proof__field_descriptors,
  proof__field_indices_by_name,
  1,  proof__number_ranges,
  (ProtobufCMessageInit) proof__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor block_header__field_descriptors[10] =
{
  {
    "prevhash",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, prevhash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "timestamp",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, timestamp),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "height",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, height),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "state_root",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, state_root),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "transactions_root",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, transactions_root),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "receipts_root",
    6,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, receipts_root),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "quota_used",
    7,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, quota_used),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "quota_limit",
    8,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, quota_limit),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "proof",
    9,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, proof),
    &proof__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "proposer",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(BlockHeader, proposer),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned block_header__field_indices_by_name[] = {
  2,   /* field[2] = height */
  0,   /* field[0] = prevhash */
  8,   /* field[8] = proof */
  9,   /* field[9] = proposer */
  7,   /* field[7] = quota_limit */
  6,   /* field[6] = quota_used */
  5,   /* field[5] = receipts_root */
  3,   /* field[3] = state_root */
  1,   /* field[1] = timestamp */
  4,   /* field[4] = transactions_root */
};
static const ProtobufCIntRange block_header__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 10 }
};
const ProtobufCMessageDescriptor block_header__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "BlockHeader",
  "BlockHeader",
  "BlockHeader",
  "",
  sizeof(BlockHeader),
  10,
  block_header__field_descriptors,
  block_header__field_indices_by_name,
  1,  block_header__number_ranges,
  (ProtobufCMessageInit) block_header__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor status__field_descriptors[2] =
{
  {
    "hash",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Status, hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "height",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Status, height),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned status__field_indices_by_name[] = {
  0,   /* field[0] = hash */
  1,   /* field[1] = height */
};
static const ProtobufCIntRange status__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor status__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Status",
  "Status",
  "Status",
  "",
  sizeof(Status),
  2,
  status__field_descriptors,
  status__field_indices_by_name,
  1,  status__number_ranges,
  (ProtobufCMessageInit) status__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor account_gas_limit__specific_quota_limit_entry__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(AccountGasLimit__SpecificQuotaLimitEntry, key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(AccountGasLimit__SpecificQuotaLimitEntry, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned account_gas_limit__specific_quota_limit_entry__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = value */
};
static const ProtobufCIntRange account_gas_limit__specific_quota_limit_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor account_gas_limit__specific_quota_limit_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "AccountGasLimit.SpecificQuotaLimitEntry",
  "SpecificQuotaLimitEntry",
  "AccountGasLimit__SpecificQuotaLimitEntry",
  "",
  sizeof(AccountGasLimit__SpecificQuotaLimitEntry),
  2,
  account_gas_limit__specific_quota_limit_entry__field_descriptors,
  account_gas_limit__specific_quota_limit_entry__field_indices_by_name,
  1,  account_gas_limit__specific_quota_limit_entry__number_ranges,
  (ProtobufCMessageInit) account_gas_limit__specific_quota_limit_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor account_gas_limit__field_descriptors[2] =
{
  {
    "common_quota_limit",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(AccountGasLimit, common_quota_limit),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "specific_quota_limit",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(AccountGasLimit, n_specific_quota_limit),
    offsetof(AccountGasLimit, specific_quota_limit),
    &account_gas_limit__specific_quota_limit_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned account_gas_limit__field_indices_by_name[] = {
  0,   /* field[0] = common_quota_limit */
  1,   /* field[1] = specific_quota_limit */
};
static const ProtobufCIntRange account_gas_limit__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor account_gas_limit__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "AccountGasLimit",
  "AccountGasLimit",
  "AccountGasLimit",
  "",
  sizeof(AccountGasLimit),
  2,
  account_gas_limit__field_descriptors,
  account_gas_limit__field_indices_by_name,
  1,  account_gas_limit__number_ranges,
  (ProtobufCMessageInit) account_gas_limit__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor rich_status__field_descriptors[6] =
{
  {
    "hash",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(RichStatus, hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "height",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(RichStatus, height),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "nodes",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(RichStatus, n_nodes),
    offsetof(RichStatus, nodes),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "interval",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(RichStatus, interval),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "version",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(RichStatus, version),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "validators",
    6,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(RichStatus, n_validators),
    offsetof(RichStatus, validators),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned rich_status__field_indices_by_name[] = {
  0,   /* field[0] = hash */
  1,   /* field[1] = height */
  3,   /* field[3] = interval */
  2,   /* field[2] = nodes */
  5,   /* field[5] = validators */
  4,   /* field[4] = version */
};
static const ProtobufCIntRange rich_status__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 6 }
};
const ProtobufCMessageDescriptor rich_status__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "RichStatus",
  "RichStatus",
  "RichStatus",
  "",
  sizeof(RichStatus),
  6,
  rich_status__field_descriptors,
  rich_status__field_indices_by_name,
  1,  rich_status__number_ranges,
  (ProtobufCMessageInit) rich_status__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor transaction__field_descriptors[10] =
{
  {
    "to",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Transaction, to),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "nonce",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Transaction, nonce),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "quota",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Transaction, quota),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "valid_until_block",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Transaction, valid_until_block),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "data",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Transaction, data),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    6,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Transaction, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "chain_id",
    7,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Transaction, chain_id),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "version",
    8,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Transaction, version),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "to_v1",
    9,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Transaction, to_v1),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "chain_id_v1",
    10,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Transaction, chain_id_v1),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned transaction__field_indices_by_name[] = {
  6,   /* field[6] = chain_id */
  9,   /* field[9] = chain_id_v1 */
  4,   /* field[4] = data */
  1,   /* field[1] = nonce */
  2,   /* field[2] = quota */
  0,   /* field[0] = to */
  8,   /* field[8] = to_v1 */
  3,   /* field[3] = valid_until_block */
  5,   /* field[5] = value */
  7,   /* field[7] = version */
};
static const ProtobufCIntRange transaction__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 10 }
};
const ProtobufCMessageDescriptor transaction__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Transaction",
  "Transaction",
  "Transaction",
  "",
  sizeof(Transaction),
  10,
  transaction__field_descriptors,
  transaction__field_indices_by_name,
  1,  transaction__number_ranges,
  (ProtobufCMessageInit) transaction__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor unverified_transaction__field_descriptors[3] =
{
  {
    "transaction",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(UnverifiedTransaction, transaction),
    &transaction__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "signature",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(UnverifiedTransaction, signature),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "crypto",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(UnverifiedTransaction, crypto),
    &crypto__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned unverified_transaction__field_indices_by_name[] = {
  2,   /* field[2] = crypto */
  1,   /* field[1] = signature */
  0,   /* field[0] = transaction */
};
static const ProtobufCIntRange unverified_transaction__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor unverified_transaction__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "UnverifiedTransaction",
  "UnverifiedTransaction",
  "UnverifiedTransaction",
  "",
  sizeof(UnverifiedTransaction),
  3,
  unverified_transaction__field_descriptors,
  unverified_transaction__field_indices_by_name,
  1,  unverified_transaction__number_ranges,
  (ProtobufCMessageInit) unverified_transaction__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor signed_transaction__field_descriptors[3] =
{
  {
    "transaction_with_sig",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(SignedTransaction, transaction_with_sig),
    &unverified_transaction__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tx_hash",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(SignedTransaction, tx_hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "signer",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(SignedTransaction, signer),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned signed_transaction__field_indices_by_name[] = {
  2,   /* field[2] = signer */
  0,   /* field[0] = transaction_with_sig */
  1,   /* field[1] = tx_hash */
};
static const ProtobufCIntRange signed_transaction__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor signed_transaction__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "SignedTransaction",
  "SignedTransaction",
  "SignedTransaction",
  "",
  sizeof(SignedTransaction),
  3,
  signed_transaction__field_descriptors,
  signed_transaction__field_indices_by_name,
  1,  signed_transaction__number_ranges,
  (ProtobufCMessageInit) signed_transaction__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor block_body__field_descriptors[1] =
{
  {
    "transactions",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(BlockBody, n_transactions),
    offsetof(BlockBody, transactions),
    &signed_transaction__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned block_body__field_indices_by_name[] = {
  0,   /* field[0] = transactions */
};
static const ProtobufCIntRange block_body__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor block_body__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "BlockBody",
  "BlockBody",
  "BlockBody",
  "",
  sizeof(BlockBody),
  1,
  block_body__field_descriptors,
  block_body__field_indices_by_name,
  1,  block_body__number_ranges,
  (ProtobufCMessageInit) block_body__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor compact_block_body__field_descriptors[1] =
{
  {
    "tx_hashes",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(CompactBlockBody, n_tx_hashes),
    offsetof(CompactBlockBody, tx_hashes),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned compact_block_body__field_indices_by_name[] = {
  0,   /* field[0] = tx_hashes */
};
static const ProtobufCIntRange compact_block_body__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor compact_block_body__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CompactBlockBody",
  "CompactBlockBody",
  "CompactBlockBody",
  "",
  sizeof(CompactBlockBody),
  1,
  compact_block_body__field_descriptors,
  compact_block_body__field_indices_by_name,
  1,  compact_block_body__number_ranges,
  (ProtobufCMessageInit) compact_block_body__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor block__field_descriptors[3] =
{
  {
    "version",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(Block, version),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "header",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Block, header),
    &block_header__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "body",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Block, body),
    &block_body__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned block__field_indices_by_name[] = {
  2,   /* field[2] = body */
  1,   /* field[1] = header */
  0,   /* field[0] = version */
};
static const ProtobufCIntRange block__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor block__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "Block",
  "Block",
  "Block",
  "",
  sizeof(Block),
  3,
  block__field_descriptors,
  block__field_indices_by_name,
  1,  block__number_ranges,
  (ProtobufCMessageInit) block__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor compact_block__field_descriptors[3] =
{
  {
    "version",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT32,
    0,   /* quantifier_offset */
    offsetof(CompactBlock, version),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "header",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CompactBlock, header),
    &block_header__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "body",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(CompactBlock, body),
    &compact_block_body__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned compact_block__field_indices_by_name[] = {
  2,   /* field[2] = body */
  1,   /* field[1] = header */
  0,   /* field[0] = version */
};
static const ProtobufCIntRange compact_block__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor compact_block__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "CompactBlock",
  "CompactBlock",
  "CompactBlock",
  "",
  sizeof(CompactBlock),
  3,
  compact_block__field_descriptors,
  compact_block__field_indices_by_name,
  1,  compact_block__number_ranges,
  (ProtobufCMessageInit) compact_block__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor block_with_proof__field_descriptors[2] =
{
  {
    "blk",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(BlockWithProof, blk),
    &block__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "proof",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(BlockWithProof, proof),
    &proof__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned block_with_proof__field_indices_by_name[] = {
  0,   /* field[0] = blk */
  1,   /* field[1] = proof */
};
static const ProtobufCIntRange block_with_proof__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor block_with_proof__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "BlockWithProof",
  "BlockWithProof",
  "BlockWithProof",
  "",
  sizeof(BlockWithProof),
  2,
  block_with_proof__field_descriptors,
  block_with_proof__field_indices_by_name,
  1,  block_with_proof__number_ranges,
  (ProtobufCMessageInit) block_with_proof__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor block_txs__field_descriptors[2] =
{
  {
    "height",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(BlockTxs, height),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "body",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(BlockTxs, body),
    &block_body__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned block_txs__field_indices_by_name[] = {
  1,   /* field[1] = body */
  0,   /* field[0] = height */
};
static const ProtobufCIntRange block_txs__number_ranges[2 + 1] =
{
  { 1, 0 },
  { 3, 1 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor block_txs__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "BlockTxs",
  "BlockTxs",
  "BlockTxs",
  "",
  sizeof(BlockTxs),
  2,
  block_txs__field_descriptors,
  block_txs__field_indices_by_name,
  2,  block_txs__number_ranges,
  (ProtobufCMessageInit) block_txs__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor black_list__field_descriptors[2] =
{
  {
    "black_list",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(BlackList, n_black_list),
    offsetof(BlackList, black_list),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "clear_list",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(BlackList, n_clear_list),
    offsetof(BlackList, clear_list),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned black_list__field_indices_by_name[] = {
  0,   /* field[0] = black_list */
  1,   /* field[1] = clear_list */
};
static const ProtobufCIntRange black_list__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor black_list__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "BlackList",
  "BlackList",
  "BlackList",
  "",
  sizeof(BlackList),
  2,
  black_list__field_descriptors,
  black_list__field_indices_by_name,
  1,  black_list__number_ranges,
  (ProtobufCMessageInit) black_list__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor state_signal__field_descriptors[1] =
{
  {
    "height",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(StateSignal, height),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned state_signal__field_indices_by_name[] = {
  0,   /* field[0] = height */
};
static const ProtobufCIntRange state_signal__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 1 }
};
const ProtobufCMessageDescriptor state_signal__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "StateSignal",
  "StateSignal",
  "StateSignal",
  "",
  sizeof(StateSignal),
  1,
  state_signal__field_descriptors,
  state_signal__field_indices_by_name,
  1,  state_signal__number_ranges,
  (ProtobufCMessageInit) state_signal__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCEnumValue proof_type__enum_values_by_number[3] =
{
  { "AuthorityRound", "PROOF_TYPE__AuthorityRound", 0 },
  { "Raft", "PROOF_TYPE__Raft", 1 },
  { "Bft", "PROOF_TYPE__Bft", 2 },
};
static const ProtobufCIntRange proof_type__value_ranges[] = {
{0, 0},{0, 3}
};
static const ProtobufCEnumValueIndex proof_type__enum_values_by_name[3] =
{
  { "AuthorityRound", 0 },
  { "Bft", 2 },
  { "Raft", 1 },
};
const ProtobufCEnumDescriptor proof_type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "ProofType",
  "ProofType",
  "ProofType",
  "",
  3,
  proof_type__enum_values_by_number,
  3,
  proof_type__enum_values_by_name,
  1,
  proof_type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue crypto__enum_values_by_number[2] =
{
  { "DEFAULT", "CRYPTO__DEFAULT", 0 },
  { "RESERVED", "CRYPTO__RESERVED", 1 },
};
static const ProtobufCIntRange crypto__value_ranges[] = {
{0, 0},{0, 2}
};
static const ProtobufCEnumValueIndex crypto__enum_values_by_name[2] =
{
  { "DEFAULT", 0 },
  { "RESERVED", 1 },
};
const ProtobufCEnumDescriptor crypto__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "Crypto",
  "Crypto",
  "Crypto",
  "",
  2,
  crypto__enum_values_by_number,
  2,
  crypto__enum_values_by_name,
  1,
  crypto__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
