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

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

#include "transaction.pb-c-hwbcs.h"
void   common__tx_result__init
                     (Common__TxResult         *message)
{
  static const Common__TxResult init_value = COMMON__TX_RESULT__INIT;
  *message = init_value;
}
size_t common__tx_result__get_packed_size
                     (const Common__TxResult *message)
{
  assert(message->base.descriptor == &common__tx_result__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__tx_result__pack
                     (const Common__TxResult *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__tx_result__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__tx_result__pack_to_buffer
                     (const Common__TxResult *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__tx_result__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__TxResult *
       common__tx_result__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__TxResult *)
     protobuf_c_message_unpack (&common__tx_result__descriptor,
                                allocator, len, data);
}
void   common__tx_result__free_unpacked
                     (Common__TxResult *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__tx_result__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__transaction__extensions_entry__init
                     (Common__Transaction__ExtensionsEntry         *message)
{
  static const Common__Transaction__ExtensionsEntry init_value = COMMON__TRANSACTION__EXTENSIONS_ENTRY__INIT;
  *message = init_value;
}
void   common__transaction__init
                     (Common__Transaction         *message)
{
  static const Common__Transaction init_value = COMMON__TRANSACTION__INIT;
  *message = init_value;
}
size_t common__transaction__get_packed_size
                     (const Common__Transaction *message)
{
  assert(message->base.descriptor == &common__transaction__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__transaction__pack
                     (const Common__Transaction *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__transaction__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__transaction__pack_to_buffer
                     (const Common__Transaction *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__transaction__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__Transaction *
       common__transaction__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__Transaction *)
     protobuf_c_message_unpack (&common__transaction__descriptor,
                                allocator, len, data);
}
void   common__transaction__free_unpacked
                     (Common__Transaction *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__transaction__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__tx_payload__init
                     (Common__TxPayload         *message)
{
  static const Common__TxPayload init_value = COMMON__TX_PAYLOAD__INIT;
  *message = init_value;
}
size_t common__tx_payload__get_packed_size
                     (const Common__TxPayload *message)
{
  assert(message->base.descriptor == &common__tx_payload__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__tx_payload__pack
                     (const Common__TxPayload *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__tx_payload__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__tx_payload__pack_to_buffer
                     (const Common__TxPayload *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__tx_payload__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__TxPayload *
       common__tx_payload__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__TxPayload *)
     protobuf_c_message_unpack (&common__tx_payload__descriptor,
                                allocator, len, data);
}
void   common__tx_payload__free_unpacked
                     (Common__TxPayload *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__tx_payload__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__tx_header__init
                     (Common__TxHeader         *message)
{
  static const Common__TxHeader init_value = COMMON__TX_HEADER__INIT;
  *message = init_value;
}
size_t common__tx_header__get_packed_size
                     (const Common__TxHeader *message)
{
  assert(message->base.descriptor == &common__tx_header__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__tx_header__pack
                     (const Common__TxHeader *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__tx_header__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__tx_header__pack_to_buffer
                     (const Common__TxHeader *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__tx_header__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__TxHeader *
       common__tx_header__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__TxHeader *)
     protobuf_c_message_unpack (&common__tx_header__descriptor,
                                allocator, len, data);
}
void   common__tx_header__free_unpacked
                     (Common__TxHeader *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__tx_header__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__identity__init
                     (Common__Identity         *message)
{
  static const Common__Identity init_value = COMMON__IDENTITY__INIT;
  *message = init_value;
}
size_t common__identity__get_packed_size
                     (const Common__Identity *message)
{
  assert(message->base.descriptor == &common__identity__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__identity__pack
                     (const Common__Identity *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__identity__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__identity__pack_to_buffer
                     (const Common__Identity *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__identity__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__Identity *
       common__identity__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__Identity *)
     protobuf_c_message_unpack (&common__identity__descriptor,
                                allocator, len, data);
}
void   common__identity__free_unpacked
                     (Common__Identity *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__identity__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__common_tx_data__init
                     (Common__CommonTxData         *message)
{
  static const Common__CommonTxData init_value = COMMON__COMMON_TX_DATA__INIT;
  *message = init_value;
}
size_t common__common_tx_data__get_packed_size
                     (const Common__CommonTxData *message)
{
  assert(message->base.descriptor == &common__common_tx_data__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__common_tx_data__pack
                     (const Common__CommonTxData *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__common_tx_data__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__common_tx_data__pack_to_buffer
                     (const Common__CommonTxData *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__common_tx_data__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__CommonTxData *
       common__common_tx_data__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__CommonTxData *)
     protobuf_c_message_unpack (&common__common_tx_data__descriptor,
                                allocator, len, data);
}
void   common__common_tx_data__free_unpacked
                     (Common__CommonTxData *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__common_tx_data__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__state_updates__init
                     (Common__StateUpdates         *message)
{
  static const Common__StateUpdates init_value = COMMON__STATE_UPDATES__INIT;
  *message = init_value;
}
size_t common__state_updates__get_packed_size
                     (const Common__StateUpdates *message)
{
  assert(message->base.descriptor == &common__state_updates__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__state_updates__pack
                     (const Common__StateUpdates *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__state_updates__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__state_updates__pack_to_buffer
                     (const Common__StateUpdates *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__state_updates__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__StateUpdates *
       common__state_updates__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__StateUpdates *)
     protobuf_c_message_unpack (&common__state_updates__descriptor,
                                allocator, len, data);
}
void   common__state_updates__free_unpacked
                     (Common__StateUpdates *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__state_updates__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__kv_state_updates__init
                     (Common__KvStateUpdates         *message)
{
  static const Common__KvStateUpdates init_value = COMMON__KV_STATE_UPDATES__INIT;
  *message = init_value;
}
size_t common__kv_state_updates__get_packed_size
                     (const Common__KvStateUpdates *message)
{
  assert(message->base.descriptor == &common__kv_state_updates__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__kv_state_updates__pack
                     (const Common__KvStateUpdates *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__kv_state_updates__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__kv_state_updates__pack_to_buffer
                     (const Common__KvStateUpdates *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__kv_state_updates__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__KvStateUpdates *
       common__kv_state_updates__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__KvStateUpdates *)
     protobuf_c_message_unpack (&common__kv_state_updates__descriptor,
                                allocator, len, data);
}
void   common__kv_state_updates__free_unpacked
                     (Common__KvStateUpdates *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__kv_state_updates__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__invocation_response__init
                     (Common__InvocationResponse         *message)
{
  static const Common__InvocationResponse init_value = COMMON__INVOCATION_RESPONSE__INIT;
  *message = init_value;
}
size_t common__invocation_response__get_packed_size
                     (const Common__InvocationResponse *message)
{
  assert(message->base.descriptor == &common__invocation_response__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__invocation_response__pack
                     (const Common__InvocationResponse *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__invocation_response__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__invocation_response__pack_to_buffer
                     (const Common__InvocationResponse *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__invocation_response__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__InvocationResponse *
       common__invocation_response__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__InvocationResponse *)
     protobuf_c_message_unpack (&common__invocation_response__descriptor,
                                allocator, len, data);
}
void   common__invocation_response__free_unpacked
                     (Common__InvocationResponse *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__invocation_response__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__key_version__init
                     (Common__KeyVersion         *message)
{
  static const Common__KeyVersion init_value = COMMON__KEY_VERSION__INIT;
  *message = init_value;
}
size_t common__key_version__get_packed_size
                     (const Common__KeyVersion *message)
{
  assert(message->base.descriptor == &common__key_version__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__key_version__pack
                     (const Common__KeyVersion *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__key_version__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__key_version__pack_to_buffer
                     (const Common__KeyVersion *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__key_version__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__KeyVersion *
       common__key_version__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__KeyVersion *)
     protobuf_c_message_unpack (&common__key_version__descriptor,
                                allocator, len, data);
}
void   common__key_version__free_unpacked
                     (Common__KeyVersion *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__key_version__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__version__init
                     (Common__Version         *message)
{
  static const Common__Version init_value = COMMON__VERSION__INIT;
  *message = init_value;
}
size_t common__version__get_packed_size
                     (const Common__Version *message)
{
  assert(message->base.descriptor == &common__version__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__version__pack
                     (const Common__Version *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__version__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__version__pack_to_buffer
                     (const Common__Version *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__version__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__Version *
       common__version__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__Version *)
     protobuf_c_message_unpack (&common__version__descriptor,
                                allocator, len, data);
}
void   common__version__free_unpacked
                     (Common__Version *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__version__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__iteration_info__init
                     (Common__IterationInfo         *message)
{
  static const Common__IterationInfo init_value = COMMON__ITERATION_INFO__INIT;
  *message = init_value;
}
size_t common__iteration_info__get_packed_size
                     (const Common__IterationInfo *message)
{
  assert(message->base.descriptor == &common__iteration_info__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__iteration_info__pack
                     (const Common__IterationInfo *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__iteration_info__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__iteration_info__pack_to_buffer
                     (const Common__IterationInfo *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__iteration_info__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__IterationInfo *
       common__iteration_info__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__IterationInfo *)
     protobuf_c_message_unpack (&common__iteration_info__descriptor,
                                allocator, len, data);
}
void   common__iteration_info__free_unpacked
                     (Common__IterationInfo *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__iteration_info__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__merkle_tree__init
                     (Common__MerkleTree         *message)
{
  static const Common__MerkleTree init_value = COMMON__MERKLE_TREE__INIT;
  *message = init_value;
}
size_t common__merkle_tree__get_packed_size
                     (const Common__MerkleTree *message)
{
  assert(message->base.descriptor == &common__merkle_tree__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__merkle_tree__pack
                     (const Common__MerkleTree *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__merkle_tree__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__merkle_tree__pack_to_buffer
                     (const Common__MerkleTree *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__merkle_tree__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__MerkleTree *
       common__merkle_tree__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__MerkleTree *)
     protobuf_c_message_unpack (&common__merkle_tree__descriptor,
                                allocator, len, data);
}
void   common__merkle_tree__free_unpacked
                     (Common__MerkleTree *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__merkle_tree__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__key_value__init
                     (Common__KeyValue         *message)
{
  static const Common__KeyValue init_value = COMMON__KEY_VALUE__INIT;
  *message = init_value;
}
size_t common__key_value__get_packed_size
                     (const Common__KeyValue *message)
{
  assert(message->base.descriptor == &common__key_value__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__key_value__pack
                     (const Common__KeyValue *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__key_value__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__key_value__pack_to_buffer
                     (const Common__KeyValue *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__key_value__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__KeyValue *
       common__key_value__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__KeyValue *)
     protobuf_c_message_unpack (&common__key_value__descriptor,
                                allocator, len, data);
}
void   common__key_value__free_unpacked
                     (Common__KeyValue *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__key_value__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
void   common__approval__init
                     (Common__Approval         *message)
{
  static const Common__Approval init_value = COMMON__APPROVAL__INIT;
  *message = init_value;
}
size_t common__approval__get_packed_size
                     (const Common__Approval *message)
{
  assert(message->base.descriptor == &common__approval__descriptor);
  return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
}
size_t common__approval__pack
                     (const Common__Approval *message,
                      uint8_t       *out)
{
  assert(message->base.descriptor == &common__approval__descriptor);
  return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
}
size_t common__approval__pack_to_buffer
                     (const Common__Approval *message,
                      ProtobufCBuffer *buffer)
{
  assert(message->base.descriptor == &common__approval__descriptor);
  return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
}
Common__Approval *
       common__approval__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data)
{
  return (Common__Approval *)
     protobuf_c_message_unpack (&common__approval__descriptor,
                                allocator, len, data);
}
void   common__approval__free_unpacked
                     (Common__Approval *message,
                      ProtobufCAllocator *allocator)
{
  if(!message)
    return;
  assert(message->base.descriptor == &common__approval__descriptor);
  protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
static const ProtobufCFieldDescriptor common__tx_result__field_descriptors[2] =
{
  {
    "tx_hash",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__TxResult, tx_hash),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "status",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Common__TxResult, status),
    &common__tx_status__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__tx_result__field_indices_by_name[] = {
  1,   /* field[1] = status */
  0,   /* field[0] = tx_hash */
};
static const ProtobufCIntRange common__tx_result__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__tx_result__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.TxResult",
  "TxResult",
  "Common__TxResult",
  "common",
  sizeof(Common__TxResult),
  2,
  common__tx_result__field_descriptors,
  common__tx_result__field_indices_by_name,
  1,  common__tx_result__number_ranges,
  (ProtobufCMessageInit) common__tx_result__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__transaction__extensions_entry__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__Transaction__ExtensionsEntry, key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__Transaction__ExtensionsEntry, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__transaction__extensions_entry__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = value */
};
static const ProtobufCIntRange common__transaction__extensions_entry__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__transaction__extensions_entry__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.Transaction.ExtensionsEntry",
  "ExtensionsEntry",
  "Common__Transaction__ExtensionsEntry",
  "common",
  sizeof(Common__Transaction__ExtensionsEntry),
  2,
  common__transaction__extensions_entry__field_descriptors,
  common__transaction__extensions_entry__field_indices_by_name,
  1,  common__transaction__extensions_entry__number_ranges,
  (ProtobufCMessageInit) common__transaction__extensions_entry__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__transaction__field_descriptors[3] =
{
  {
    "approvals",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__Transaction, n_approvals),
    offsetof(Common__Transaction, approvals),
    &common__approval__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "payload",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__Transaction, payload),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "extensions",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__Transaction, n_extensions),
    offsetof(Common__Transaction, extensions),
    &common__transaction__extensions_entry__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__transaction__field_indices_by_name[] = {
  0,   /* field[0] = approvals */
  2,   /* field[2] = extensions */
  1,   /* field[1] = payload */
};
static const ProtobufCIntRange common__transaction__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor common__transaction__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.Transaction",
  "Transaction",
  "Common__Transaction",
  "common",
  sizeof(Common__Transaction),
  3,
  common__transaction__field_descriptors,
  common__transaction__field_indices_by_name,
  1,  common__transaction__number_ranges,
  (ProtobufCMessageInit) common__transaction__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__tx_payload__field_descriptors[2] =
{
  {
    "header",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Common__TxPayload, header),
    &common__tx_header__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "data",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__TxPayload, data),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__tx_payload__field_indices_by_name[] = {
  1,   /* field[1] = data */
  0,   /* field[0] = header */
};
static const ProtobufCIntRange common__tx_payload__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__tx_payload__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.TxPayload",
  "TxPayload",
  "Common__TxPayload",
  "common",
  sizeof(Common__TxPayload),
  2,
  common__tx_payload__field_descriptors,
  common__tx_payload__field_indices_by_name,
  1,  common__tx_payload__number_ranges,
  (ProtobufCMessageInit) common__tx_payload__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__tx_header__field_descriptors[7] =
{
  {
    "type",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Common__TxHeader, type),
    &common__tx_type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "chain_id",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__TxHeader, chain_id),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "creator",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Common__TxHeader, creator),
    &common__identity__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "timestamp",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Common__TxHeader, timestamp),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "nonce",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Common__TxHeader, nonce),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "latest_block",
    6,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Common__TxHeader, latest_block),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "domains",
    7,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(Common__TxHeader, n_domains),
    offsetof(Common__TxHeader, domains),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__tx_header__field_indices_by_name[] = {
  1,   /* field[1] = chain_id */
  2,   /* field[2] = creator */
  6,   /* field[6] = domains */
  5,   /* field[5] = latest_block */
  4,   /* field[4] = nonce */
  3,   /* field[3] = timestamp */
  0,   /* field[0] = type */
};
static const ProtobufCIntRange common__tx_header__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 7 }
};
const ProtobufCMessageDescriptor common__tx_header__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.TxHeader",
  "TxHeader",
  "Common__TxHeader",
  "common",
  sizeof(Common__TxHeader),
  7,
  common__tx_header__field_descriptors,
  common__tx_header__field_indices_by_name,
  1,  common__tx_header__number_ranges,
  (ProtobufCMessageInit) common__tx_header__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCEnumValue common__identity__type__enum_values_by_number[2] =
{
  { "COMMON_NAME", "COMMON__IDENTITY__TYPE__COMMON_NAME", 0 },
  { "CERT", "COMMON__IDENTITY__TYPE__CERT", 1 },
};
static const ProtobufCIntRange common__identity__type__value_ranges[] = {
{0, 0},{0, 2}
};
static const ProtobufCEnumValueIndex common__identity__type__enum_values_by_name[2] =
{
  { "CERT", 1 },
  { "COMMON_NAME", 0 },
};
const ProtobufCEnumDescriptor common__identity__type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "common.Identity.Type",
  "Type",
  "Common__Identity__Type",
  "common",
  2,
  common__identity__type__enum_values_by_number,
  2,
  common__identity__type__enum_values_by_name,
  1,
  common__identity__type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCFieldDescriptor common__identity__field_descriptors[3] =
{
  {
    "org",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__Identity, org),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "type",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Common__Identity, type),
    &common__identity__type__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "id",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__Identity, id),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__identity__field_indices_by_name[] = {
  2,   /* field[2] = id */
  0,   /* field[0] = org */
  1,   /* field[1] = type */
};
static const ProtobufCIntRange common__identity__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor common__identity__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.Identity",
  "Identity",
  "Common__Identity",
  "common",
  sizeof(Common__Identity),
  3,
  common__identity__field_descriptors,
  common__identity__field_indices_by_name,
  1,  common__identity__number_ranges,
  (ProtobufCMessageInit) common__identity__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__common_tx_data__field_descriptors[3] =
{
  {
    "contractInvocation",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__CommonTxData, contractinvocation),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "response",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Common__CommonTxData, response),
    &common__invocation_response__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "stateUpdates",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__CommonTxData, n_stateupdates),
    offsetof(Common__CommonTxData, stateupdates),
    &common__state_updates__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__common_tx_data__field_indices_by_name[] = {
  0,   /* field[0] = contractInvocation */
  1,   /* field[1] = response */
  2,   /* field[2] = stateUpdates */
};
static const ProtobufCIntRange common__common_tx_data__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor common__common_tx_data__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.CommonTxData",
  "CommonTxData",
  "Common__CommonTxData",
  "common",
  sizeof(Common__CommonTxData),
  3,
  common__common_tx_data__field_descriptors,
  common__common_tx_data__field_indices_by_name,
  1,  common__common_tx_data__number_ranges,
  (ProtobufCMessageInit) common__common_tx_data__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__state_updates__field_descriptors[2] =
{
  {
    "namespace",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__StateUpdates, namespace_),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "kvUpdates",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__StateUpdates, updates_case),
    offsetof(Common__StateUpdates, kvupdates),
    &common__kv_state_updates__descriptor,
    NULL,
    0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__state_updates__field_indices_by_name[] = {
  1,   /* field[1] = kvUpdates */
  0,   /* field[0] = namespace */
};
static const ProtobufCIntRange common__state_updates__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__state_updates__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.StateUpdates",
  "StateUpdates",
  "Common__StateUpdates",
  "common",
  sizeof(Common__StateUpdates),
  2,
  common__state_updates__field_descriptors,
  common__state_updates__field_indices_by_name,
  1,  common__state_updates__number_ranges,
  (ProtobufCMessageInit) common__state_updates__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__kv_state_updates__field_descriptors[4] =
{
  {
    "key_versions",
    1,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__KvStateUpdates, n_key_versions),
    offsetof(Common__KvStateUpdates, key_versions),
    &common__key_version__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "itr_infos",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__KvStateUpdates, n_itr_infos),
    offsetof(Common__KvStateUpdates, itr_infos),
    &common__iteration_info__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "updates",
    3,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_MESSAGE,
    offsetof(Common__KvStateUpdates, n_updates),
    offsetof(Common__KvStateUpdates, updates),
    &common__key_value__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "deletes",
    4,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_STRING,
    offsetof(Common__KvStateUpdates, n_deletes),
    offsetof(Common__KvStateUpdates, deletes),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__kv_state_updates__field_indices_by_name[] = {
  3,   /* field[3] = deletes */
  1,   /* field[1] = itr_infos */
  0,   /* field[0] = key_versions */
  2,   /* field[2] = updates */
};
static const ProtobufCIntRange common__kv_state_updates__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor common__kv_state_updates__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.KvStateUpdates",
  "KvStateUpdates",
  "Common__KvStateUpdates",
  "common",
  sizeof(Common__KvStateUpdates),
  4,
  common__kv_state_updates__field_descriptors,
  common__kv_state_updates__field_indices_by_name,
  1,  common__kv_state_updates__number_ranges,
  (ProtobufCMessageInit) common__kv_state_updates__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__invocation_response__field_descriptors[3] =
{
  {
    "status",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Common__InvocationResponse, status),
    &common__status__hwbcs__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "status_info",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__InvocationResponse, status_info),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "payload",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__InvocationResponse, payload),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__invocation_response__field_indices_by_name[] = {
  2,   /* field[2] = payload */
  0,   /* field[0] = status */
  1,   /* field[1] = status_info */
};
static const ProtobufCIntRange common__invocation_response__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor common__invocation_response__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.InvocationResponse",
  "InvocationResponse",
  "Common__InvocationResponse",
  "common",
  sizeof(Common__InvocationResponse),
  3,
  common__invocation_response__field_descriptors,
  common__invocation_response__field_indices_by_name,
  1,  common__invocation_response__number_ranges,
  (ProtobufCMessageInit) common__invocation_response__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__key_version__field_descriptors[2] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__KeyVersion, key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "version",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Common__KeyVersion, version),
    &common__version__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__key_version__field_indices_by_name[] = {
  0,   /* field[0] = key */
  1,   /* field[1] = version */
};
static const ProtobufCIntRange common__key_version__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__key_version__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.KeyVersion",
  "KeyVersion",
  "Common__KeyVersion",
  "common",
  sizeof(Common__KeyVersion),
  2,
  common__key_version__field_descriptors,
  common__key_version__field_indices_by_name,
  1,  common__key_version__number_ranges,
  (ProtobufCMessageInit) common__key_version__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__version__field_descriptors[2] =
{
  {
    "block_num",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_UINT64,
    0,   /* quantifier_offset */
    offsetof(Common__Version, block_num),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tx_num",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(Common__Version, tx_num),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__version__field_indices_by_name[] = {
  0,   /* field[0] = block_num */
  1,   /* field[1] = tx_num */
};
static const ProtobufCIntRange common__version__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__version__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.Version",
  "Version",
  "Common__Version",
  "common",
  sizeof(Common__Version),
  2,
  common__version__field_descriptors,
  common__version__field_indices_by_name,
  1,  common__version__number_ranges,
  (ProtobufCMessageInit) common__version__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__iteration_info__field_descriptors[4] =
{
  {
    "start_key",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__IterationInfo, start_key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "end_key",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__IterationInfo, end_key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "inclusive",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BOOL,
    0,   /* quantifier_offset */
    offsetof(Common__IterationInfo, inclusive),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "tree",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_MESSAGE,
    0,   /* quantifier_offset */
    offsetof(Common__IterationInfo, tree),
    &common__merkle_tree__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__iteration_info__field_indices_by_name[] = {
  1,   /* field[1] = end_key */
  2,   /* field[2] = inclusive */
  0,   /* field[0] = start_key */
  3,   /* field[3] = tree */
};
static const ProtobufCIntRange common__iteration_info__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 4 }
};
const ProtobufCMessageDescriptor common__iteration_info__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.IterationInfo",
  "IterationInfo",
  "Common__IterationInfo",
  "common",
  sizeof(Common__IterationInfo),
  4,
  common__iteration_info__field_descriptors,
  common__iteration_info__field_indices_by_name,
  1,  common__iteration_info__number_ranges,
  (ProtobufCMessageInit) common__iteration_info__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__merkle_tree__field_descriptors[2] =
{
  {
    "level",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_INT32,
    0,   /* quantifier_offset */
    offsetof(Common__MerkleTree, level),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "nodes",
    2,
    PROTOBUF_C_LABEL_REPEATED,
    PROTOBUF_C_TYPE_BYTES,
    offsetof(Common__MerkleTree, n_nodes),
    offsetof(Common__MerkleTree, nodes),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__merkle_tree__field_indices_by_name[] = {
  0,   /* field[0] = level */
  1,   /* field[1] = nodes */
};
static const ProtobufCIntRange common__merkle_tree__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 2 }
};
const ProtobufCMessageDescriptor common__merkle_tree__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.MerkleTree",
  "MerkleTree",
  "Common__MerkleTree",
  "common",
  sizeof(Common__MerkleTree),
  2,
  common__merkle_tree__field_descriptors,
  common__merkle_tree__field_indices_by_name,
  1,  common__merkle_tree__number_ranges,
  (ProtobufCMessageInit) common__merkle_tree__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__key_value__field_descriptors[3] =
{
  {
    "key",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__KeyValue, key),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "value",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__KeyValue, value),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "signature",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__KeyValue, signature),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__key_value__field_indices_by_name[] = {
  0,   /* field[0] = key */
  2,   /* field[2] = signature */
  1,   /* field[1] = value */
};
static const ProtobufCIntRange common__key_value__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 3 }
};
const ProtobufCMessageDescriptor common__key_value__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.KeyValue",
  "KeyValue",
  "Common__KeyValue",
  "common",
  sizeof(Common__KeyValue),
  3,
  common__key_value__field_descriptors,
  common__key_value__field_indices_by_name,
  1,  common__key_value__number_ranges,
  (ProtobufCMessageInit) common__key_value__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCFieldDescriptor common__approval__field_descriptors[5] =
{
  {
    "identity",
    1,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__Approval, identity),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "sign",
    2,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_BYTES,
    0,   /* quantifier_offset */
    offsetof(Common__Approval, sign),
    NULL,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "type",
    3,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_ENUM,
    0,   /* quantifier_offset */
    offsetof(Common__Approval, type),
    &common__contract_run_env__descriptor,
    NULL,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "org_name",
    4,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__Approval, org_name),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
  {
    "node_name",
    5,
    PROTOBUF_C_LABEL_NONE,
    PROTOBUF_C_TYPE_STRING,
    0,   /* quantifier_offset */
    offsetof(Common__Approval, node_name),
    NULL,
    &protobuf_c_empty_string,
    0,             /* flags */
    0,NULL,NULL    /* reserved1,reserved2, etc */
  },
};
static const unsigned common__approval__field_indices_by_name[] = {
  0,   /* field[0] = identity */
  4,   /* field[4] = node_name */
  3,   /* field[3] = org_name */
  1,   /* field[1] = sign */
  2,   /* field[2] = type */
};
static const ProtobufCIntRange common__approval__number_ranges[1 + 1] =
{
  { 1, 0 },
  { 0, 5 }
};
const ProtobufCMessageDescriptor common__approval__descriptor =
{
  PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
  "common.Approval",
  "Approval",
  "Common__Approval",
  "common",
  sizeof(Common__Approval),
  5,
  common__approval__field_descriptors,
  common__approval__field_indices_by_name,
  1,  common__approval__number_ranges,
  (ProtobufCMessageInit) common__approval__init,
  NULL,NULL,NULL    /* reserved[123] */
};
static const ProtobufCEnumValue common__tx_type__enum_values_by_number[2] =
{
  { "COMMON_TRANSACTION", "COMMON__TX_TYPE__COMMON_TRANSACTION", 0 },
  { "VOTE_TRANSACTION", "COMMON__TX_TYPE__VOTE_TRANSACTION", 1 },
};
static const ProtobufCIntRange common__tx_type__value_ranges[] = {
{0, 0},{0, 2}
};
static const ProtobufCEnumValueIndex common__tx_type__enum_values_by_name[2] =
{
  { "COMMON_TRANSACTION", 0 },
  { "VOTE_TRANSACTION", 1 },
};
const ProtobufCEnumDescriptor common__tx_type__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "common.TxType",
  "TxType",
  "Common__TxType",
  "common",
  2,
  common__tx_type__enum_values_by_number,
  2,
  common__tx_type__enum_values_by_name,
  1,
  common__tx_type__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue common__contract_run_env__enum_values_by_number[4] =
{
  { "Docker", "COMMON__CONTRACT_RUN_ENV__Docker", 0 },
  { "Native", "COMMON__CONTRACT_RUN_ENV__Native", 1 },
  { "NativeWasm", "COMMON__CONTRACT_RUN_ENV__NativeWasm", 2 },
  { "TEEWasm", "COMMON__CONTRACT_RUN_ENV__TEEWasm", 3 },
};
static const ProtobufCIntRange common__contract_run_env__value_ranges[] = {
{0, 0},{0, 4}
};
static const ProtobufCEnumValueIndex common__contract_run_env__enum_values_by_name[4] =
{
  { "Docker", 0 },
  { "Native", 1 },
  { "NativeWasm", 2 },
  { "TEEWasm", 3 },
};
const ProtobufCEnumDescriptor common__contract_run_env__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "common.ContractRunEnv",
  "ContractRunEnv",
  "Common__ContractRunEnv",
  "common",
  4,
  common__contract_run_env__enum_values_by_number,
  4,
  common__contract_run_env__enum_values_by_name,
  1,
  common__contract_run_env__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCEnumValue common__tx_status__enum_values_by_number[25] =
{
  { "VALID", "COMMON__TX_STATUS__VALID", 0 },
  { "INVALID_TX_PAYLOAD", "COMMON__TX_STATUS__INVALID_TX_PAYLOAD", 1 },
  { "INVALID_TX_HEADER", "COMMON__TX_STATUS__INVALID_TX_HEADER", 2 },
  { "INVALID_TX_TYPE", "COMMON__TX_STATUS__INVALID_TX_TYPE", 3 },
  { "UNKNOWN_TX_TYPE", "COMMON__TX_STATUS__UNKNOWN_TX_TYPE", 4 },
  { "DUPLICATE_TX", "COMMON__TX_STATUS__DUPLICATE_TX", 5 },
  { "INVALID_STATE_UPDATES_TYPE", "COMMON__TX_STATUS__INVALID_STATE_UPDATES_TYPE", 6 },
  { "INVALID_INSERT_STATEMENTS", "COMMON__TX_STATUS__INVALID_INSERT_STATEMENTS", 7 },
  { "INVALID_SELECT_STATEMENTS", "COMMON__TX_STATUS__INVALID_SELECT_STATEMENTS", 8 },
  { "INVALID_SQL_SYNTAX", "COMMON__TX_STATUS__INVALID_SQL_SYNTAX", 9 },
  { "INVALID_SQL_SCHEMA", "COMMON__TX_STATUS__INVALID_SQL_SCHEMA", 10 },
  { "INVALID_COMMON_TX_DATA", "COMMON__TX_STATUS__INVALID_COMMON_TX_DATA", 11 },
  { "INVALID_VOTE_TX_DATA", "COMMON__TX_STATUS__INVALID_VOTE_TX_DATA", 12 },
  { "INVALID_CHAIN_CONFIG", "COMMON__TX_STATUS__INVALID_CHAIN_CONFIG", 13 },
  { "INVALID_ARCHIVE_TX_DATA", "COMMON__TX_STATUS__INVALID_ARCHIVE_TX_DATA", 14 },
  { "INVALID_CONTRACT_INVOCATION", "COMMON__TX_STATUS__INVALID_CONTRACT_INVOCATION", 21 },
  { "INVALID_APPROVAL_SIGNATURE", "COMMON__TX_STATUS__INVALID_APPROVAL_SIGNATURE", 22 },
  { "APPROVALS_VALIDATION_FAILURE", "COMMON__TX_STATUS__APPROVALS_VALIDATION_FAILURE", 23 },
  { "UNKNOWN_VOTE_HANDLER", "COMMON__TX_STATUS__UNKNOWN_VOTE_HANDLER", 31 },
  { "INVALID_VOTE_PAYLOAD", "COMMON__TX_STATUS__INVALID_VOTE_PAYLOAD", 32 },
  { "INVALID_MVCC", "COMMON__TX_STATUS__INVALID_MVCC", 41 },
  { "CONTRACT_ALREADY_INIT", "COMMON__TX_STATUS__CONTRACT_ALREADY_INIT", 42 },
  { "CONTRACT_NOT_INIT", "COMMON__TX_STATUS__CONTRACT_NOT_INIT", 43 },
  { "INVALID_LATEST_BLOCK", "COMMON__TX_STATUS__INVALID_LATEST_BLOCK", 44 },
  { "INVALID", "COMMON__TX_STATUS__INVALID", 255 },
};
static const ProtobufCIntRange common__tx_status__value_ranges[] = {
{0, 0},{21, 15},{31, 18},{41, 20},{255, 24},{0, 25}
};
static const ProtobufCEnumValueIndex common__tx_status__enum_values_by_name[25] =
{
  { "APPROVALS_VALIDATION_FAILURE", 17 },
  { "CONTRACT_ALREADY_INIT", 21 },
  { "CONTRACT_NOT_INIT", 22 },
  { "DUPLICATE_TX", 5 },
  { "INVALID", 24 },
  { "INVALID_APPROVAL_SIGNATURE", 16 },
  { "INVALID_ARCHIVE_TX_DATA", 14 },
  { "INVALID_CHAIN_CONFIG", 13 },
  { "INVALID_COMMON_TX_DATA", 11 },
  { "INVALID_CONTRACT_INVOCATION", 15 },
  { "INVALID_INSERT_STATEMENTS", 7 },
  { "INVALID_LATEST_BLOCK", 23 },
  { "INVALID_MVCC", 20 },
  { "INVALID_SELECT_STATEMENTS", 8 },
  { "INVALID_SQL_SCHEMA", 10 },
  { "INVALID_SQL_SYNTAX", 9 },
  { "INVALID_STATE_UPDATES_TYPE", 6 },
  { "INVALID_TX_HEADER", 2 },
  { "INVALID_TX_PAYLOAD", 1 },
  { "INVALID_TX_TYPE", 3 },
  { "INVALID_VOTE_PAYLOAD", 19 },
  { "INVALID_VOTE_TX_DATA", 12 },
  { "UNKNOWN_TX_TYPE", 4 },
  { "UNKNOWN_VOTE_HANDLER", 18 },
  { "VALID", 0 },
};
const ProtobufCEnumDescriptor common__tx_status__descriptor =
{
  PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
  "common.TxStatus",
  "TxStatus",
  "Common__TxStatus",
  "common",
  25,
  common__tx_status__enum_values_by_number,
  25,
  common__tx_status__enum_values_by_name,
  5,
  common__tx_status__value_ranges,
  NULL,NULL,NULL,NULL   /* reserved[1234] */
};
static const ProtobufCMethodDescriptor common__transaction_sender__method_descriptors[1] =
{
  { "SendTransaction", &common__raw_message__descriptor, &common__raw_message__descriptor },
};
const unsigned common__transaction_sender__method_indices_by_name[] = {
  0         /* SendTransaction */
};
const ProtobufCServiceDescriptor common__transaction_sender__descriptor =
{
  PROTOBUF_C__SERVICE_DESCRIPTOR_MAGIC,
  "common.TransactionSender",
  "TransactionSender",
  "Common__TransactionSender",
  "common",
  1,
  common__transaction_sender__method_descriptors,
  common__transaction_sender__method_indices_by_name
};
void common__transaction_sender__send_transaction(ProtobufCService *service,
                                                  const Common__RawMessage *input,
                                                  Common__RawMessage_Closure closure,
                                                  void *closure_data)
{
  assert(service->descriptor == &common__transaction_sender__descriptor);
  service->invoke(service, 0, (const ProtobufCMessage *) input, (ProtobufCClosure) closure, closure_data);
}
void common__transaction_sender__init (Common__TransactionSender_Service *service,
                                       Common__TransactionSender_ServiceDestroy destroy)
{
  protobuf_c_service_generated_init (&service->base,
                                     &common__transaction_sender__descriptor,
                                     (ProtobufCServiceDestroy) destroy);
}
