// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: base_node.proto
// Protobuf C++ Version: 5.26.1

#include "base_node.pb.h"

#include <algorithm>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.h"
#include "google/protobuf/generated_message_tctable_impl.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace tari {
namespace rpc {

inline constexpr ValueAtHeightResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : value_{::uint64_t{0u}},
        height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ValueAtHeightResponse::ValueAtHeightResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ValueAtHeightResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ValueAtHeightResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ValueAtHeightResponseDefaultTypeInternal() {}
  union {
    ValueAtHeightResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ValueAtHeightResponseDefaultTypeInternal _ValueAtHeightResponse_default_instance_;

inline constexpr TransactionStateResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : result_{static_cast< ::tari::rpc::TransactionLocation >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TransactionStateResponse::TransactionStateResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TransactionStateResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TransactionStateResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TransactionStateResponseDefaultTypeInternal() {}
  union {
    TransactionStateResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TransactionStateResponseDefaultTypeInternal _TransactionStateResponse_default_instance_;

inline constexpr SyncProgressResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : tip_height_{::uint64_t{0u}},
        local_height_{::uint64_t{0u}},
        state_{static_cast< ::tari::rpc::SyncState >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SyncProgressResponse::SyncProgressResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SyncProgressResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SyncProgressResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SyncProgressResponseDefaultTypeInternal() {}
  union {
    SyncProgressResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SyncProgressResponseDefaultTypeInternal _SyncProgressResponse_default_instance_;

inline constexpr SyncInfoResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : peer_node_id_{},
        tip_height_{::uint64_t{0u}},
        local_height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SyncInfoResponse::SyncInfoResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SyncInfoResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SyncInfoResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SyncInfoResponseDefaultTypeInternal() {}
  union {
    SyncInfoResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SyncInfoResponseDefaultTypeInternal _SyncInfoResponse_default_instance_;

inline constexpr SubmitTransactionResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : result_{static_cast< ::tari::rpc::SubmitTransactionResult >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SubmitTransactionResponse::SubmitTransactionResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SubmitTransactionResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubmitTransactionResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubmitTransactionResponseDefaultTypeInternal() {}
  union {
    SubmitTransactionResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubmitTransactionResponseDefaultTypeInternal _SubmitTransactionResponse_default_instance_;

inline constexpr SubmitBlockResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : block_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SubmitBlockResponse::SubmitBlockResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SubmitBlockResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubmitBlockResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubmitBlockResponseDefaultTypeInternal() {}
  union {
    SubmitBlockResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubmitBlockResponseDefaultTypeInternal _SubmitBlockResponse_default_instance_;

inline constexpr StringValue::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR StringValue::StringValue(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct StringValueDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StringValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~StringValueDefaultTypeInternal() {}
  union {
    StringValue _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StringValueDefaultTypeInternal _StringValue_default_instance_;

inline constexpr SearchUtxosRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : commitments_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SearchUtxosRequest::SearchUtxosRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SearchUtxosRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SearchUtxosRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SearchUtxosRequestDefaultTypeInternal() {}
  union {
    SearchUtxosRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SearchUtxosRequestDefaultTypeInternal _SearchUtxosRequest_default_instance_;

inline constexpr NewBlockCoinbase::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : address_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        coinbase_extra_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        value_{::uint64_t{0u}},
        stealth_payment_{false},
        revealed_value_proof_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR NewBlockCoinbase::NewBlockCoinbase(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NewBlockCoinbaseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NewBlockCoinbaseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NewBlockCoinbaseDefaultTypeInternal() {}
  union {
    NewBlockCoinbase _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NewBlockCoinbaseDefaultTypeInternal _NewBlockCoinbase_default_instance_;

inline constexpr NetworkDifficultyResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : difficulty_{::uint64_t{0u}},
        estimated_hash_rate_{::uint64_t{0u}},
        height_{::uint64_t{0u}},
        timestamp_{::uint64_t{0u}},
        pow_algo_{::uint64_t{0u}},
        sha3x_estimated_hash_rate_{::uint64_t{0u}},
        randomx_estimated_hash_rate_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR NetworkDifficultyResponse::NetworkDifficultyResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NetworkDifficultyResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NetworkDifficultyResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NetworkDifficultyResponseDefaultTypeInternal() {}
  union {
    NetworkDifficultyResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NetworkDifficultyResponseDefaultTypeInternal _NetworkDifficultyResponse_default_instance_;

inline constexpr MetaData::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : best_block_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        accumulated_difficulty_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        best_block_height_{::uint64_t{0u}},
        pruned_height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR MetaData::MetaData(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MetaDataDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MetaDataDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MetaDataDefaultTypeInternal() {}
  union {
    MetaData _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MetaDataDefaultTypeInternal _MetaData_default_instance_;

inline constexpr MempoolStatsResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : unconfirmed_txs_{::uint64_t{0u}},
        reorg_txs_{::uint64_t{0u}},
        unconfirmed_weight_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR MempoolStatsResponse::MempoolStatsResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MempoolStatsResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MempoolStatsResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MempoolStatsResponseDefaultTypeInternal() {}
  union {
    MempoolStatsResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MempoolStatsResponseDefaultTypeInternal _MempoolStatsResponse_default_instance_;

inline constexpr ListHeadersRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : from_height_{::uint64_t{0u}},
        num_headers_{::uint64_t{0u}},
        sorting_{static_cast< ::tari::rpc::Sorting >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ListHeadersRequest::ListHeadersRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ListHeadersRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListHeadersRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListHeadersRequestDefaultTypeInternal() {}
  union {
    ListHeadersRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListHeadersRequestDefaultTypeInternal _ListHeadersRequest_default_instance_;

inline constexpr ListAssetRegistrationsRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : offset_{::uint64_t{0u}},
        count_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ListAssetRegistrationsRequest::ListAssetRegistrationsRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ListAssetRegistrationsRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListAssetRegistrationsRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListAssetRegistrationsRequestDefaultTypeInternal() {}
  union {
    ListAssetRegistrationsRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListAssetRegistrationsRequestDefaultTypeInternal _ListAssetRegistrationsRequest_default_instance_;

inline constexpr IntegerValue::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : value_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR IntegerValue::IntegerValue(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct IntegerValueDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntegerValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntegerValueDefaultTypeInternal() {}
  union {
    IntegerValue _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntegerValueDefaultTypeInternal _IntegerValue_default_instance_;

inline constexpr HeightRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : from_tip_{::uint64_t{0u}},
        start_height_{::uint64_t{0u}},
        end_height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR HeightRequest::HeightRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct HeightRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR HeightRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~HeightRequestDefaultTypeInternal() {}
  union {
    HeightRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HeightRequestDefaultTypeInternal _HeightRequest_default_instance_;

inline constexpr GetTokensRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : unique_ids_{},
        asset_public_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetTokensRequest::GetTokensRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetTokensRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTokensRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTokensRequestDefaultTypeInternal() {}
  union {
    GetTokensRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTokensRequestDefaultTypeInternal _GetTokensRequest_default_instance_;

inline constexpr GetTemplateRegistrationsRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : start_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        count_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetTemplateRegistrationsRequest::GetTemplateRegistrationsRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetTemplateRegistrationsRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTemplateRegistrationsRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTemplateRegistrationsRequestDefaultTypeInternal() {}
  union {
    GetTemplateRegistrationsRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTemplateRegistrationsRequestDefaultTypeInternal _GetTemplateRegistrationsRequest_default_instance_;

inline constexpr GetSideChainUtxosRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : start_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        count_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetSideChainUtxosRequest::GetSideChainUtxosRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetSideChainUtxosRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetSideChainUtxosRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetSideChainUtxosRequestDefaultTypeInternal() {}
  union {
    GetSideChainUtxosRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetSideChainUtxosRequestDefaultTypeInternal _GetSideChainUtxosRequest_default_instance_;

inline constexpr GetShardKeyResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : shard_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        found_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetShardKeyResponse::GetShardKeyResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetShardKeyResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetShardKeyResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetShardKeyResponseDefaultTypeInternal() {}
  union {
    GetShardKeyResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetShardKeyResponseDefaultTypeInternal _GetShardKeyResponse_default_instance_;

inline constexpr GetShardKeyRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : public_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetShardKeyRequest::GetShardKeyRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetShardKeyRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetShardKeyRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetShardKeyRequestDefaultTypeInternal() {}
  union {
    GetShardKeyRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetShardKeyRequestDefaultTypeInternal _GetShardKeyRequest_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR GetPeersRequest::GetPeersRequest(::_pbi::ConstantInitialized) {}
struct GetPeersRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetPeersRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetPeersRequestDefaultTypeInternal() {}
  union {
    GetPeersRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetPeersRequestDefaultTypeInternal _GetPeersRequest_default_instance_;

inline constexpr GetNewBlockBlobResult::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : block_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        header_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        block_body_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        merge_mining_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        utxo_mr_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tari_unique_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetNewBlockBlobResult::GetNewBlockBlobResult(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetNewBlockBlobResultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetNewBlockBlobResultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetNewBlockBlobResultDefaultTypeInternal() {}
  union {
    GetNewBlockBlobResult _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetNewBlockBlobResultDefaultTypeInternal _GetNewBlockBlobResult_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR GetMempoolTransactionsRequest::GetMempoolTransactionsRequest(::_pbi::ConstantInitialized) {}
struct GetMempoolTransactionsRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetMempoolTransactionsRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetMempoolTransactionsRequestDefaultTypeInternal() {}
  union {
    GetMempoolTransactionsRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetMempoolTransactionsRequestDefaultTypeInternal _GetMempoolTransactionsRequest_default_instance_;

inline constexpr GetHeaderByHashRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetHeaderByHashRequest::GetHeaderByHashRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetHeaderByHashRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetHeaderByHashRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetHeaderByHashRequestDefaultTypeInternal() {}
  union {
    GetHeaderByHashRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetHeaderByHashRequestDefaultTypeInternal _GetHeaderByHashRequest_default_instance_;

inline constexpr GetBlocksRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : heights_{},
        _heights_cached_byte_size_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetBlocksRequest::GetBlocksRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetBlocksRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetBlocksRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetBlocksRequestDefaultTypeInternal() {}
  union {
    GetBlocksRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetBlocksRequestDefaultTypeInternal _GetBlocksRequest_default_instance_;

inline constexpr GetAssetMetadataRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : asset_public_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetAssetMetadataRequest::GetAssetMetadataRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetAssetMetadataRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetAssetMetadataRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetAssetMetadataRequestDefaultTypeInternal() {}
  union {
    GetAssetMetadataRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetAssetMetadataRequestDefaultTypeInternal _GetAssetMetadataRequest_default_instance_;

inline constexpr GetActiveValidatorNodesResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : shard_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        public_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetActiveValidatorNodesResponse::GetActiveValidatorNodesResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetActiveValidatorNodesResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetActiveValidatorNodesResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetActiveValidatorNodesResponseDefaultTypeInternal() {}
  union {
    GetActiveValidatorNodesResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetActiveValidatorNodesResponseDefaultTypeInternal _GetActiveValidatorNodesResponse_default_instance_;

inline constexpr GetActiveValidatorNodesRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetActiveValidatorNodesRequest::GetActiveValidatorNodesRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetActiveValidatorNodesRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetActiveValidatorNodesRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetActiveValidatorNodesRequestDefaultTypeInternal() {}
  union {
    GetActiveValidatorNodesRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetActiveValidatorNodesRequestDefaultTypeInternal _GetActiveValidatorNodesRequest_default_instance_;

inline constexpr FetchMatchingUtxosRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : hashes_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR FetchMatchingUtxosRequest::FetchMatchingUtxosRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FetchMatchingUtxosRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FetchMatchingUtxosRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FetchMatchingUtxosRequestDefaultTypeInternal() {}
  union {
    FetchMatchingUtxosRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FetchMatchingUtxosRequestDefaultTypeInternal _FetchMatchingUtxosRequest_default_instance_;

inline constexpr BlockTimingResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : max_{::uint64_t{0u}},
        min_{::uint64_t{0u}},
        avg_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BlockTimingResponse::BlockTimingResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BlockTimingResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BlockTimingResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BlockTimingResponseDefaultTypeInternal() {}
  union {
    BlockTimingResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlockTimingResponseDefaultTypeInternal _BlockTimingResponse_default_instance_;

inline constexpr BlockInfo::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        next_block_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        height_{::uint64_t{0u}},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BlockInfo::BlockInfo(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BlockInfoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BlockInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BlockInfoDefaultTypeInternal() {}
  union {
    BlockInfo _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlockInfoDefaultTypeInternal _BlockInfo_default_instance_;

inline constexpr BlockGroupResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : value_{},
        calc_type_{static_cast< ::tari::rpc::CalcType >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BlockGroupResponse::BlockGroupResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BlockGroupResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BlockGroupResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BlockGroupResponseDefaultTypeInternal() {}
  union {
    BlockGroupResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlockGroupResponseDefaultTypeInternal _BlockGroupResponse_default_instance_;

inline constexpr BlockGroupRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : from_tip_{::uint64_t{0u}},
        start_height_{::uint64_t{0u}},
        end_height_{::uint64_t{0u}},
        calc_type_{static_cast< ::tari::rpc::CalcType >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BlockGroupRequest::BlockGroupRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BlockGroupRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BlockGroupRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BlockGroupRequestDefaultTypeInternal() {}
  union {
    BlockGroupRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlockGroupRequestDefaultTypeInternal _BlockGroupRequest_default_instance_;

inline constexpr BlockBlobRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : header_blob_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        body_blob_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BlockBlobRequest::BlockBlobRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BlockBlobRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BlockBlobRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BlockBlobRequestDefaultTypeInternal() {}
  union {
    BlockBlobRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlockBlobRequestDefaultTypeInternal _BlockBlobRequest_default_instance_;

inline constexpr TransactionStateRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        excess_sig_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR TransactionStateRequest::TransactionStateRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TransactionStateRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TransactionStateRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TransactionStateRequestDefaultTypeInternal() {}
  union {
    TransactionStateRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TransactionStateRequestDefaultTypeInternal _TransactionStateRequest_default_instance_;

inline constexpr TipInfoResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        metadata_{nullptr},
        initial_sync_achieved_{false},
        base_node_state_{static_cast< ::tari::rpc::BaseNodeState >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR TipInfoResponse::TipInfoResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TipInfoResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TipInfoResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TipInfoResponseDefaultTypeInternal() {}
  union {
    TipInfoResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TipInfoResponseDefaultTypeInternal _TipInfoResponse_default_instance_;

inline constexpr SearchKernelsRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : signatures_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SearchKernelsRequest::SearchKernelsRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SearchKernelsRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SearchKernelsRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SearchKernelsRequestDefaultTypeInternal() {}
  union {
    SearchKernelsRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SearchKernelsRequestDefaultTypeInternal _SearchKernelsRequest_default_instance_;

inline constexpr NewBlockTemplateRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        algo_{nullptr},
        max_weight_{::uint64_t{0u}} {}

template <typename>
PROTOBUF_CONSTEXPR NewBlockTemplateRequest::NewBlockTemplateRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NewBlockTemplateRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NewBlockTemplateRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NewBlockTemplateRequestDefaultTypeInternal() {}
  union {
    NewBlockTemplateRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NewBlockTemplateRequestDefaultTypeInternal _NewBlockTemplateRequest_default_instance_;

inline constexpr MinerData::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        algo_{nullptr},
        target_difficulty_{::uint64_t{0u}},
        reward_{::uint64_t{0u}},
        total_fees_{::uint64_t{0u}} {}

template <typename>
PROTOBUF_CONSTEXPR MinerData::MinerData(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MinerDataDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MinerDataDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MinerDataDefaultTypeInternal() {}
  union {
    MinerData _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MinerDataDefaultTypeInternal _MinerData_default_instance_;

inline constexpr GetNewBlockTemplateWithCoinbasesRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        coinbases_{},
        algo_{nullptr},
        max_weight_{::uint64_t{0u}} {}

template <typename>
PROTOBUF_CONSTEXPR GetNewBlockTemplateWithCoinbasesRequest::GetNewBlockTemplateWithCoinbasesRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetNewBlockTemplateWithCoinbasesRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetNewBlockTemplateWithCoinbasesRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetNewBlockTemplateWithCoinbasesRequestDefaultTypeInternal() {}
  union {
    GetNewBlockTemplateWithCoinbasesRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetNewBlockTemplateWithCoinbasesRequestDefaultTypeInternal _GetNewBlockTemplateWithCoinbasesRequest_default_instance_;

inline constexpr BlockHeaderResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        header_{nullptr},
        confirmations_{::uint64_t{0u}},
        reward_{::uint64_t{0u}},
        difficulty_{::uint64_t{0u}},
        num_transactions_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR BlockHeaderResponse::BlockHeaderResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BlockHeaderResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BlockHeaderResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BlockHeaderResponseDefaultTypeInternal() {}
  union {
    BlockHeaderResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BlockHeaderResponseDefaultTypeInternal _BlockHeaderResponse_default_instance_;

inline constexpr GetTemplateRegistrationResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        utxo_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        registration_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR GetTemplateRegistrationResponse::GetTemplateRegistrationResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetTemplateRegistrationResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTemplateRegistrationResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTemplateRegistrationResponseDefaultTypeInternal() {}
  union {
    GetTemplateRegistrationResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTemplateRegistrationResponseDefaultTypeInternal _GetTemplateRegistrationResponse_default_instance_;

inline constexpr GetPeersResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        peer_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR GetPeersResponse::GetPeersResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetPeersResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetPeersResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetPeersResponseDefaultTypeInternal() {}
  union {
    GetPeersResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetPeersResponseDefaultTypeInternal _GetPeersResponse_default_instance_;

inline constexpr ListAssetRegistrationsResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        asset_public_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        unique_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        owner_commitment_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mined_in_block_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        script_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        features_{nullptr},
        mined_height_{::uint64_t{0u}} {}

template <typename>
PROTOBUF_CONSTEXPR ListAssetRegistrationsResponse::ListAssetRegistrationsResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ListAssetRegistrationsResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListAssetRegistrationsResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListAssetRegistrationsResponseDefaultTypeInternal() {}
  union {
    ListAssetRegistrationsResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListAssetRegistrationsResponseDefaultTypeInternal _ListAssetRegistrationsResponse_default_instance_;

inline constexpr GetTokensResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        unique_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        asset_public_key_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        owner_commitment_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mined_in_block_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        script_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        features_{nullptr},
        mined_height_{::uint64_t{0u}} {}

template <typename>
PROTOBUF_CONSTEXPR GetTokensResponse::GetTokensResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetTokensResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTokensResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTokensResponseDefaultTypeInternal() {}
  union {
    GetTokensResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTokensResponseDefaultTypeInternal _GetTokensResponse_default_instance_;

inline constexpr GetAssetMetadataResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        image_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        owner_commitment_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mined_in_block_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        features_{nullptr},
        mined_height_{::uint64_t{0u}} {}

template <typename>
PROTOBUF_CONSTEXPR GetAssetMetadataResponse::GetAssetMetadataResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetAssetMetadataResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetAssetMetadataResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetAssetMetadataResponseDefaultTypeInternal() {}
  union {
    GetAssetMetadataResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetAssetMetadataResponseDefaultTypeInternal _GetAssetMetadataResponse_default_instance_;

inline constexpr GetSideChainUtxosResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        outputs_{},
        block_info_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR GetSideChainUtxosResponse::GetSideChainUtxosResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetSideChainUtxosResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetSideChainUtxosResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetSideChainUtxosResponseDefaultTypeInternal() {}
  union {
    GetSideChainUtxosResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetSideChainUtxosResponseDefaultTypeInternal _GetSideChainUtxosResponse_default_instance_;

inline constexpr FetchMatchingUtxosResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        output_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR FetchMatchingUtxosResponse::FetchMatchingUtxosResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FetchMatchingUtxosResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FetchMatchingUtxosResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FetchMatchingUtxosResponseDefaultTypeInternal() {}
  union {
    FetchMatchingUtxosResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FetchMatchingUtxosResponseDefaultTypeInternal _FetchMatchingUtxosResponse_default_instance_;

inline constexpr SubmitTransactionRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        transaction_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR SubmitTransactionRequest::SubmitTransactionRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SubmitTransactionRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubmitTransactionRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubmitTransactionRequestDefaultTypeInternal() {}
  union {
    SubmitTransactionRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubmitTransactionRequestDefaultTypeInternal _SubmitTransactionRequest_default_instance_;

inline constexpr NewBlockTemplateResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        new_block_template_{nullptr},
        miner_data_{nullptr},
        initial_sync_achieved_{false} {}

template <typename>
PROTOBUF_CONSTEXPR NewBlockTemplateResponse::NewBlockTemplateResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NewBlockTemplateResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NewBlockTemplateResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NewBlockTemplateResponseDefaultTypeInternal() {}
  union {
    NewBlockTemplateResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NewBlockTemplateResponseDefaultTypeInternal _NewBlockTemplateResponse_default_instance_;

inline constexpr GetNewBlockWithCoinbasesRequest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        coinbases_{},
        new_template_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR GetNewBlockWithCoinbasesRequest::GetNewBlockWithCoinbasesRequest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetNewBlockWithCoinbasesRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetNewBlockWithCoinbasesRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetNewBlockWithCoinbasesRequestDefaultTypeInternal() {}
  union {
    GetNewBlockWithCoinbasesRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetNewBlockWithCoinbasesRequestDefaultTypeInternal _GetNewBlockWithCoinbasesRequest_default_instance_;

inline constexpr GetNewBlockResult::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        block_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        merge_mining_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tari_unique_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        block_{nullptr},
        miner_data_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR GetNewBlockResult::GetNewBlockResult(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetNewBlockResultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetNewBlockResultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetNewBlockResultDefaultTypeInternal() {}
  union {
    GetNewBlockResult _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetNewBlockResultDefaultTypeInternal _GetNewBlockResult_default_instance_;

inline constexpr GetMempoolTransactionsResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        transaction_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR GetMempoolTransactionsResponse::GetMempoolTransactionsResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetMempoolTransactionsResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetMempoolTransactionsResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetMempoolTransactionsResponseDefaultTypeInternal() {}
  union {
    GetMempoolTransactionsResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetMempoolTransactionsResponseDefaultTypeInternal _GetMempoolTransactionsResponse_default_instance_;

inline constexpr GetBlocksResponse::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : blocks_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GetBlocksResponse::GetBlocksResponse(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GetBlocksResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetBlocksResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetBlocksResponseDefaultTypeInternal() {}
  union {
    GetBlocksResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetBlocksResponseDefaultTypeInternal _GetBlocksResponse_default_instance_;
}  // namespace rpc
}  // namespace tari
static ::_pb::Metadata file_level_metadata_base_5fnode_2eproto[55];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_base_5fnode_2eproto[6];
static constexpr const ::_pb::ServiceDescriptor**
    file_level_service_descriptors_base_5fnode_2eproto = nullptr;
const ::uint32_t
    TableStruct_base_5fnode_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataRequest, _impl_.asset_public_key_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.description_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.image_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.owner_commitment_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.mined_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetAssetMetadataResponse, _impl_.mined_in_block_),
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        ~0u,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsRequest, _impl_.offset_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsRequest, _impl_.count_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.asset_public_key_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.unique_id_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.owner_commitment_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.mined_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.mined_in_block_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListAssetRegistrationsResponse, _impl_.script_),
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensRequest, _impl_.asset_public_key_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensRequest, _impl_.unique_ids_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.unique_id_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.asset_public_key_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.owner_commitment_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.mined_in_block_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.mined_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTokensResponse, _impl_.script_),
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        0,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitBlockResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitBlockResponse, _impl_.block_hash_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockBlobRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockBlobRequest, _impl_.header_blob_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockBlobRequest, _impl_.body_blob_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TipInfoResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TipInfoResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TipInfoResponse, _impl_.metadata_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TipInfoResponse, _impl_.initial_sync_achieved_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TipInfoResponse, _impl_.base_node_state_),
        0,
        ~0u,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateResponse, _impl_.new_block_template_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateResponse, _impl_.initial_sync_achieved_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateResponse, _impl_.miner_data_),
        0,
        ~0u,
        1,
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateRequest, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateRequest, _impl_.algo_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockTemplateRequest, _impl_.max_weight_),
        0,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest, _impl_.algo_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest, _impl_.max_weight_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest, _impl_.coinbases_),
        0,
        ~0u,
        ~0u,
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockWithCoinbasesRequest, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockWithCoinbasesRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockWithCoinbasesRequest, _impl_.new_template_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockWithCoinbasesRequest, _impl_.coinbases_),
        0,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockCoinbase, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockCoinbase, _impl_.address_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockCoinbase, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockCoinbase, _impl_.stealth_payment_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockCoinbase, _impl_.revealed_value_proof_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NewBlockCoinbase, _impl_.coinbase_extra_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.difficulty_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.estimated_hash_rate_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.timestamp_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.pow_algo_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.sha3x_estimated_hash_rate_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::NetworkDifficultyResponse, _impl_.randomx_estimated_hash_rate_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ValueAtHeightResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ValueAtHeightResponse, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ValueAtHeightResponse, _impl_.height_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::IntegerValue, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::IntegerValue, _impl_.value_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::StringValue, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::StringValue, _impl_.value_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupRequest, _impl_.from_tip_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupRequest, _impl_.start_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupRequest, _impl_.end_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupRequest, _impl_.calc_type_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupResponse, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockGroupResponse, _impl_.calc_type_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::HeightRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::HeightRequest, _impl_.from_tip_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::HeightRequest, _impl_.start_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::HeightRequest, _impl_.end_height_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockTimingResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockTimingResponse, _impl_.max_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockTimingResponse, _impl_.min_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockTimingResponse, _impl_.avg_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetHeaderByHashRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetHeaderByHashRequest, _impl_.hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _impl_.header_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _impl_.confirmations_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _impl_.reward_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _impl_.difficulty_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockHeaderResponse, _impl_.num_transactions_),
        0,
        ~0u,
        ~0u,
        ~0u,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListHeadersRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListHeadersRequest, _impl_.from_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListHeadersRequest, _impl_.num_headers_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::ListHeadersRequest, _impl_.sorting_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetBlocksRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetBlocksRequest, _impl_.heights_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetBlocksResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetBlocksResponse, _impl_.blocks_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MetaData, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MetaData, _impl_.best_block_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MetaData, _impl_.best_block_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MetaData, _impl_.pruned_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MetaData, _impl_.accumulated_difficulty_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncInfoResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncInfoResponse, _impl_.tip_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncInfoResponse, _impl_.local_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncInfoResponse, _impl_.peer_node_id_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncProgressResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncProgressResponse, _impl_.tip_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncProgressResponse, _impl_.local_height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SyncProgressResponse, _impl_.state_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _impl_.block_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _impl_.block_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _impl_.merge_mining_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _impl_.tari_unique_id_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockResult, _impl_.miner_data_),
        ~0u,
        0,
        ~0u,
        ~0u,
        1,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _impl_.block_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _impl_.header_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _impl_.block_body_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _impl_.merge_mining_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _impl_.utxo_mr_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetNewBlockBlobResult, _impl_.tari_unique_id_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MinerData, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MinerData, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MinerData, _impl_.algo_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MinerData, _impl_.target_difficulty_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MinerData, _impl_.reward_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MinerData, _impl_.total_fees_),
        0,
        ~0u,
        ~0u,
        ~0u,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SearchKernelsRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SearchKernelsRequest, _impl_.signatures_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SearchUtxosRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SearchUtxosRequest, _impl_.commitments_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::FetchMatchingUtxosRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::FetchMatchingUtxosRequest, _impl_.hashes_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::FetchMatchingUtxosResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::FetchMatchingUtxosResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::FetchMatchingUtxosResponse, _impl_.output_),
        0,
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetPeersResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetPeersResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetPeersResponse, _impl_.peer_),
        0,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetPeersRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitTransactionRequest, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitTransactionRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitTransactionRequest, _impl_.transaction_),
        0,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitTransactionResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::SubmitTransactionResponse, _impl_.result_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetMempoolTransactionsRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetMempoolTransactionsResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetMempoolTransactionsResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetMempoolTransactionsResponse, _impl_.transaction_),
        0,
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TransactionStateRequest, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TransactionStateRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TransactionStateRequest, _impl_.excess_sig_),
        0,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TransactionStateResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::TransactionStateResponse, _impl_.result_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MempoolStatsResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MempoolStatsResponse, _impl_.unconfirmed_txs_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MempoolStatsResponse, _impl_.reorg_txs_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::MempoolStatsResponse, _impl_.unconfirmed_weight_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetActiveValidatorNodesRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetActiveValidatorNodesRequest, _impl_.height_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetActiveValidatorNodesResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetActiveValidatorNodesResponse, _impl_.shard_key_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetActiveValidatorNodesResponse, _impl_.public_key_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetShardKeyRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetShardKeyRequest, _impl_.height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetShardKeyRequest, _impl_.public_key_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetShardKeyResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetShardKeyResponse, _impl_.shard_key_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetShardKeyResponse, _impl_.found_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationsRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationsRequest, _impl_.start_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationsRequest, _impl_.count_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationResponse, _impl_.utxo_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetTemplateRegistrationResponse, _impl_.registration_),
        ~0u,
        0,
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockInfo, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockInfo, _impl_.height_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockInfo, _impl_.hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::BlockInfo, _impl_.next_block_hash_),
        ~0u,  // no _has_bits_
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosRequest, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosRequest, _impl_.start_hash_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosRequest, _impl_.count_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosResponse, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosResponse, _internal_metadata_),
        ~0u,  // no _extensions_
        ~0u,  // no _oneof_case_
        ~0u,  // no _weak_field_map_
        ~0u,  // no _inlined_string_donated_
        ~0u,  // no _split_
        ~0u,  // no sizeof(Split)
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosResponse, _impl_.block_info_),
        PROTOBUF_FIELD_OFFSET(::tari::rpc::GetSideChainUtxosResponse, _impl_.outputs_),
        0,
        ~0u,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, -1, -1, sizeof(::tari::rpc::GetAssetMetadataRequest)},
        {9, 24, -1, sizeof(::tari::rpc::GetAssetMetadataResponse)},
        {31, -1, -1, sizeof(::tari::rpc::ListAssetRegistrationsRequest)},
        {41, 56, -1, sizeof(::tari::rpc::ListAssetRegistrationsResponse)},
        {63, -1, -1, sizeof(::tari::rpc::GetTokensRequest)},
        {73, 88, -1, sizeof(::tari::rpc::GetTokensResponse)},
        {95, -1, -1, sizeof(::tari::rpc::SubmitBlockResponse)},
        {104, -1, -1, sizeof(::tari::rpc::BlockBlobRequest)},
        {114, 125, -1, sizeof(::tari::rpc::TipInfoResponse)},
        {128, 139, -1, sizeof(::tari::rpc::NewBlockTemplateResponse)},
        {142, 152, -1, sizeof(::tari::rpc::NewBlockTemplateRequest)},
        {154, 165, -1, sizeof(::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest)},
        {168, 178, -1, sizeof(::tari::rpc::GetNewBlockWithCoinbasesRequest)},
        {180, -1, -1, sizeof(::tari::rpc::NewBlockCoinbase)},
        {193, -1, -1, sizeof(::tari::rpc::NetworkDifficultyResponse)},
        {208, -1, -1, sizeof(::tari::rpc::ValueAtHeightResponse)},
        {218, -1, -1, sizeof(::tari::rpc::IntegerValue)},
        {227, -1, -1, sizeof(::tari::rpc::StringValue)},
        {236, -1, -1, sizeof(::tari::rpc::BlockGroupRequest)},
        {248, -1, -1, sizeof(::tari::rpc::BlockGroupResponse)},
        {258, -1, -1, sizeof(::tari::rpc::HeightRequest)},
        {269, -1, -1, sizeof(::tari::rpc::BlockTimingResponse)},
        {280, -1, -1, sizeof(::tari::rpc::GetHeaderByHashRequest)},
        {289, 302, -1, sizeof(::tari::rpc::BlockHeaderResponse)},
        {307, -1, -1, sizeof(::tari::rpc::ListHeadersRequest)},
        {318, -1, -1, sizeof(::tari::rpc::GetBlocksRequest)},
        {327, -1, -1, sizeof(::tari::rpc::GetBlocksResponse)},
        {336, -1, -1, sizeof(::tari::rpc::MetaData)},
        {348, -1, -1, sizeof(::tari::rpc::SyncInfoResponse)},
        {359, -1, -1, sizeof(::tari::rpc::SyncProgressResponse)},
        {370, 383, -1, sizeof(::tari::rpc::GetNewBlockResult)},
        {388, -1, -1, sizeof(::tari::rpc::GetNewBlockBlobResult)},
        {402, 414, -1, sizeof(::tari::rpc::MinerData)},
        {418, -1, -1, sizeof(::tari::rpc::SearchKernelsRequest)},
        {427, -1, -1, sizeof(::tari::rpc::SearchUtxosRequest)},
        {436, -1, -1, sizeof(::tari::rpc::FetchMatchingUtxosRequest)},
        {445, 454, -1, sizeof(::tari::rpc::FetchMatchingUtxosResponse)},
        {455, 464, -1, sizeof(::tari::rpc::GetPeersResponse)},
        {465, -1, -1, sizeof(::tari::rpc::GetPeersRequest)},
        {473, 482, -1, sizeof(::tari::rpc::SubmitTransactionRequest)},
        {483, -1, -1, sizeof(::tari::rpc::SubmitTransactionResponse)},
        {492, -1, -1, sizeof(::tari::rpc::GetMempoolTransactionsRequest)},
        {500, 509, -1, sizeof(::tari::rpc::GetMempoolTransactionsResponse)},
        {510, 519, -1, sizeof(::tari::rpc::TransactionStateRequest)},
        {520, -1, -1, sizeof(::tari::rpc::TransactionStateResponse)},
        {529, -1, -1, sizeof(::tari::rpc::MempoolStatsResponse)},
        {540, -1, -1, sizeof(::tari::rpc::GetActiveValidatorNodesRequest)},
        {549, -1, -1, sizeof(::tari::rpc::GetActiveValidatorNodesResponse)},
        {559, -1, -1, sizeof(::tari::rpc::GetShardKeyRequest)},
        {569, -1, -1, sizeof(::tari::rpc::GetShardKeyResponse)},
        {579, -1, -1, sizeof(::tari::rpc::GetTemplateRegistrationsRequest)},
        {589, 599, -1, sizeof(::tari::rpc::GetTemplateRegistrationResponse)},
        {601, -1, -1, sizeof(::tari::rpc::BlockInfo)},
        {612, -1, -1, sizeof(::tari::rpc::GetSideChainUtxosRequest)},
        {622, 632, -1, sizeof(::tari::rpc::GetSideChainUtxosResponse)},
};
static const ::_pb::Message* const file_default_instances[] = {
    &::tari::rpc::_GetAssetMetadataRequest_default_instance_._instance,
    &::tari::rpc::_GetAssetMetadataResponse_default_instance_._instance,
    &::tari::rpc::_ListAssetRegistrationsRequest_default_instance_._instance,
    &::tari::rpc::_ListAssetRegistrationsResponse_default_instance_._instance,
    &::tari::rpc::_GetTokensRequest_default_instance_._instance,
    &::tari::rpc::_GetTokensResponse_default_instance_._instance,
    &::tari::rpc::_SubmitBlockResponse_default_instance_._instance,
    &::tari::rpc::_BlockBlobRequest_default_instance_._instance,
    &::tari::rpc::_TipInfoResponse_default_instance_._instance,
    &::tari::rpc::_NewBlockTemplateResponse_default_instance_._instance,
    &::tari::rpc::_NewBlockTemplateRequest_default_instance_._instance,
    &::tari::rpc::_GetNewBlockTemplateWithCoinbasesRequest_default_instance_._instance,
    &::tari::rpc::_GetNewBlockWithCoinbasesRequest_default_instance_._instance,
    &::tari::rpc::_NewBlockCoinbase_default_instance_._instance,
    &::tari::rpc::_NetworkDifficultyResponse_default_instance_._instance,
    &::tari::rpc::_ValueAtHeightResponse_default_instance_._instance,
    &::tari::rpc::_IntegerValue_default_instance_._instance,
    &::tari::rpc::_StringValue_default_instance_._instance,
    &::tari::rpc::_BlockGroupRequest_default_instance_._instance,
    &::tari::rpc::_BlockGroupResponse_default_instance_._instance,
    &::tari::rpc::_HeightRequest_default_instance_._instance,
    &::tari::rpc::_BlockTimingResponse_default_instance_._instance,
    &::tari::rpc::_GetHeaderByHashRequest_default_instance_._instance,
    &::tari::rpc::_BlockHeaderResponse_default_instance_._instance,
    &::tari::rpc::_ListHeadersRequest_default_instance_._instance,
    &::tari::rpc::_GetBlocksRequest_default_instance_._instance,
    &::tari::rpc::_GetBlocksResponse_default_instance_._instance,
    &::tari::rpc::_MetaData_default_instance_._instance,
    &::tari::rpc::_SyncInfoResponse_default_instance_._instance,
    &::tari::rpc::_SyncProgressResponse_default_instance_._instance,
    &::tari::rpc::_GetNewBlockResult_default_instance_._instance,
    &::tari::rpc::_GetNewBlockBlobResult_default_instance_._instance,
    &::tari::rpc::_MinerData_default_instance_._instance,
    &::tari::rpc::_SearchKernelsRequest_default_instance_._instance,
    &::tari::rpc::_SearchUtxosRequest_default_instance_._instance,
    &::tari::rpc::_FetchMatchingUtxosRequest_default_instance_._instance,
    &::tari::rpc::_FetchMatchingUtxosResponse_default_instance_._instance,
    &::tari::rpc::_GetPeersResponse_default_instance_._instance,
    &::tari::rpc::_GetPeersRequest_default_instance_._instance,
    &::tari::rpc::_SubmitTransactionRequest_default_instance_._instance,
    &::tari::rpc::_SubmitTransactionResponse_default_instance_._instance,
    &::tari::rpc::_GetMempoolTransactionsRequest_default_instance_._instance,
    &::tari::rpc::_GetMempoolTransactionsResponse_default_instance_._instance,
    &::tari::rpc::_TransactionStateRequest_default_instance_._instance,
    &::tari::rpc::_TransactionStateResponse_default_instance_._instance,
    &::tari::rpc::_MempoolStatsResponse_default_instance_._instance,
    &::tari::rpc::_GetActiveValidatorNodesRequest_default_instance_._instance,
    &::tari::rpc::_GetActiveValidatorNodesResponse_default_instance_._instance,
    &::tari::rpc::_GetShardKeyRequest_default_instance_._instance,
    &::tari::rpc::_GetShardKeyResponse_default_instance_._instance,
    &::tari::rpc::_GetTemplateRegistrationsRequest_default_instance_._instance,
    &::tari::rpc::_GetTemplateRegistrationResponse_default_instance_._instance,
    &::tari::rpc::_BlockInfo_default_instance_._instance,
    &::tari::rpc::_GetSideChainUtxosRequest_default_instance_._instance,
    &::tari::rpc::_GetSideChainUtxosResponse_default_instance_._instance,
};
const char descriptor_table_protodef_base_5fnode_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n\017base_node.proto\022\010tari.rpc\032\013types.proto"
    "\032\021transaction.proto\032\013block.proto\032\rnetwor"
    "k.proto\032\025sidechain_types.proto\"3\n\027GetAss"
    "etMetadataRequest\022\030\n\020asset_public_key\030\001 "
    "\001(\014\"\300\001\n\030GetAssetMetadataResponse\022\014\n\004name"
    "\030\002 \001(\t\022\023\n\013description\030\003 \001(\t\022\r\n\005image\030\004 \001"
    "(\t\022\030\n\020owner_commitment\030\005 \001(\014\022*\n\010features"
    "\030\006 \001(\0132\030.tari.rpc.OutputFeatures\022\024\n\014mine"
    "d_height\030\007 \001(\004\022\026\n\016mined_in_block\030\010 \001(\014\">"
    "\n\035ListAssetRegistrationsRequest\022\016\n\006offse"
    "t\030\002 \001(\004\022\r\n\005count\030\003 \001(\004\"\321\001\n\036ListAssetRegi"
    "strationsResponse\022\030\n\020asset_public_key\030\001 "
    "\001(\014\022\021\n\tunique_id\030\002 \001(\014\022\030\n\020owner_commitme"
    "nt\030\003 \001(\014\022\024\n\014mined_height\030\004 \001(\004\022\026\n\016mined_"
    "in_block\030\005 \001(\014\022*\n\010features\030\006 \001(\0132\030.tari."
    "rpc.OutputFeatures\022\016\n\006script\030\007 \001(\014\"@\n\020Ge"
    "tTokensRequest\022\030\n\020asset_public_key\030\001 \001(\014"
    "\022\022\n\nunique_ids\030\002 \003(\014\"\304\001\n\021GetTokensRespon"
    "se\022\021\n\tunique_id\030\001 \001(\014\022\030\n\020asset_public_ke"
    "y\030\002 \001(\014\022\030\n\020owner_commitment\030\003 \001(\014\022\026\n\016min"
    "ed_in_block\030\004 \001(\014\022\024\n\014mined_height\030\005 \001(\004\022"
    "*\n\010features\030\006 \001(\0132\030.tari.rpc.OutputFeatu"
    "res\022\016\n\006script\030\007 \001(\014\")\n\023SubmitBlockRespon"
    "se\022\022\n\nblock_hash\030\001 \001(\014\":\n\020BlockBlobReque"
    "st\022\023\n\013header_blob\030\001 \001(\014\022\021\n\tbody_blob\030\002 \001"
    "(\014\"\210\001\n\017TipInfoResponse\022$\n\010metadata\030\001 \001(\013"
    "2\022.tari.rpc.MetaData\022\035\n\025initial_sync_ach"
    "ieved\030\002 \001(\010\0220\n\017base_node_state\030\003 \001(\0162\027.t"
    "ari.rpc.BaseNodeState\"\232\001\n\030NewBlockTempla"
    "teResponse\0226\n\022new_block_template\030\001 \001(\0132\032"
    ".tari.rpc.NewBlockTemplate\022\035\n\025initial_sy"
    "nc_achieved\030\003 \001(\010\022\'\n\nminer_data\030\004 \001(\0132\023."
    "tari.rpc.MinerData\"N\n\027NewBlockTemplateRe"
    "quest\022\037\n\004algo\030\001 \001(\0132\021.tari.rpc.PowAlgo\022\022"
    "\n\nmax_weight\030\002 \001(\004\"\215\001\n\'GetNewBlockTempla"
    "teWithCoinbasesRequest\022\037\n\004algo\030\001 \001(\0132\021.t"
    "ari.rpc.PowAlgo\022\022\n\nmax_weight\030\002 \001(\004\022-\n\tc"
    "oinbases\030\003 \003(\0132\032.tari.rpc.NewBlockCoinba"
    "se\"\202\001\n\037GetNewBlockWithCoinbasesRequest\0220"
    "\n\014new_template\030\001 \001(\0132\032.tari.rpc.NewBlock"
    "Template\022-\n\tcoinbases\030\002 \003(\0132\032.tari.rpc.N"
    "ewBlockCoinbase\"\201\001\n\020NewBlockCoinbase\022\017\n\007"
    "address\030\001 \001(\t\022\r\n\005value\030\002 \001(\004\022\027\n\017stealth_"
    "payment\030\003 \001(\010\022\034\n\024revealed_value_proof\030\004 "
    "\001(\010\022\026\n\016coinbase_extra\030\005 \001(\014\"\311\001\n\031NetworkD"
    "ifficultyResponse\022\022\n\ndifficulty\030\001 \001(\004\022\033\n"
    "\023estimated_hash_rate\030\002 \001(\004\022\016\n\006height\030\003 \001"
    "(\004\022\021\n\ttimestamp\030\004 \001(\004\022\020\n\010pow_algo\030\005 \001(\004\022"
    "!\n\031sha3x_estimated_hash_rate\030\006 \001(\004\022#\n\033ra"
    "ndomx_estimated_hash_rate\030\007 \001(\004\"6\n\025Value"
    "AtHeightResponse\022\r\n\005value\030\001 \001(\004\022\016\n\006heigh"
    "t\030\002 \001(\004\"\035\n\014IntegerValue\022\r\n\005value\030\001 \001(\004\"\034"
    "\n\013StringValue\022\r\n\005value\030\001 \001(\t\"v\n\021BlockGro"
    "upRequest\022\020\n\010from_tip\030\001 \001(\004\022\024\n\014start_hei"
    "ght\030\002 \001(\004\022\022\n\nend_height\030\003 \001(\004\022%\n\tcalc_ty"
    "pe\030\004 \001(\0162\022.tari.rpc.CalcType\"J\n\022BlockGro"
    "upResponse\022\r\n\005value\030\001 \003(\001\022%\n\tcalc_type\030\002"
    " \001(\0162\022.tari.rpc.CalcType\"K\n\rHeightReques"
    "t\022\020\n\010from_tip\030\001 \001(\004\022\024\n\014start_height\030\002 \001("
    "\004\022\022\n\nend_height\030\003 \001(\004\"<\n\023BlockTimingResp"
    "onse\022\013\n\003max\030\001 \001(\004\022\013\n\003min\030\002 \001(\004\022\013\n\003avg\030\003 "
    "\001(\001\"&\n\026GetHeaderByHashRequest\022\014\n\004hash\030\001 "
    "\001(\014\"\221\001\n\023BlockHeaderResponse\022%\n\006header\030\001 "
    "\001(\0132\025.tari.rpc.BlockHeader\022\025\n\rconfirmati"
    "ons\030\002 \001(\004\022\016\n\006reward\030\003 \001(\004\022\022\n\ndifficulty\030"
    "\004 \001(\004\022\030\n\020num_transactions\030\005 \001(\r\"b\n\022ListH"
    "eadersRequest\022\023\n\013from_height\030\001 \001(\004\022\023\n\013nu"
    "m_headers\030\002 \001(\004\022\"\n\007sorting\030\003 \001(\0162\021.tari."
    "rpc.Sorting\"#\n\020GetBlocksRequest\022\017\n\007heigh"
    "ts\030\001 \003(\004\">\n\021GetBlocksResponse\022)\n\006blocks\030"
    "\001 \003(\0132\031.tari.rpc.HistoricalBlock\"u\n\010Meta"
    "Data\022\031\n\021best_block_height\030\001 \001(\004\022\027\n\017best_"
    "block_hash\030\002 \001(\014\022\025\n\rpruned_height\030\006 \001(\004\022"
    "\036\n\026accumulated_difficulty\030\005 \001(\014\"R\n\020SyncI"
    "nfoResponse\022\022\n\ntip_height\030\001 \001(\004\022\024\n\014local"
    "_height\030\002 \001(\004\022\024\n\014peer_node_id\030\003 \003(\014\"d\n\024S"
    "yncProgressResponse\022\022\n\ntip_height\030\001 \001(\004\022"
    "\024\n\014local_height\030\002 \001(\004\022\"\n\005state\030\003 \001(\0162\023.t"
    "ari.rpc.SyncState\"\243\001\n\021GetNewBlockResult\022"
    "\022\n\nblock_hash\030\001 \001(\014\022\036\n\005block\030\002 \001(\0132\017.tar"
    "i.rpc.Block\022\031\n\021merge_mining_hash\030\003 \001(\014\022\026"
    "\n\016tari_unique_id\030\004 \001(\014\022\'\n\nminer_data\030\005 \001"
    "(\0132\023.tari.rpc.MinerData\"\223\001\n\025GetNewBlockB"
    "lobResult\022\022\n\nblock_hash\030\001 \001(\014\022\016\n\006header\030"
    "\002 \001(\014\022\022\n\nblock_body\030\003 \001(\014\022\031\n\021merge_minin"
    "g_hash\030\004 \001(\014\022\017\n\007utxo_mr\030\005 \001(\014\022\026\n\016tari_un"
    "ique_id\030\006 \001(\014\"k\n\tMinerData\022\037\n\004algo\030\001 \001(\013"
    "2\021.tari.rpc.PowAlgo\022\031\n\021target_difficulty"
    "\030\002 \001(\004\022\016\n\006reward\030\003 \001(\004\022\022\n\ntotal_fees\030\005 \001"
    "(\004\"\?\n\024SearchKernelsRequest\022\'\n\nsignatures"
    "\030\001 \003(\0132\023.tari.rpc.Signature\")\n\022SearchUtx"
    "osRequest\022\023\n\013commitments\030\001 \003(\014\"+\n\031FetchM"
    "atchingUtxosRequest\022\016\n\006hashes\030\001 \003(\014\"I\n\032F"
    "etchMatchingUtxosResponse\022+\n\006output\030\001 \001("
    "\0132\033.tari.rpc.TransactionOutput\"0\n\020GetPee"
    "rsResponse\022\034\n\004peer\030\001 \001(\0132\016.tari.rpc.Peer"
    "\"\021\n\017GetPeersRequest\"F\n\030SubmitTransaction"
    "Request\022*\n\013transaction\030\001 \001(\0132\025.tari.rpc."
    "Transaction\"N\n\031SubmitTransactionResponse"
    "\0221\n\006result\030\001 \001(\0162!.tari.rpc.SubmitTransa"
    "ctionResult\"\037\n\035GetMempoolTransactionsReq"
    "uest\"L\n\036GetMempoolTransactionsResponse\022*"
    "\n\013transaction\030\001 \001(\0132\025.tari.rpc.Transacti"
    "on\"B\n\027TransactionStateRequest\022\'\n\nexcess_"
    "sig\030\001 \001(\0132\023.tari.rpc.Signature\"I\n\030Transa"
    "ctionStateResponse\022-\n\006result\030\001 \001(\0162\035.tar"
    "i.rpc.TransactionLocation\"^\n\024MempoolStat"
    "sResponse\022\027\n\017unconfirmed_txs\030\002 \001(\004\022\021\n\tre"
    "org_txs\030\003 \001(\004\022\032\n\022unconfirmed_weight\030\004 \001("
    "\004\"0\n\036GetActiveValidatorNodesRequest\022\016\n\006h"
    "eight\030\001 \001(\004\"H\n\037GetActiveValidatorNodesRe"
    "sponse\022\021\n\tshard_key\030\001 \001(\014\022\022\n\npublic_key\030"
    "\002 \001(\014\"8\n\022GetShardKeyRequest\022\016\n\006height\030\001 "
    "\001(\004\022\022\n\npublic_key\030\002 \001(\014\"7\n\023GetShardKeyRe"
    "sponse\022\021\n\tshard_key\030\001 \001(\014\022\r\n\005found\030\002 \001(\010"
    "\"D\n\037GetTemplateRegistrationsRequest\022\022\n\ns"
    "tart_hash\030\001 \001(\014\022\r\n\005count\030\002 \001(\004\"j\n\037GetTem"
    "plateRegistrationResponse\022\021\n\tutxo_hash\030\001"
    " \001(\014\0224\n\014registration\030\002 \001(\0132\036.tari.rpc.Te"
    "mplateRegistration\"B\n\tBlockInfo\022\016\n\006heigh"
    "t\030\001 \001(\004\022\014\n\004hash\030\002 \001(\014\022\027\n\017next_block_hash"
    "\030\003 \001(\014\"=\n\030GetSideChainUtxosRequest\022\022\n\nst"
    "art_hash\030\001 \001(\014\022\r\n\005count\030\002 \001(\004\"r\n\031GetSide"
    "ChainUtxosResponse\022\'\n\nblock_info\030\001 \001(\0132\023"
    ".tari.rpc.BlockInfo\022,\n\007outputs\030\002 \003(\0132\033.t"
    "ari.rpc.TransactionOutput*\200\001\n\rBaseNodeSt"
    "ate\022\014\n\010START_UP\020\000\022\017\n\013HEADER_SYNC\020\001\022\020\n\014HO"
    "RIZON_SYNC\020\002\022\016\n\nCONNECTING\020\003\022\016\n\nBLOCK_SY"
    "NC\020\004\022\r\n\tLISTENING\020\005\022\017\n\013SYNC_FAILED\020\006*<\n\010"
    "CalcType\022\010\n\004MEAN\020\000\022\n\n\006MEDIAN\020\001\022\014\n\010QUANTI"
    "LE\020\002\022\014\n\010QUARTILE\020\003*,\n\007Sorting\022\020\n\014SORTING"
    "_DESC\020\000\022\017\n\013SORTING_ASC\020\001*b\n\tSyncState\022\013\n"
    "\007STARTUP\020\000\022\023\n\017HEADER_STARTING\020\001\022\n\n\006HEADE"
    "R\020\002\022\022\n\016BLOCK_STARTING\020\003\022\t\n\005BLOCK\020\004\022\010\n\004DO"
    "NE\020\005*t\n\027SubmitTransactionResult\022\010\n\004NONE\020"
    "\000\022\014\n\010ACCEPTED\020\001\022 \n\034NOT_PROCESSABLE_AT_TH"
    "IS_TIME\020\002\022\021\n\rALREADY_MINED\020\003\022\014\n\010REJECTED"
    "\020\004*J\n\023TransactionLocation\022\013\n\007UNKNOWN\020\000\022\013"
    "\n\007MEMPOOL\020\001\022\t\n\005MINED\020\002\022\016\n\nNOT_STORED\020\0032\327"
    "\026\n\010BaseNode\022L\n\013ListHeaders\022\034.tari.rpc.Li"
    "stHeadersRequest\032\035.tari.rpc.BlockHeaderR"
    "esponse0\001\022R\n\017GetHeaderByHash\022 .tari.rpc."
    "GetHeaderByHashRequest\032\035.tari.rpc.BlockH"
    "eaderResponse\022D\n\tGetBlocks\022\032.tari.rpc.Ge"
    "tBlocksRequest\032\031.tari.rpc.HistoricalBloc"
    "k0\001\022H\n\016GetBlockTiming\022\027.tari.rpc.HeightR"
    "equest\032\035.tari.rpc.BlockTimingResponse\022C\n"
    "\014GetConstants\022\025.tari.rpc.BlockHeight\032\034.t"
    "ari.rpc.ConsensusConstants\022I\n\014GetBlockSi"
    "ze\022\033.tari.rpc.BlockGroupRequest\032\034.tari.r"
    "pc.BlockGroupResponse\022I\n\014GetBlockFees\022\033."
    "tari.rpc.BlockGroupRequest\032\034.tari.rpc.Bl"
    "ockGroupResponse\0224\n\nGetVersion\022\017.tari.rp"
    "c.Empty\032\025.tari.rpc.StringValue\022<\n\017CheckF"
    "orUpdates\022\017.tari.rpc.Empty\032\030.tari.rpc.So"
    "ftwareUpdate\022W\n\026GetTokensInCirculation\022\032"
    ".tari.rpc.GetBlocksRequest\032\037.tari.rpc.Va"
    "lueAtHeightResponse0\001\022V\n\024GetNetworkDiffi"
    "culty\022\027.tari.rpc.HeightRequest\032#.tari.rp"
    "c.NetworkDifficultyResponse0\001\022\\\n\023GetNewB"
    "lockTemplate\022!.tari.rpc.NewBlockTemplate"
    "Request\032\".tari.rpc.NewBlockTemplateRespo"
    "nse\022F\n\013GetNewBlock\022\032.tari.rpc.NewBlockTe"
    "mplate\032\033.tari.rpc.GetNewBlockResult\022b\n\030G"
    "etNewBlockWithCoinbases\022).tari.rpc.GetNe"
    "wBlockWithCoinbasesRequest\032\033.tari.rpc.Ge"
    "tNewBlockResult\022r\n GetNewBlockTemplateWi"
    "thCoinbases\0221.tari.rpc.GetNewBlockTempla"
    "teWithCoinbasesRequest\032\033.tari.rpc.GetNew"
    "BlockResult\022N\n\017GetNewBlockBlob\022\032.tari.rp"
    "c.NewBlockTemplate\032\037.tari.rpc.GetNewBloc"
    "kBlobResult\022=\n\013SubmitBlock\022\017.tari.rpc.Bl"
    "ock\032\035.tari.rpc.SubmitBlockResponse\022L\n\017Su"
    "bmitBlockBlob\022\032.tari.rpc.BlockBlobReques"
    "t\032\035.tari.rpc.SubmitBlockResponse\022\\\n\021Subm"
    "itTransaction\022\".tari.rpc.SubmitTransacti"
    "onRequest\032#.tari.rpc.SubmitTransactionRe"
    "sponse\022:\n\013GetSyncInfo\022\017.tari.rpc.Empty\032\032"
    ".tari.rpc.SyncInfoResponse\022B\n\017GetSyncPro"
    "gress\022\017.tari.rpc.Empty\032\036.tari.rpc.SyncPr"
    "ogressResponse\0228\n\nGetTipInfo\022\017.tari.rpc."
    "Empty\032\031.tari.rpc.TipInfoResponse\022L\n\rSear"
    "chKernels\022\036.tari.rpc.SearchKernelsReques"
    "t\032\031.tari.rpc.HistoricalBlock0\001\022H\n\013Search"
    "Utxos\022\034.tari.rpc.SearchUtxosRequest\032\031.ta"
    "ri.rpc.HistoricalBlock0\001\022a\n\022FetchMatchin"
    "gUtxos\022#.tari.rpc.FetchMatchingUtxosRequ"
    "est\032$.tari.rpc.FetchMatchingUtxosRespons"
    "e0\001\022C\n\010GetPeers\022\031.tari.rpc.GetPeersReque"
    "st\032\032.tari.rpc.GetPeersResponse0\001\022m\n\026GetM"
    "empoolTransactions\022\'.tari.rpc.GetMempool"
    "TransactionsRequest\032(.tari.rpc.GetMempoo"
    "lTransactionsResponse0\001\022Y\n\020TransactionSt"
    "ate\022!.tari.rpc.TransactionStateRequest\032\""
    ".tari.rpc.TransactionStateResponse\0223\n\010Id"
    "entify\022\017.tari.rpc.Empty\032\026.tari.rpc.NodeI"
    "dentity\022D\n\020GetNetworkStatus\022\017.tari.rpc.E"
    "mpty\032\037.tari.rpc.NetworkStatusResponse\022K\n"
    "\022ListConnectedPeers\022\017.tari.rpc.Empty\032$.t"
    "ari.rpc.ListConnectedPeersResponse\022B\n\017Ge"
    "tMempoolStats\022\017.tari.rpc.Empty\032\036.tari.rp"
    "c.MempoolStatsResponse\022p\n\027GetActiveValid"
    "atorNodes\022(.tari.rpc.GetActiveValidatorN"
    "odesRequest\032).tari.rpc.GetActiveValidato"
    "rNodesResponse0\001\022J\n\013GetShardKey\022\034.tari.r"
    "pc.GetShardKeyRequest\032\035.tari.rpc.GetShar"
    "dKeyResponse\022r\n\030GetTemplateRegistrations"
    "\022).tari.rpc.GetTemplateRegistrationsRequ"
    "est\032).tari.rpc.GetTemplateRegistrationRe"
    "sponse0\001\022^\n\021GetSideChainUtxos\022\".tari.rpc"
    ".GetSideChainUtxosRequest\032#.tari.rpc.Get"
    "SideChainUtxosResponse0\001b\006proto3"
};
static const ::_pbi::DescriptorTable* const descriptor_table_base_5fnode_2eproto_deps[5] =
    {
        &::descriptor_table_block_2eproto,
        &::descriptor_table_network_2eproto,
        &::descriptor_table_sidechain_5ftypes_2eproto,
        &::descriptor_table_transaction_2eproto,
        &::descriptor_table_types_2eproto,
};
static ::absl::once_flag descriptor_table_base_5fnode_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_base_5fnode_2eproto = {
    false,
    false,
    8472,
    descriptor_table_protodef_base_5fnode_2eproto,
    "base_node.proto",
    &descriptor_table_base_5fnode_2eproto_once,
    descriptor_table_base_5fnode_2eproto_deps,
    5,
    55,
    schemas,
    file_default_instances,
    TableStruct_base_5fnode_2eproto::offsets,
    file_level_metadata_base_5fnode_2eproto,
    file_level_enum_descriptors_base_5fnode_2eproto,
    file_level_service_descriptors_base_5fnode_2eproto,
};

// This function exists to be marked as weak.
// It can significantly speed up compilation by breaking up LLVM's SCC
// in the .pb.cc translation units. Large translation units see a
// reduction of more than 35% of walltime for optimized builds. Without
// the weak attribute all the messages in the file, including all the
// vtables and everything they use become part of the same SCC through
// a cycle like:
// GetMetadata -> descriptor table -> default instances ->
//   vtables -> GetMetadata
// By adding a weak function here we break the connection from the
// individual vtables back into the descriptor table.
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_base_5fnode_2eproto_getter() {
  return &descriptor_table_base_5fnode_2eproto;
}
namespace tari {
namespace rpc {
const ::google::protobuf::EnumDescriptor* BaseNodeState_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_base_5fnode_2eproto);
  return file_level_enum_descriptors_base_5fnode_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t BaseNodeState_internal_data_[] = {
    458752u, 0u, };
bool BaseNodeState_IsValid(int value) {
  return 0 <= value && value <= 6;
}
const ::google::protobuf::EnumDescriptor* CalcType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_base_5fnode_2eproto);
  return file_level_enum_descriptors_base_5fnode_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t CalcType_internal_data_[] = {
    262144u, 0u, };
bool CalcType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* Sorting_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_base_5fnode_2eproto);
  return file_level_enum_descriptors_base_5fnode_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t Sorting_internal_data_[] = {
    131072u, 0u, };
bool Sorting_IsValid(int value) {
  return 0 <= value && value <= 1;
}
const ::google::protobuf::EnumDescriptor* SyncState_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_base_5fnode_2eproto);
  return file_level_enum_descriptors_base_5fnode_2eproto[3];
}
PROTOBUF_CONSTINIT const uint32_t SyncState_internal_data_[] = {
    393216u, 0u, };
bool SyncState_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* SubmitTransactionResult_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_base_5fnode_2eproto);
  return file_level_enum_descriptors_base_5fnode_2eproto[4];
}
PROTOBUF_CONSTINIT const uint32_t SubmitTransactionResult_internal_data_[] = {
    327680u, 0u, };
bool SubmitTransactionResult_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* TransactionLocation_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_base_5fnode_2eproto);
  return file_level_enum_descriptors_base_5fnode_2eproto[5];
}
PROTOBUF_CONSTINIT const uint32_t TransactionLocation_internal_data_[] = {
    262144u, 0u, };
bool TransactionLocation_IsValid(int value) {
  return 0 <= value && value <= 3;
}
// ===================================================================

class GetAssetMetadataRequest::_Internal {
 public:
};

GetAssetMetadataRequest::GetAssetMetadataRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetAssetMetadataRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetAssetMetadataRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : asset_public_key_(arena, from.asset_public_key_),
        _cached_size_{0} {}

GetAssetMetadataRequest::GetAssetMetadataRequest(
    ::google::protobuf::Arena* arena,
    const GetAssetMetadataRequest& from)
    : ::google::protobuf::Message(arena) {
  GetAssetMetadataRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetAssetMetadataRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetAssetMetadataRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : asset_public_key_(arena),
        _cached_size_{0} {}

inline void GetAssetMetadataRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetAssetMetadataRequest::~GetAssetMetadataRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetAssetMetadataRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetAssetMetadataRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.asset_public_key_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetAssetMetadataRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetAssetMetadataRequest, _impl_._cached_size_),
              false,
          },
          &GetAssetMetadataRequest::MergeImpl,
          &GetAssetMetadataRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetAssetMetadataRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetAssetMetadataRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.asset_public_key_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetAssetMetadataRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> GetAssetMetadataRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetAssetMetadataRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetAssetMetadataRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes asset_public_key = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataRequest, _impl_.asset_public_key_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes asset_public_key = 1;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataRequest, _impl_.asset_public_key_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetAssetMetadataRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetAssetMetadataRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes asset_public_key = 1;
  if (!this->_internal_asset_public_key().empty()) {
    const std::string& _s = this->_internal_asset_public_key();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetAssetMetadataRequest)
  return target;
}

::size_t GetAssetMetadataRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetAssetMetadataRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes asset_public_key = 1;
  if (!this->_internal_asset_public_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_asset_public_key());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetAssetMetadataRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetAssetMetadataRequest*>(&to_msg);
  auto& from = static_cast<const GetAssetMetadataRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetAssetMetadataRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_asset_public_key().empty()) {
    _this->_internal_set_asset_public_key(from._internal_asset_public_key());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetAssetMetadataRequest::CopyFrom(const GetAssetMetadataRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetAssetMetadataRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetAssetMetadataRequest::IsInitialized() const {
  return true;
}

void GetAssetMetadataRequest::InternalSwap(GetAssetMetadataRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.asset_public_key_, &other->_impl_.asset_public_key_, arena);
}

::google::protobuf::Metadata GetAssetMetadataRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[0]);
}
// ===================================================================

class GetAssetMetadataResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetAssetMetadataResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_._has_bits_);
};

void GetAssetMetadataResponse::clear_features() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.features_ != nullptr) _impl_.features_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetAssetMetadataResponse::GetAssetMetadataResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetAssetMetadataResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetAssetMetadataResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        description_(arena, from.description_),
        image_(arena, from.image_),
        owner_commitment_(arena, from.owner_commitment_),
        mined_in_block_(arena, from.mined_in_block_) {}

GetAssetMetadataResponse::GetAssetMetadataResponse(
    ::google::protobuf::Arena* arena,
    const GetAssetMetadataResponse& from)
    : ::google::protobuf::Message(arena) {
  GetAssetMetadataResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::OutputFeatures>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.mined_height_ = from._impl_.mined_height_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetAssetMetadataResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetAssetMetadataResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena),
        description_(arena),
        image_(arena),
        owner_commitment_(arena),
        mined_in_block_(arena) {}

inline void GetAssetMetadataResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, mined_height_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::mined_height_));
}
GetAssetMetadataResponse::~GetAssetMetadataResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetAssetMetadataResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetAssetMetadataResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.description_.Destroy();
  _impl_.image_.Destroy();
  _impl_.owner_commitment_.Destroy();
  _impl_.mined_in_block_.Destroy();
  delete _impl_.features_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetAssetMetadataResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_._cached_size_),
              false,
          },
          &GetAssetMetadataResponse::MergeImpl,
          &GetAssetMetadataResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetAssetMetadataResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetAssetMetadataResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _impl_.description_.ClearToEmpty();
  _impl_.image_.ClearToEmpty();
  _impl_.owner_commitment_.ClearToEmpty();
  _impl_.mined_in_block_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  _impl_.mined_height_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetAssetMetadataResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 1, 62, 2> GetAssetMetadataResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967041,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetAssetMetadataResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetAssetMetadataResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes mined_in_block = 8;
    {::_pbi::TcParser::FastBS1,
     {66, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.mined_in_block_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 2;
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.name_)}},
    // string description = 3;
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.description_)}},
    // string image = 4;
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.image_)}},
    // bytes owner_commitment = 5;
    {::_pbi::TcParser::FastBS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.owner_commitment_)}},
    // .tari.rpc.OutputFeatures features = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 0, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.features_)}},
    // uint64 mined_height = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetAssetMetadataResponse, _impl_.mined_height_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.mined_height_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 2;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string description = 3;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.description_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string image = 4;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.image_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bytes owner_commitment = 5;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.owner_commitment_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // .tari.rpc.OutputFeatures features = 6;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint64 mined_height = 7;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.mined_height_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bytes mined_in_block = 8;
    {PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.mined_in_block_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::OutputFeatures>()},
  }}, {{
    "\41\4\13\5\0\0\0\0"
    "tari.rpc.GetAssetMetadataResponse"
    "name"
    "description"
    "image"
  }},
};

::uint8_t* GetAssetMetadataResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetAssetMetadataResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 2;
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "tari.rpc.GetAssetMetadataResponse.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string description = 3;
  if (!this->_internal_description().empty()) {
    const std::string& _s = this->_internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "tari.rpc.GetAssetMetadataResponse.description");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string image = 4;
  if (!this->_internal_image().empty()) {
    const std::string& _s = this->_internal_image();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "tari.rpc.GetAssetMetadataResponse.image");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bytes owner_commitment = 5;
  if (!this->_internal_owner_commitment().empty()) {
    const std::string& _s = this->_internal_owner_commitment();
    target = stream->WriteBytesMaybeAliased(5, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.OutputFeatures features = 6;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *_impl_.features_, _impl_.features_->GetCachedSize(), target, stream);
  }

  // uint64 mined_height = 7;
  if (this->_internal_mined_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        7, this->_internal_mined_height(), target);
  }

  // bytes mined_in_block = 8;
  if (!this->_internal_mined_in_block().empty()) {
    const std::string& _s = this->_internal_mined_in_block();
    target = stream->WriteBytesMaybeAliased(8, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetAssetMetadataResponse)
  return target;
}

::size_t GetAssetMetadataResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetAssetMetadataResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string name = 2;
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string description = 3;
  if (!this->_internal_description().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_description());
  }

  // string image = 4;
  if (!this->_internal_image().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_image());
  }

  // bytes owner_commitment = 5;
  if (!this->_internal_owner_commitment().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_owner_commitment());
  }

  // bytes mined_in_block = 8;
  if (!this->_internal_mined_in_block().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_mined_in_block());
  }

  // .tari.rpc.OutputFeatures features = 6;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.features_);
  }

  // uint64 mined_height = 7;
  if (this->_internal_mined_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_mined_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetAssetMetadataResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetAssetMetadataResponse*>(&to_msg);
  auto& from = static_cast<const GetAssetMetadataResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetAssetMetadataResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_description().empty()) {
    _this->_internal_set_description(from._internal_description());
  }
  if (!from._internal_image().empty()) {
    _this->_internal_set_image(from._internal_image());
  }
  if (!from._internal_owner_commitment().empty()) {
    _this->_internal_set_owner_commitment(from._internal_owner_commitment());
  }
  if (!from._internal_mined_in_block().empty()) {
    _this->_internal_set_mined_in_block(from._internal_mined_in_block());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.features_ != nullptr);
    if (_this->_impl_.features_ == nullptr) {
      _this->_impl_.features_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::OutputFeatures>(arena, *from._impl_.features_);
    } else {
      _this->_impl_.features_->MergeFrom(*from._impl_.features_);
    }
  }
  if (from._internal_mined_height() != 0) {
    _this->_impl_.mined_height_ = from._impl_.mined_height_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetAssetMetadataResponse::CopyFrom(const GetAssetMetadataResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetAssetMetadataResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetAssetMetadataResponse::IsInitialized() const {
  return true;
}

void GetAssetMetadataResponse::InternalSwap(GetAssetMetadataResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.image_, &other->_impl_.image_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.owner_commitment_, &other->_impl_.owner_commitment_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mined_in_block_, &other->_impl_.mined_in_block_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.mined_height_)
      + sizeof(GetAssetMetadataResponse::_impl_.mined_height_)
      - PROTOBUF_FIELD_OFFSET(GetAssetMetadataResponse, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata GetAssetMetadataResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[1]);
}
// ===================================================================

class ListAssetRegistrationsRequest::_Internal {
 public:
};

ListAssetRegistrationsRequest::ListAssetRegistrationsRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.ListAssetRegistrationsRequest)
}
ListAssetRegistrationsRequest::ListAssetRegistrationsRequest(
    ::google::protobuf::Arena* arena, const ListAssetRegistrationsRequest& from)
    : ListAssetRegistrationsRequest(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE ListAssetRegistrationsRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ListAssetRegistrationsRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, offset_),
           0,
           offsetof(Impl_, count_) -
               offsetof(Impl_, offset_) +
               sizeof(Impl_::count_));
}
ListAssetRegistrationsRequest::~ListAssetRegistrationsRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.ListAssetRegistrationsRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ListAssetRegistrationsRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
ListAssetRegistrationsRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_._cached_size_),
              false,
          },
          &ListAssetRegistrationsRequest::MergeImpl,
          &ListAssetRegistrationsRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void ListAssetRegistrationsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.ListAssetRegistrationsRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.offset_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.count_) -
      reinterpret_cast<char*>(&_impl_.offset_)) + sizeof(_impl_.count_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ListAssetRegistrationsRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> ListAssetRegistrationsRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967289,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ListAssetRegistrationsRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::ListAssetRegistrationsRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 offset = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ListAssetRegistrationsRequest, _impl_.offset_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_.offset_)}},
    // uint64 count = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ListAssetRegistrationsRequest, _impl_.count_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_.count_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 offset = 2;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_.offset_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 count = 3;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_.count_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* ListAssetRegistrationsRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.ListAssetRegistrationsRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 offset = 2;
  if (this->_internal_offset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_offset(), target);
  }

  // uint64 count = 3;
  if (this->_internal_count() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_count(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.ListAssetRegistrationsRequest)
  return target;
}

::size_t ListAssetRegistrationsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.ListAssetRegistrationsRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 offset = 2;
  if (this->_internal_offset() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_offset());
  }

  // uint64 count = 3;
  if (this->_internal_count() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_count());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void ListAssetRegistrationsRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ListAssetRegistrationsRequest*>(&to_msg);
  auto& from = static_cast<const ListAssetRegistrationsRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.ListAssetRegistrationsRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_offset() != 0) {
    _this->_impl_.offset_ = from._impl_.offset_;
  }
  if (from._internal_count() != 0) {
    _this->_impl_.count_ = from._impl_.count_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListAssetRegistrationsRequest::CopyFrom(const ListAssetRegistrationsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.ListAssetRegistrationsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ListAssetRegistrationsRequest::IsInitialized() const {
  return true;
}

void ListAssetRegistrationsRequest::InternalSwap(ListAssetRegistrationsRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_.count_)
      + sizeof(ListAssetRegistrationsRequest::_impl_.count_)
      - PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsRequest, _impl_.offset_)>(
          reinterpret_cast<char*>(&_impl_.offset_),
          reinterpret_cast<char*>(&other->_impl_.offset_));
}

::google::protobuf::Metadata ListAssetRegistrationsRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[2]);
}
// ===================================================================

class ListAssetRegistrationsResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<ListAssetRegistrationsResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_._has_bits_);
};

void ListAssetRegistrationsResponse::clear_features() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.features_ != nullptr) _impl_.features_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
ListAssetRegistrationsResponse::ListAssetRegistrationsResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.ListAssetRegistrationsResponse)
}
inline PROTOBUF_NDEBUG_INLINE ListAssetRegistrationsResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        asset_public_key_(arena, from.asset_public_key_),
        unique_id_(arena, from.unique_id_),
        owner_commitment_(arena, from.owner_commitment_),
        mined_in_block_(arena, from.mined_in_block_),
        script_(arena, from.script_) {}

ListAssetRegistrationsResponse::ListAssetRegistrationsResponse(
    ::google::protobuf::Arena* arena,
    const ListAssetRegistrationsResponse& from)
    : ::google::protobuf::Message(arena) {
  ListAssetRegistrationsResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::OutputFeatures>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.mined_height_ = from._impl_.mined_height_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.ListAssetRegistrationsResponse)
}
inline PROTOBUF_NDEBUG_INLINE ListAssetRegistrationsResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        asset_public_key_(arena),
        unique_id_(arena),
        owner_commitment_(arena),
        mined_in_block_(arena),
        script_(arena) {}

inline void ListAssetRegistrationsResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, mined_height_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::mined_height_));
}
ListAssetRegistrationsResponse::~ListAssetRegistrationsResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.ListAssetRegistrationsResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ListAssetRegistrationsResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.asset_public_key_.Destroy();
  _impl_.unique_id_.Destroy();
  _impl_.owner_commitment_.Destroy();
  _impl_.mined_in_block_.Destroy();
  _impl_.script_.Destroy();
  delete _impl_.features_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
ListAssetRegistrationsResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_._cached_size_),
              false,
          },
          &ListAssetRegistrationsResponse::MergeImpl,
          &ListAssetRegistrationsResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void ListAssetRegistrationsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.ListAssetRegistrationsResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.asset_public_key_.ClearToEmpty();
  _impl_.unique_id_.ClearToEmpty();
  _impl_.owner_commitment_.ClearToEmpty();
  _impl_.mined_in_block_.ClearToEmpty();
  _impl_.script_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  _impl_.mined_height_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ListAssetRegistrationsResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 1, 0, 2> ListAssetRegistrationsResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ListAssetRegistrationsResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::ListAssetRegistrationsResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bytes asset_public_key = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.asset_public_key_)}},
    // bytes unique_id = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.unique_id_)}},
    // bytes owner_commitment = 3;
    {::_pbi::TcParser::FastBS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.owner_commitment_)}},
    // uint64 mined_height = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ListAssetRegistrationsResponse, _impl_.mined_height_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.mined_height_)}},
    // bytes mined_in_block = 5;
    {::_pbi::TcParser::FastBS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.mined_in_block_)}},
    // .tari.rpc.OutputFeatures features = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 0, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.features_)}},
    // bytes script = 7;
    {::_pbi::TcParser::FastBS1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.script_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes asset_public_key = 1;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.asset_public_key_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes unique_id = 2;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.unique_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes owner_commitment = 3;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.owner_commitment_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // uint64 mined_height = 4;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.mined_height_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bytes mined_in_block = 5;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.mined_in_block_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // .tari.rpc.OutputFeatures features = 6;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bytes script = 7;
    {PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.script_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::OutputFeatures>()},
  }}, {{
  }},
};

::uint8_t* ListAssetRegistrationsResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.ListAssetRegistrationsResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes asset_public_key = 1;
  if (!this->_internal_asset_public_key().empty()) {
    const std::string& _s = this->_internal_asset_public_key();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // bytes unique_id = 2;
  if (!this->_internal_unique_id().empty()) {
    const std::string& _s = this->_internal_unique_id();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // bytes owner_commitment = 3;
  if (!this->_internal_owner_commitment().empty()) {
    const std::string& _s = this->_internal_owner_commitment();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

  // uint64 mined_height = 4;
  if (this->_internal_mined_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this->_internal_mined_height(), target);
  }

  // bytes mined_in_block = 5;
  if (!this->_internal_mined_in_block().empty()) {
    const std::string& _s = this->_internal_mined_in_block();
    target = stream->WriteBytesMaybeAliased(5, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.OutputFeatures features = 6;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *_impl_.features_, _impl_.features_->GetCachedSize(), target, stream);
  }

  // bytes script = 7;
  if (!this->_internal_script().empty()) {
    const std::string& _s = this->_internal_script();
    target = stream->WriteBytesMaybeAliased(7, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.ListAssetRegistrationsResponse)
  return target;
}

::size_t ListAssetRegistrationsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.ListAssetRegistrationsResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes asset_public_key = 1;
  if (!this->_internal_asset_public_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_asset_public_key());
  }

  // bytes unique_id = 2;
  if (!this->_internal_unique_id().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_unique_id());
  }

  // bytes owner_commitment = 3;
  if (!this->_internal_owner_commitment().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_owner_commitment());
  }

  // bytes mined_in_block = 5;
  if (!this->_internal_mined_in_block().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_mined_in_block());
  }

  // bytes script = 7;
  if (!this->_internal_script().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_script());
  }

  // .tari.rpc.OutputFeatures features = 6;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.features_);
  }

  // uint64 mined_height = 4;
  if (this->_internal_mined_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_mined_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void ListAssetRegistrationsResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ListAssetRegistrationsResponse*>(&to_msg);
  auto& from = static_cast<const ListAssetRegistrationsResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.ListAssetRegistrationsResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_asset_public_key().empty()) {
    _this->_internal_set_asset_public_key(from._internal_asset_public_key());
  }
  if (!from._internal_unique_id().empty()) {
    _this->_internal_set_unique_id(from._internal_unique_id());
  }
  if (!from._internal_owner_commitment().empty()) {
    _this->_internal_set_owner_commitment(from._internal_owner_commitment());
  }
  if (!from._internal_mined_in_block().empty()) {
    _this->_internal_set_mined_in_block(from._internal_mined_in_block());
  }
  if (!from._internal_script().empty()) {
    _this->_internal_set_script(from._internal_script());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.features_ != nullptr);
    if (_this->_impl_.features_ == nullptr) {
      _this->_impl_.features_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::OutputFeatures>(arena, *from._impl_.features_);
    } else {
      _this->_impl_.features_->MergeFrom(*from._impl_.features_);
    }
  }
  if (from._internal_mined_height() != 0) {
    _this->_impl_.mined_height_ = from._impl_.mined_height_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListAssetRegistrationsResponse::CopyFrom(const ListAssetRegistrationsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.ListAssetRegistrationsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ListAssetRegistrationsResponse::IsInitialized() const {
  return true;
}

void ListAssetRegistrationsResponse::InternalSwap(ListAssetRegistrationsResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.asset_public_key_, &other->_impl_.asset_public_key_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.unique_id_, &other->_impl_.unique_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.owner_commitment_, &other->_impl_.owner_commitment_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mined_in_block_, &other->_impl_.mined_in_block_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.script_, &other->_impl_.script_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.mined_height_)
      + sizeof(ListAssetRegistrationsResponse::_impl_.mined_height_)
      - PROTOBUF_FIELD_OFFSET(ListAssetRegistrationsResponse, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata ListAssetRegistrationsResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[3]);
}
// ===================================================================

class GetTokensRequest::_Internal {
 public:
};

GetTokensRequest::GetTokensRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetTokensRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetTokensRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : unique_ids_{visibility, arena, from.unique_ids_},
        asset_public_key_(arena, from.asset_public_key_),
        _cached_size_{0} {}

GetTokensRequest::GetTokensRequest(
    ::google::protobuf::Arena* arena,
    const GetTokensRequest& from)
    : ::google::protobuf::Message(arena) {
  GetTokensRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetTokensRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetTokensRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : unique_ids_{visibility, arena},
        asset_public_key_(arena),
        _cached_size_{0} {}

inline void GetTokensRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetTokensRequest::~GetTokensRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetTokensRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetTokensRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.asset_public_key_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetTokensRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetTokensRequest, _impl_._cached_size_),
              false,
          },
          &GetTokensRequest::MergeImpl,
          &GetTokensRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetTokensRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetTokensRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.unique_ids_.Clear();
  _impl_.asset_public_key_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetTokensRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> GetTokensRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetTokensRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetTokensRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated bytes unique_ids = 2;
    {::_pbi::TcParser::FastBR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensRequest, _impl_.unique_ids_)}},
    // bytes asset_public_key = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensRequest, _impl_.asset_public_key_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes asset_public_key = 1;
    {PROTOBUF_FIELD_OFFSET(GetTokensRequest, _impl_.asset_public_key_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // repeated bytes unique_ids = 2;
    {PROTOBUF_FIELD_OFFSET(GetTokensRequest, _impl_.unique_ids_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetTokensRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetTokensRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes asset_public_key = 1;
  if (!this->_internal_asset_public_key().empty()) {
    const std::string& _s = this->_internal_asset_public_key();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // repeated bytes unique_ids = 2;
  for (int i = 0, n = this->_internal_unique_ids_size(); i < n; ++i) {
    const auto& s = this->_internal_unique_ids().Get(i);
    target = stream->WriteBytes(2, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetTokensRequest)
  return target;
}

::size_t GetTokensRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetTokensRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated bytes unique_ids = 2;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_unique_ids().size());
  for (int i = 0, n = _internal_unique_ids().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        _internal_unique_ids().Get(i));
  }
  // bytes asset_public_key = 1;
  if (!this->_internal_asset_public_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_asset_public_key());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetTokensRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetTokensRequest*>(&to_msg);
  auto& from = static_cast<const GetTokensRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetTokensRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_unique_ids()->MergeFrom(from._internal_unique_ids());
  if (!from._internal_asset_public_key().empty()) {
    _this->_internal_set_asset_public_key(from._internal_asset_public_key());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetTokensRequest::CopyFrom(const GetTokensRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetTokensRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetTokensRequest::IsInitialized() const {
  return true;
}

void GetTokensRequest::InternalSwap(GetTokensRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.unique_ids_.InternalSwap(&other->_impl_.unique_ids_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.asset_public_key_, &other->_impl_.asset_public_key_, arena);
}

::google::protobuf::Metadata GetTokensRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[4]);
}
// ===================================================================

class GetTokensResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTokensResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_._has_bits_);
};

void GetTokensResponse::clear_features() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.features_ != nullptr) _impl_.features_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetTokensResponse::GetTokensResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetTokensResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetTokensResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        unique_id_(arena, from.unique_id_),
        asset_public_key_(arena, from.asset_public_key_),
        owner_commitment_(arena, from.owner_commitment_),
        mined_in_block_(arena, from.mined_in_block_),
        script_(arena, from.script_) {}

GetTokensResponse::GetTokensResponse(
    ::google::protobuf::Arena* arena,
    const GetTokensResponse& from)
    : ::google::protobuf::Message(arena) {
  GetTokensResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::OutputFeatures>(
                              arena, *from._impl_.features_)
                        : nullptr;
  _impl_.mined_height_ = from._impl_.mined_height_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetTokensResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetTokensResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        unique_id_(arena),
        asset_public_key_(arena),
        owner_commitment_(arena),
        mined_in_block_(arena),
        script_(arena) {}

inline void GetTokensResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, mined_height_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::mined_height_));
}
GetTokensResponse::~GetTokensResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetTokensResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetTokensResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.unique_id_.Destroy();
  _impl_.asset_public_key_.Destroy();
  _impl_.owner_commitment_.Destroy();
  _impl_.mined_in_block_.Destroy();
  _impl_.script_.Destroy();
  delete _impl_.features_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetTokensResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_._cached_size_),
              false,
          },
          &GetTokensResponse::MergeImpl,
          &GetTokensResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetTokensResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetTokensResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.unique_id_.ClearToEmpty();
  _impl_.asset_public_key_.ClearToEmpty();
  _impl_.owner_commitment_.ClearToEmpty();
  _impl_.mined_in_block_.ClearToEmpty();
  _impl_.script_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.features_ != nullptr);
    _impl_.features_->Clear();
  }
  _impl_.mined_height_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetTokensResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 1, 0, 2> GetTokensResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetTokensResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetTokensResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bytes unique_id = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.unique_id_)}},
    // bytes asset_public_key = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.asset_public_key_)}},
    // bytes owner_commitment = 3;
    {::_pbi::TcParser::FastBS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.owner_commitment_)}},
    // bytes mined_in_block = 4;
    {::_pbi::TcParser::FastBS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.mined_in_block_)}},
    // uint64 mined_height = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetTokensResponse, _impl_.mined_height_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.mined_height_)}},
    // .tari.rpc.OutputFeatures features = 6;
    {::_pbi::TcParser::FastMtS1,
     {50, 0, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.features_)}},
    // bytes script = 7;
    {::_pbi::TcParser::FastBS1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.script_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes unique_id = 1;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.unique_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes asset_public_key = 2;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.asset_public_key_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes owner_commitment = 3;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.owner_commitment_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes mined_in_block = 4;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.mined_in_block_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // uint64 mined_height = 5;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.mined_height_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // .tari.rpc.OutputFeatures features = 6;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.features_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bytes script = 7;
    {PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.script_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::OutputFeatures>()},
  }}, {{
  }},
};

::uint8_t* GetTokensResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetTokensResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes unique_id = 1;
  if (!this->_internal_unique_id().empty()) {
    const std::string& _s = this->_internal_unique_id();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // bytes asset_public_key = 2;
  if (!this->_internal_asset_public_key().empty()) {
    const std::string& _s = this->_internal_asset_public_key();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // bytes owner_commitment = 3;
  if (!this->_internal_owner_commitment().empty()) {
    const std::string& _s = this->_internal_owner_commitment();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

  // bytes mined_in_block = 4;
  if (!this->_internal_mined_in_block().empty()) {
    const std::string& _s = this->_internal_mined_in_block();
    target = stream->WriteBytesMaybeAliased(4, _s, target);
  }

  // uint64 mined_height = 5;
  if (this->_internal_mined_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this->_internal_mined_height(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.OutputFeatures features = 6;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *_impl_.features_, _impl_.features_->GetCachedSize(), target, stream);
  }

  // bytes script = 7;
  if (!this->_internal_script().empty()) {
    const std::string& _s = this->_internal_script();
    target = stream->WriteBytesMaybeAliased(7, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetTokensResponse)
  return target;
}

::size_t GetTokensResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetTokensResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes unique_id = 1;
  if (!this->_internal_unique_id().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_unique_id());
  }

  // bytes asset_public_key = 2;
  if (!this->_internal_asset_public_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_asset_public_key());
  }

  // bytes owner_commitment = 3;
  if (!this->_internal_owner_commitment().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_owner_commitment());
  }

  // bytes mined_in_block = 4;
  if (!this->_internal_mined_in_block().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_mined_in_block());
  }

  // bytes script = 7;
  if (!this->_internal_script().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_script());
  }

  // .tari.rpc.OutputFeatures features = 6;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.features_);
  }

  // uint64 mined_height = 5;
  if (this->_internal_mined_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_mined_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetTokensResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetTokensResponse*>(&to_msg);
  auto& from = static_cast<const GetTokensResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetTokensResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_unique_id().empty()) {
    _this->_internal_set_unique_id(from._internal_unique_id());
  }
  if (!from._internal_asset_public_key().empty()) {
    _this->_internal_set_asset_public_key(from._internal_asset_public_key());
  }
  if (!from._internal_owner_commitment().empty()) {
    _this->_internal_set_owner_commitment(from._internal_owner_commitment());
  }
  if (!from._internal_mined_in_block().empty()) {
    _this->_internal_set_mined_in_block(from._internal_mined_in_block());
  }
  if (!from._internal_script().empty()) {
    _this->_internal_set_script(from._internal_script());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.features_ != nullptr);
    if (_this->_impl_.features_ == nullptr) {
      _this->_impl_.features_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::OutputFeatures>(arena, *from._impl_.features_);
    } else {
      _this->_impl_.features_->MergeFrom(*from._impl_.features_);
    }
  }
  if (from._internal_mined_height() != 0) {
    _this->_impl_.mined_height_ = from._impl_.mined_height_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetTokensResponse::CopyFrom(const GetTokensResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetTokensResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetTokensResponse::IsInitialized() const {
  return true;
}

void GetTokensResponse::InternalSwap(GetTokensResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.unique_id_, &other->_impl_.unique_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.asset_public_key_, &other->_impl_.asset_public_key_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.owner_commitment_, &other->_impl_.owner_commitment_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mined_in_block_, &other->_impl_.mined_in_block_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.script_, &other->_impl_.script_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.mined_height_)
      + sizeof(GetTokensResponse::_impl_.mined_height_)
      - PROTOBUF_FIELD_OFFSET(GetTokensResponse, _impl_.features_)>(
          reinterpret_cast<char*>(&_impl_.features_),
          reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata GetTokensResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[5]);
}
// ===================================================================

class SubmitBlockResponse::_Internal {
 public:
};

SubmitBlockResponse::SubmitBlockResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SubmitBlockResponse)
}
inline PROTOBUF_NDEBUG_INLINE SubmitBlockResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : block_hash_(arena, from.block_hash_),
        _cached_size_{0} {}

SubmitBlockResponse::SubmitBlockResponse(
    ::google::protobuf::Arena* arena,
    const SubmitBlockResponse& from)
    : ::google::protobuf::Message(arena) {
  SubmitBlockResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.SubmitBlockResponse)
}
inline PROTOBUF_NDEBUG_INLINE SubmitBlockResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : block_hash_(arena),
        _cached_size_{0} {}

inline void SubmitBlockResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SubmitBlockResponse::~SubmitBlockResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.SubmitBlockResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SubmitBlockResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.block_hash_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SubmitBlockResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SubmitBlockResponse, _impl_._cached_size_),
              false,
          },
          &SubmitBlockResponse::MergeImpl,
          &SubmitBlockResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SubmitBlockResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SubmitBlockResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.block_hash_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SubmitBlockResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> SubmitBlockResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SubmitBlockResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SubmitBlockResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes block_hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SubmitBlockResponse, _impl_.block_hash_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes block_hash = 1;
    {PROTOBUF_FIELD_OFFSET(SubmitBlockResponse, _impl_.block_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* SubmitBlockResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SubmitBlockResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes block_hash = 1;
  if (!this->_internal_block_hash().empty()) {
    const std::string& _s = this->_internal_block_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SubmitBlockResponse)
  return target;
}

::size_t SubmitBlockResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SubmitBlockResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes block_hash = 1;
  if (!this->_internal_block_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_block_hash());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SubmitBlockResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SubmitBlockResponse*>(&to_msg);
  auto& from = static_cast<const SubmitBlockResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SubmitBlockResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_block_hash().empty()) {
    _this->_internal_set_block_hash(from._internal_block_hash());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SubmitBlockResponse::CopyFrom(const SubmitBlockResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SubmitBlockResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SubmitBlockResponse::IsInitialized() const {
  return true;
}

void SubmitBlockResponse::InternalSwap(SubmitBlockResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.block_hash_, &other->_impl_.block_hash_, arena);
}

::google::protobuf::Metadata SubmitBlockResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[6]);
}
// ===================================================================

class BlockBlobRequest::_Internal {
 public:
};

BlockBlobRequest::BlockBlobRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.BlockBlobRequest)
}
inline PROTOBUF_NDEBUG_INLINE BlockBlobRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : header_blob_(arena, from.header_blob_),
        body_blob_(arena, from.body_blob_),
        _cached_size_{0} {}

BlockBlobRequest::BlockBlobRequest(
    ::google::protobuf::Arena* arena,
    const BlockBlobRequest& from)
    : ::google::protobuf::Message(arena) {
  BlockBlobRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.BlockBlobRequest)
}
inline PROTOBUF_NDEBUG_INLINE BlockBlobRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : header_blob_(arena),
        body_blob_(arena),
        _cached_size_{0} {}

inline void BlockBlobRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
BlockBlobRequest::~BlockBlobRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.BlockBlobRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BlockBlobRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.header_blob_.Destroy();
  _impl_.body_blob_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
BlockBlobRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(BlockBlobRequest, _impl_._cached_size_),
              false,
          },
          &BlockBlobRequest::MergeImpl,
          &BlockBlobRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void BlockBlobRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.BlockBlobRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.header_blob_.ClearToEmpty();
  _impl_.body_blob_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BlockBlobRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> BlockBlobRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_BlockBlobRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::BlockBlobRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes body_blob = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(BlockBlobRequest, _impl_.body_blob_)}},
    // bytes header_blob = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(BlockBlobRequest, _impl_.header_blob_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes header_blob = 1;
    {PROTOBUF_FIELD_OFFSET(BlockBlobRequest, _impl_.header_blob_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes body_blob = 2;
    {PROTOBUF_FIELD_OFFSET(BlockBlobRequest, _impl_.body_blob_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* BlockBlobRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.BlockBlobRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes header_blob = 1;
  if (!this->_internal_header_blob().empty()) {
    const std::string& _s = this->_internal_header_blob();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // bytes body_blob = 2;
  if (!this->_internal_body_blob().empty()) {
    const std::string& _s = this->_internal_body_blob();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.BlockBlobRequest)
  return target;
}

::size_t BlockBlobRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.BlockBlobRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes header_blob = 1;
  if (!this->_internal_header_blob().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_header_blob());
  }

  // bytes body_blob = 2;
  if (!this->_internal_body_blob().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_body_blob());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void BlockBlobRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<BlockBlobRequest*>(&to_msg);
  auto& from = static_cast<const BlockBlobRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.BlockBlobRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_header_blob().empty()) {
    _this->_internal_set_header_blob(from._internal_header_blob());
  }
  if (!from._internal_body_blob().empty()) {
    _this->_internal_set_body_blob(from._internal_body_blob());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockBlobRequest::CopyFrom(const BlockBlobRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.BlockBlobRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool BlockBlobRequest::IsInitialized() const {
  return true;
}

void BlockBlobRequest::InternalSwap(BlockBlobRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.header_blob_, &other->_impl_.header_blob_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.body_blob_, &other->_impl_.body_blob_, arena);
}

::google::protobuf::Metadata BlockBlobRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[7]);
}
// ===================================================================

class TipInfoResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<TipInfoResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_._has_bits_);
};

TipInfoResponse::TipInfoResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.TipInfoResponse)
}
inline PROTOBUF_NDEBUG_INLINE TipInfoResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

TipInfoResponse::TipInfoResponse(
    ::google::protobuf::Arena* arena,
    const TipInfoResponse& from)
    : ::google::protobuf::Message(arena) {
  TipInfoResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.metadata_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::MetaData>(
                              arena, *from._impl_.metadata_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, initial_sync_achieved_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, initial_sync_achieved_),
           offsetof(Impl_, base_node_state_) -
               offsetof(Impl_, initial_sync_achieved_) +
               sizeof(Impl_::base_node_state_));

  // @@protoc_insertion_point(copy_constructor:tari.rpc.TipInfoResponse)
}
inline PROTOBUF_NDEBUG_INLINE TipInfoResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void TipInfoResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, metadata_),
           0,
           offsetof(Impl_, base_node_state_) -
               offsetof(Impl_, metadata_) +
               sizeof(Impl_::base_node_state_));
}
TipInfoResponse::~TipInfoResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.TipInfoResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TipInfoResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.metadata_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
TipInfoResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_._cached_size_),
              false,
          },
          &TipInfoResponse::MergeImpl,
          &TipInfoResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void TipInfoResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.TipInfoResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.metadata_ != nullptr);
    _impl_.metadata_->Clear();
  }
  ::memset(&_impl_.initial_sync_achieved_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.base_node_state_) -
      reinterpret_cast<char*>(&_impl_.initial_sync_achieved_)) + sizeof(_impl_.base_node_state_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TipInfoResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> TipInfoResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TipInfoResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::TipInfoResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .tari.rpc.MetaData metadata = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.metadata_)}},
    // bool initial_sync_achieved = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TipInfoResponse, _impl_.initial_sync_achieved_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.initial_sync_achieved_)}},
    // .tari.rpc.BaseNodeState base_node_state = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TipInfoResponse, _impl_.base_node_state_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.base_node_state_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.MetaData metadata = 1;
    {PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.metadata_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool initial_sync_achieved = 2;
    {PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.initial_sync_achieved_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .tari.rpc.BaseNodeState base_node_state = 3;
    {PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.base_node_state_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::MetaData>()},
  }}, {{
  }},
};

::uint8_t* TipInfoResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.TipInfoResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.MetaData metadata = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.metadata_, _impl_.metadata_->GetCachedSize(), target, stream);
  }

  // bool initial_sync_achieved = 2;
  if (this->_internal_initial_sync_achieved() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_initial_sync_achieved(), target);
  }

  // .tari.rpc.BaseNodeState base_node_state = 3;
  if (this->_internal_base_node_state() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_base_node_state(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.TipInfoResponse)
  return target;
}

::size_t TipInfoResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.TipInfoResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.MetaData metadata = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.metadata_);
  }

  // bool initial_sync_achieved = 2;
  if (this->_internal_initial_sync_achieved() != 0) {
    total_size += 2;
  }

  // .tari.rpc.BaseNodeState base_node_state = 3;
  if (this->_internal_base_node_state() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_base_node_state());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void TipInfoResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TipInfoResponse*>(&to_msg);
  auto& from = static_cast<const TipInfoResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.TipInfoResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.metadata_ != nullptr);
    if (_this->_impl_.metadata_ == nullptr) {
      _this->_impl_.metadata_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::MetaData>(arena, *from._impl_.metadata_);
    } else {
      _this->_impl_.metadata_->MergeFrom(*from._impl_.metadata_);
    }
  }
  if (from._internal_initial_sync_achieved() != 0) {
    _this->_impl_.initial_sync_achieved_ = from._impl_.initial_sync_achieved_;
  }
  if (from._internal_base_node_state() != 0) {
    _this->_impl_.base_node_state_ = from._impl_.base_node_state_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TipInfoResponse::CopyFrom(const TipInfoResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.TipInfoResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool TipInfoResponse::IsInitialized() const {
  return true;
}

void TipInfoResponse::InternalSwap(TipInfoResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.base_node_state_)
      + sizeof(TipInfoResponse::_impl_.base_node_state_)
      - PROTOBUF_FIELD_OFFSET(TipInfoResponse, _impl_.metadata_)>(
          reinterpret_cast<char*>(&_impl_.metadata_),
          reinterpret_cast<char*>(&other->_impl_.metadata_));
}

::google::protobuf::Metadata TipInfoResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[8]);
}
// ===================================================================

class NewBlockTemplateResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<NewBlockTemplateResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_._has_bits_);
};

void NewBlockTemplateResponse::clear_new_block_template() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.new_block_template_ != nullptr) _impl_.new_block_template_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
NewBlockTemplateResponse::NewBlockTemplateResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.NewBlockTemplateResponse)
}
inline PROTOBUF_NDEBUG_INLINE NewBlockTemplateResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

NewBlockTemplateResponse::NewBlockTemplateResponse(
    ::google::protobuf::Arena* arena,
    const NewBlockTemplateResponse& from)
    : ::google::protobuf::Message(arena) {
  NewBlockTemplateResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.new_block_template_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::NewBlockTemplate>(
                              arena, *from._impl_.new_block_template_)
                        : nullptr;
  _impl_.miner_data_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::MinerData>(
                              arena, *from._impl_.miner_data_)
                        : nullptr;
  _impl_.initial_sync_achieved_ = from._impl_.initial_sync_achieved_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.NewBlockTemplateResponse)
}
inline PROTOBUF_NDEBUG_INLINE NewBlockTemplateResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void NewBlockTemplateResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, new_block_template_),
           0,
           offsetof(Impl_, initial_sync_achieved_) -
               offsetof(Impl_, new_block_template_) +
               sizeof(Impl_::initial_sync_achieved_));
}
NewBlockTemplateResponse::~NewBlockTemplateResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.NewBlockTemplateResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NewBlockTemplateResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.new_block_template_;
  delete _impl_.miner_data_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
NewBlockTemplateResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_._cached_size_),
              false,
          },
          &NewBlockTemplateResponse::MergeImpl,
          &NewBlockTemplateResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void NewBlockTemplateResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.NewBlockTemplateResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.new_block_template_ != nullptr);
      _impl_.new_block_template_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.miner_data_ != nullptr);
      _impl_.miner_data_->Clear();
    }
  }
  _impl_.initial_sync_achieved_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NewBlockTemplateResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> NewBlockTemplateResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967282,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_NewBlockTemplateResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::NewBlockTemplateResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.MinerData miner_data = 4;
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.miner_data_)}},
    // .tari.rpc.NewBlockTemplate new_block_template = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.new_block_template_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // bool initial_sync_achieved = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(NewBlockTemplateResponse, _impl_.initial_sync_achieved_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.initial_sync_achieved_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.NewBlockTemplate new_block_template = 1;
    {PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.new_block_template_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool initial_sync_achieved = 3;
    {PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.initial_sync_achieved_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .tari.rpc.MinerData miner_data = 4;
    {PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.miner_data_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::NewBlockTemplate>()},
    {::_pbi::TcParser::GetTable<::tari::rpc::MinerData>()},
  }}, {{
  }},
};

::uint8_t* NewBlockTemplateResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.NewBlockTemplateResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.NewBlockTemplate new_block_template = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.new_block_template_, _impl_.new_block_template_->GetCachedSize(), target, stream);
  }

  // bool initial_sync_achieved = 3;
  if (this->_internal_initial_sync_achieved() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_initial_sync_achieved(), target);
  }

  // .tari.rpc.MinerData miner_data = 4;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *_impl_.miner_data_, _impl_.miner_data_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.NewBlockTemplateResponse)
  return target;
}

::size_t NewBlockTemplateResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.NewBlockTemplateResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .tari.rpc.NewBlockTemplate new_block_template = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.new_block_template_);
    }

    // .tari.rpc.MinerData miner_data = 4;
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.miner_data_);
    }

  }
  // bool initial_sync_achieved = 3;
  if (this->_internal_initial_sync_achieved() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void NewBlockTemplateResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<NewBlockTemplateResponse*>(&to_msg);
  auto& from = static_cast<const NewBlockTemplateResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.NewBlockTemplateResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.new_block_template_ != nullptr);
      if (_this->_impl_.new_block_template_ == nullptr) {
        _this->_impl_.new_block_template_ =
            ::google::protobuf::Message::CopyConstruct<::tari::rpc::NewBlockTemplate>(arena, *from._impl_.new_block_template_);
      } else {
        _this->_impl_.new_block_template_->MergeFrom(*from._impl_.new_block_template_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.miner_data_ != nullptr);
      if (_this->_impl_.miner_data_ == nullptr) {
        _this->_impl_.miner_data_ =
            ::google::protobuf::Message::CopyConstruct<::tari::rpc::MinerData>(arena, *from._impl_.miner_data_);
      } else {
        _this->_impl_.miner_data_->MergeFrom(*from._impl_.miner_data_);
      }
    }
  }
  if (from._internal_initial_sync_achieved() != 0) {
    _this->_impl_.initial_sync_achieved_ = from._impl_.initial_sync_achieved_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void NewBlockTemplateResponse::CopyFrom(const NewBlockTemplateResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.NewBlockTemplateResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool NewBlockTemplateResponse::IsInitialized() const {
  return true;
}

void NewBlockTemplateResponse::InternalSwap(NewBlockTemplateResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.initial_sync_achieved_)
      + sizeof(NewBlockTemplateResponse::_impl_.initial_sync_achieved_)
      - PROTOBUF_FIELD_OFFSET(NewBlockTemplateResponse, _impl_.new_block_template_)>(
          reinterpret_cast<char*>(&_impl_.new_block_template_),
          reinterpret_cast<char*>(&other->_impl_.new_block_template_));
}

::google::protobuf::Metadata NewBlockTemplateResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[9]);
}
// ===================================================================

class NewBlockTemplateRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<NewBlockTemplateRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_._has_bits_);
};

void NewBlockTemplateRequest::clear_algo() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.algo_ != nullptr) _impl_.algo_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
NewBlockTemplateRequest::NewBlockTemplateRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.NewBlockTemplateRequest)
}
inline PROTOBUF_NDEBUG_INLINE NewBlockTemplateRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

NewBlockTemplateRequest::NewBlockTemplateRequest(
    ::google::protobuf::Arena* arena,
    const NewBlockTemplateRequest& from)
    : ::google::protobuf::Message(arena) {
  NewBlockTemplateRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.algo_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::PowAlgo>(
                              arena, *from._impl_.algo_)
                        : nullptr;
  _impl_.max_weight_ = from._impl_.max_weight_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.NewBlockTemplateRequest)
}
inline PROTOBUF_NDEBUG_INLINE NewBlockTemplateRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void NewBlockTemplateRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, algo_),
           0,
           offsetof(Impl_, max_weight_) -
               offsetof(Impl_, algo_) +
               sizeof(Impl_::max_weight_));
}
NewBlockTemplateRequest::~NewBlockTemplateRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.NewBlockTemplateRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NewBlockTemplateRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.algo_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
NewBlockTemplateRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_._cached_size_),
              false,
          },
          &NewBlockTemplateRequest::MergeImpl,
          &NewBlockTemplateRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void NewBlockTemplateRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.NewBlockTemplateRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.algo_ != nullptr);
    _impl_.algo_->Clear();
  }
  _impl_.max_weight_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NewBlockTemplateRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> NewBlockTemplateRequest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_NewBlockTemplateRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::NewBlockTemplateRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 max_weight = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NewBlockTemplateRequest, _impl_.max_weight_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_.max_weight_)}},
    // .tari.rpc.PowAlgo algo = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_.algo_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.PowAlgo algo = 1;
    {PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_.algo_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint64 max_weight = 2;
    {PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_.max_weight_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::PowAlgo>()},
  }}, {{
  }},
};

::uint8_t* NewBlockTemplateRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.NewBlockTemplateRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.PowAlgo algo = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.algo_, _impl_.algo_->GetCachedSize(), target, stream);
  }

  // uint64 max_weight = 2;
  if (this->_internal_max_weight() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_max_weight(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.NewBlockTemplateRequest)
  return target;
}

::size_t NewBlockTemplateRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.NewBlockTemplateRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.PowAlgo algo = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.algo_);
  }

  // uint64 max_weight = 2;
  if (this->_internal_max_weight() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_max_weight());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void NewBlockTemplateRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<NewBlockTemplateRequest*>(&to_msg);
  auto& from = static_cast<const NewBlockTemplateRequest&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.NewBlockTemplateRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.algo_ != nullptr);
    if (_this->_impl_.algo_ == nullptr) {
      _this->_impl_.algo_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::PowAlgo>(arena, *from._impl_.algo_);
    } else {
      _this->_impl_.algo_->MergeFrom(*from._impl_.algo_);
    }
  }
  if (from._internal_max_weight() != 0) {
    _this->_impl_.max_weight_ = from._impl_.max_weight_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void NewBlockTemplateRequest::CopyFrom(const NewBlockTemplateRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.NewBlockTemplateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool NewBlockTemplateRequest::IsInitialized() const {
  return true;
}

void NewBlockTemplateRequest::InternalSwap(NewBlockTemplateRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_.max_weight_)
      + sizeof(NewBlockTemplateRequest::_impl_.max_weight_)
      - PROTOBUF_FIELD_OFFSET(NewBlockTemplateRequest, _impl_.algo_)>(
          reinterpret_cast<char*>(&_impl_.algo_),
          reinterpret_cast<char*>(&other->_impl_.algo_));
}

::google::protobuf::Metadata NewBlockTemplateRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[10]);
}
// ===================================================================

class GetNewBlockTemplateWithCoinbasesRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetNewBlockTemplateWithCoinbasesRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_._has_bits_);
};

void GetNewBlockTemplateWithCoinbasesRequest::clear_algo() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.algo_ != nullptr) _impl_.algo_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetNewBlockTemplateWithCoinbasesRequest::GetNewBlockTemplateWithCoinbasesRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockTemplateWithCoinbasesRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        coinbases_{visibility, arena, from.coinbases_} {}

GetNewBlockTemplateWithCoinbasesRequest::GetNewBlockTemplateWithCoinbasesRequest(
    ::google::protobuf::Arena* arena,
    const GetNewBlockTemplateWithCoinbasesRequest& from)
    : ::google::protobuf::Message(arena) {
  GetNewBlockTemplateWithCoinbasesRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.algo_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::PowAlgo>(
                              arena, *from._impl_.algo_)
                        : nullptr;
  _impl_.max_weight_ = from._impl_.max_weight_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockTemplateWithCoinbasesRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        coinbases_{visibility, arena} {}

inline void GetNewBlockTemplateWithCoinbasesRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, algo_),
           0,
           offsetof(Impl_, max_weight_) -
               offsetof(Impl_, algo_) +
               sizeof(Impl_::max_weight_));
}
GetNewBlockTemplateWithCoinbasesRequest::~GetNewBlockTemplateWithCoinbasesRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetNewBlockTemplateWithCoinbasesRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.algo_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetNewBlockTemplateWithCoinbasesRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_._cached_size_),
              false,
          },
          &GetNewBlockTemplateWithCoinbasesRequest::MergeImpl,
          &GetNewBlockTemplateWithCoinbasesRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetNewBlockTemplateWithCoinbasesRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.coinbases_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.algo_ != nullptr);
    _impl_.algo_->Clear();
  }
  _impl_.max_weight_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetNewBlockTemplateWithCoinbasesRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> GetNewBlockTemplateWithCoinbasesRequest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetNewBlockTemplateWithCoinbasesRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetNewBlockTemplateWithCoinbasesRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .tari.rpc.PowAlgo algo = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.algo_)}},
    // uint64 max_weight = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetNewBlockTemplateWithCoinbasesRequest, _impl_.max_weight_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.max_weight_)}},
    // repeated .tari.rpc.NewBlockCoinbase coinbases = 3;
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.coinbases_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.PowAlgo algo = 1;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.algo_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint64 max_weight = 2;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.max_weight_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // repeated .tari.rpc.NewBlockCoinbase coinbases = 3;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.coinbases_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::PowAlgo>()},
    {::_pbi::TcParser::GetTable<::tari::rpc::NewBlockCoinbase>()},
  }}, {{
  }},
};

::uint8_t* GetNewBlockTemplateWithCoinbasesRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.PowAlgo algo = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.algo_, _impl_.algo_->GetCachedSize(), target, stream);
  }

  // uint64 max_weight = 2;
  if (this->_internal_max_weight() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_max_weight(), target);
  }

  // repeated .tari.rpc.NewBlockCoinbase coinbases = 3;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_coinbases_size());
       i < n; i++) {
    const auto& repfield = this->_internal_coinbases().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            3, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  return target;
}

::size_t GetNewBlockTemplateWithCoinbasesRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .tari.rpc.NewBlockCoinbase coinbases = 3;
  total_size += 1UL * this->_internal_coinbases_size();
  for (const auto& msg : this->_internal_coinbases()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .tari.rpc.PowAlgo algo = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.algo_);
  }

  // uint64 max_weight = 2;
  if (this->_internal_max_weight() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_max_weight());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetNewBlockTemplateWithCoinbasesRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetNewBlockTemplateWithCoinbasesRequest*>(&to_msg);
  auto& from = static_cast<const GetNewBlockTemplateWithCoinbasesRequest&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_coinbases()->MergeFrom(
      from._internal_coinbases());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.algo_ != nullptr);
    if (_this->_impl_.algo_ == nullptr) {
      _this->_impl_.algo_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::PowAlgo>(arena, *from._impl_.algo_);
    } else {
      _this->_impl_.algo_->MergeFrom(*from._impl_.algo_);
    }
  }
  if (from._internal_max_weight() != 0) {
    _this->_impl_.max_weight_ = from._impl_.max_weight_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetNewBlockTemplateWithCoinbasesRequest::CopyFrom(const GetNewBlockTemplateWithCoinbasesRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetNewBlockTemplateWithCoinbasesRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetNewBlockTemplateWithCoinbasesRequest::IsInitialized() const {
  return true;
}

void GetNewBlockTemplateWithCoinbasesRequest::InternalSwap(GetNewBlockTemplateWithCoinbasesRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.coinbases_.InternalSwap(&other->_impl_.coinbases_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.max_weight_)
      + sizeof(GetNewBlockTemplateWithCoinbasesRequest::_impl_.max_weight_)
      - PROTOBUF_FIELD_OFFSET(GetNewBlockTemplateWithCoinbasesRequest, _impl_.algo_)>(
          reinterpret_cast<char*>(&_impl_.algo_),
          reinterpret_cast<char*>(&other->_impl_.algo_));
}

::google::protobuf::Metadata GetNewBlockTemplateWithCoinbasesRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[11]);
}
// ===================================================================

class GetNewBlockWithCoinbasesRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetNewBlockWithCoinbasesRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_._has_bits_);
};

void GetNewBlockWithCoinbasesRequest::clear_new_template() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.new_template_ != nullptr) _impl_.new_template_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetNewBlockWithCoinbasesRequest::GetNewBlockWithCoinbasesRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetNewBlockWithCoinbasesRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockWithCoinbasesRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        coinbases_{visibility, arena, from.coinbases_} {}

GetNewBlockWithCoinbasesRequest::GetNewBlockWithCoinbasesRequest(
    ::google::protobuf::Arena* arena,
    const GetNewBlockWithCoinbasesRequest& from)
    : ::google::protobuf::Message(arena) {
  GetNewBlockWithCoinbasesRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.new_template_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::NewBlockTemplate>(
                              arena, *from._impl_.new_template_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetNewBlockWithCoinbasesRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockWithCoinbasesRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        coinbases_{visibility, arena} {}

inline void GetNewBlockWithCoinbasesRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.new_template_ = {};
}
GetNewBlockWithCoinbasesRequest::~GetNewBlockWithCoinbasesRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetNewBlockWithCoinbasesRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetNewBlockWithCoinbasesRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.new_template_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetNewBlockWithCoinbasesRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_._cached_size_),
              false,
          },
          &GetNewBlockWithCoinbasesRequest::MergeImpl,
          &GetNewBlockWithCoinbasesRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetNewBlockWithCoinbasesRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetNewBlockWithCoinbasesRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.coinbases_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.new_template_ != nullptr);
    _impl_.new_template_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetNewBlockWithCoinbasesRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> GetNewBlockWithCoinbasesRequest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetNewBlockWithCoinbasesRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetNewBlockWithCoinbasesRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .tari.rpc.NewBlockCoinbase coinbases = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_.coinbases_)}},
    // .tari.rpc.NewBlockTemplate new_template = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_.new_template_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.NewBlockTemplate new_template = 1;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_.new_template_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .tari.rpc.NewBlockCoinbase coinbases = 2;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockWithCoinbasesRequest, _impl_.coinbases_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::NewBlockTemplate>()},
    {::_pbi::TcParser::GetTable<::tari::rpc::NewBlockCoinbase>()},
  }}, {{
  }},
};

::uint8_t* GetNewBlockWithCoinbasesRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetNewBlockWithCoinbasesRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.NewBlockTemplate new_template = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.new_template_, _impl_.new_template_->GetCachedSize(), target, stream);
  }

  // repeated .tari.rpc.NewBlockCoinbase coinbases = 2;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_coinbases_size());
       i < n; i++) {
    const auto& repfield = this->_internal_coinbases().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            2, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetNewBlockWithCoinbasesRequest)
  return target;
}

::size_t GetNewBlockWithCoinbasesRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetNewBlockWithCoinbasesRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .tari.rpc.NewBlockCoinbase coinbases = 2;
  total_size += 1UL * this->_internal_coinbases_size();
  for (const auto& msg : this->_internal_coinbases()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .tari.rpc.NewBlockTemplate new_template = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.new_template_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetNewBlockWithCoinbasesRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetNewBlockWithCoinbasesRequest*>(&to_msg);
  auto& from = static_cast<const GetNewBlockWithCoinbasesRequest&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetNewBlockWithCoinbasesRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_coinbases()->MergeFrom(
      from._internal_coinbases());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.new_template_ != nullptr);
    if (_this->_impl_.new_template_ == nullptr) {
      _this->_impl_.new_template_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::NewBlockTemplate>(arena, *from._impl_.new_template_);
    } else {
      _this->_impl_.new_template_->MergeFrom(*from._impl_.new_template_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetNewBlockWithCoinbasesRequest::CopyFrom(const GetNewBlockWithCoinbasesRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetNewBlockWithCoinbasesRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetNewBlockWithCoinbasesRequest::IsInitialized() const {
  return true;
}

void GetNewBlockWithCoinbasesRequest::InternalSwap(GetNewBlockWithCoinbasesRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.coinbases_.InternalSwap(&other->_impl_.coinbases_);
  swap(_impl_.new_template_, other->_impl_.new_template_);
}

::google::protobuf::Metadata GetNewBlockWithCoinbasesRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[12]);
}
// ===================================================================

class NewBlockCoinbase::_Internal {
 public:
};

NewBlockCoinbase::NewBlockCoinbase(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.NewBlockCoinbase)
}
inline PROTOBUF_NDEBUG_INLINE NewBlockCoinbase::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : address_(arena, from.address_),
        coinbase_extra_(arena, from.coinbase_extra_),
        _cached_size_{0} {}

NewBlockCoinbase::NewBlockCoinbase(
    ::google::protobuf::Arena* arena,
    const NewBlockCoinbase& from)
    : ::google::protobuf::Message(arena) {
  NewBlockCoinbase* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, value_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, value_),
           offsetof(Impl_, revealed_value_proof_) -
               offsetof(Impl_, value_) +
               sizeof(Impl_::revealed_value_proof_));

  // @@protoc_insertion_point(copy_constructor:tari.rpc.NewBlockCoinbase)
}
inline PROTOBUF_NDEBUG_INLINE NewBlockCoinbase::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : address_(arena),
        coinbase_extra_(arena),
        _cached_size_{0} {}

inline void NewBlockCoinbase::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, value_),
           0,
           offsetof(Impl_, revealed_value_proof_) -
               offsetof(Impl_, value_) +
               sizeof(Impl_::revealed_value_proof_));
}
NewBlockCoinbase::~NewBlockCoinbase() {
  // @@protoc_insertion_point(destructor:tari.rpc.NewBlockCoinbase)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NewBlockCoinbase::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.address_.Destroy();
  _impl_.coinbase_extra_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
NewBlockCoinbase::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_._cached_size_),
              false,
          },
          &NewBlockCoinbase::MergeImpl,
          &NewBlockCoinbase::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void NewBlockCoinbase::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.NewBlockCoinbase)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.address_.ClearToEmpty();
  _impl_.coinbase_extra_.ClearToEmpty();
  ::memset(&_impl_.value_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.revealed_value_proof_) -
      reinterpret_cast<char*>(&_impl_.value_)) + sizeof(_impl_.revealed_value_proof_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NewBlockCoinbase::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 0, 41, 2> NewBlockCoinbase::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_NewBlockCoinbase_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::NewBlockCoinbase>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string address = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.address_)}},
    // uint64 value = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NewBlockCoinbase, _impl_.value_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.value_)}},
    // bool stealth_payment = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(NewBlockCoinbase, _impl_.stealth_payment_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.stealth_payment_)}},
    // bool revealed_value_proof = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(NewBlockCoinbase, _impl_.revealed_value_proof_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.revealed_value_proof_)}},
    // bytes coinbase_extra = 5;
    {::_pbi::TcParser::FastBS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.coinbase_extra_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string address = 1;
    {PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.address_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint64 value = 2;
    {PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.value_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bool stealth_payment = 3;
    {PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.stealth_payment_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool revealed_value_proof = 4;
    {PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.revealed_value_proof_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bytes coinbase_extra = 5;
    {PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.coinbase_extra_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\31\7\0\0\0\0\0\0"
    "tari.rpc.NewBlockCoinbase"
    "address"
  }},
};

::uint8_t* NewBlockCoinbase::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.NewBlockCoinbase)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string address = 1;
  if (!this->_internal_address().empty()) {
    const std::string& _s = this->_internal_address();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "tari.rpc.NewBlockCoinbase.address");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // uint64 value = 2;
  if (this->_internal_value() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_value(), target);
  }

  // bool stealth_payment = 3;
  if (this->_internal_stealth_payment() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_stealth_payment(), target);
  }

  // bool revealed_value_proof = 4;
  if (this->_internal_revealed_value_proof() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_revealed_value_proof(), target);
  }

  // bytes coinbase_extra = 5;
  if (!this->_internal_coinbase_extra().empty()) {
    const std::string& _s = this->_internal_coinbase_extra();
    target = stream->WriteBytesMaybeAliased(5, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.NewBlockCoinbase)
  return target;
}

::size_t NewBlockCoinbase::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.NewBlockCoinbase)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string address = 1;
  if (!this->_internal_address().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_address());
  }

  // bytes coinbase_extra = 5;
  if (!this->_internal_coinbase_extra().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_coinbase_extra());
  }

  // uint64 value = 2;
  if (this->_internal_value() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_value());
  }

  // bool stealth_payment = 3;
  if (this->_internal_stealth_payment() != 0) {
    total_size += 2;
  }

  // bool revealed_value_proof = 4;
  if (this->_internal_revealed_value_proof() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void NewBlockCoinbase::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<NewBlockCoinbase*>(&to_msg);
  auto& from = static_cast<const NewBlockCoinbase&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.NewBlockCoinbase)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_address().empty()) {
    _this->_internal_set_address(from._internal_address());
  }
  if (!from._internal_coinbase_extra().empty()) {
    _this->_internal_set_coinbase_extra(from._internal_coinbase_extra());
  }
  if (from._internal_value() != 0) {
    _this->_impl_.value_ = from._impl_.value_;
  }
  if (from._internal_stealth_payment() != 0) {
    _this->_impl_.stealth_payment_ = from._impl_.stealth_payment_;
  }
  if (from._internal_revealed_value_proof() != 0) {
    _this->_impl_.revealed_value_proof_ = from._impl_.revealed_value_proof_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void NewBlockCoinbase::CopyFrom(const NewBlockCoinbase& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.NewBlockCoinbase)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool NewBlockCoinbase::IsInitialized() const {
  return true;
}

void NewBlockCoinbase::InternalSwap(NewBlockCoinbase* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.address_, &other->_impl_.address_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.coinbase_extra_, &other->_impl_.coinbase_extra_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.revealed_value_proof_)
      + sizeof(NewBlockCoinbase::_impl_.revealed_value_proof_)
      - PROTOBUF_FIELD_OFFSET(NewBlockCoinbase, _impl_.value_)>(
          reinterpret_cast<char*>(&_impl_.value_),
          reinterpret_cast<char*>(&other->_impl_.value_));
}

::google::protobuf::Metadata NewBlockCoinbase::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[13]);
}
// ===================================================================

class NetworkDifficultyResponse::_Internal {
 public:
};

NetworkDifficultyResponse::NetworkDifficultyResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.NetworkDifficultyResponse)
}
NetworkDifficultyResponse::NetworkDifficultyResponse(
    ::google::protobuf::Arena* arena, const NetworkDifficultyResponse& from)
    : NetworkDifficultyResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE NetworkDifficultyResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void NetworkDifficultyResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, difficulty_),
           0,
           offsetof(Impl_, randomx_estimated_hash_rate_) -
               offsetof(Impl_, difficulty_) +
               sizeof(Impl_::randomx_estimated_hash_rate_));
}
NetworkDifficultyResponse::~NetworkDifficultyResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.NetworkDifficultyResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NetworkDifficultyResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
NetworkDifficultyResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_._cached_size_),
              false,
          },
          &NetworkDifficultyResponse::MergeImpl,
          &NetworkDifficultyResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void NetworkDifficultyResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.NetworkDifficultyResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.difficulty_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.randomx_estimated_hash_rate_) -
      reinterpret_cast<char*>(&_impl_.difficulty_)) + sizeof(_impl_.randomx_estimated_hash_rate_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NetworkDifficultyResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 0, 0, 2> NetworkDifficultyResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_NetworkDifficultyResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::NetworkDifficultyResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 difficulty = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.difficulty_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.difficulty_)}},
    // uint64 estimated_hash_rate = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.estimated_hash_rate_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.estimated_hash_rate_)}},
    // uint64 height = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.height_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.height_)}},
    // uint64 timestamp = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.timestamp_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.timestamp_)}},
    // uint64 pow_algo = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.pow_algo_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.pow_algo_)}},
    // uint64 sha3x_estimated_hash_rate = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.sha3x_estimated_hash_rate_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.sha3x_estimated_hash_rate_)}},
    // uint64 randomx_estimated_hash_rate = 7;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(NetworkDifficultyResponse, _impl_.randomx_estimated_hash_rate_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.randomx_estimated_hash_rate_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 difficulty = 1;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.difficulty_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 estimated_hash_rate = 2;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.estimated_hash_rate_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 height = 3;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 timestamp = 4;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.timestamp_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 pow_algo = 5;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.pow_algo_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 sha3x_estimated_hash_rate = 6;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.sha3x_estimated_hash_rate_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 randomx_estimated_hash_rate = 7;
    {PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.randomx_estimated_hash_rate_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* NetworkDifficultyResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.NetworkDifficultyResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 difficulty = 1;
  if (this->_internal_difficulty() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_difficulty(), target);
  }

  // uint64 estimated_hash_rate = 2;
  if (this->_internal_estimated_hash_rate() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_estimated_hash_rate(), target);
  }

  // uint64 height = 3;
  if (this->_internal_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_height(), target);
  }

  // uint64 timestamp = 4;
  if (this->_internal_timestamp() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this->_internal_timestamp(), target);
  }

  // uint64 pow_algo = 5;
  if (this->_internal_pow_algo() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this->_internal_pow_algo(), target);
  }

  // uint64 sha3x_estimated_hash_rate = 6;
  if (this->_internal_sha3x_estimated_hash_rate() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        6, this->_internal_sha3x_estimated_hash_rate(), target);
  }

  // uint64 randomx_estimated_hash_rate = 7;
  if (this->_internal_randomx_estimated_hash_rate() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        7, this->_internal_randomx_estimated_hash_rate(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.NetworkDifficultyResponse)
  return target;
}

::size_t NetworkDifficultyResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.NetworkDifficultyResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 difficulty = 1;
  if (this->_internal_difficulty() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_difficulty());
  }

  // uint64 estimated_hash_rate = 2;
  if (this->_internal_estimated_hash_rate() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_estimated_hash_rate());
  }

  // uint64 height = 3;
  if (this->_internal_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_height());
  }

  // uint64 timestamp = 4;
  if (this->_internal_timestamp() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_timestamp());
  }

  // uint64 pow_algo = 5;
  if (this->_internal_pow_algo() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_pow_algo());
  }

  // uint64 sha3x_estimated_hash_rate = 6;
  if (this->_internal_sha3x_estimated_hash_rate() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_sha3x_estimated_hash_rate());
  }

  // uint64 randomx_estimated_hash_rate = 7;
  if (this->_internal_randomx_estimated_hash_rate() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_randomx_estimated_hash_rate());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void NetworkDifficultyResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<NetworkDifficultyResponse*>(&to_msg);
  auto& from = static_cast<const NetworkDifficultyResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.NetworkDifficultyResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_difficulty() != 0) {
    _this->_impl_.difficulty_ = from._impl_.difficulty_;
  }
  if (from._internal_estimated_hash_rate() != 0) {
    _this->_impl_.estimated_hash_rate_ = from._impl_.estimated_hash_rate_;
  }
  if (from._internal_height() != 0) {
    _this->_impl_.height_ = from._impl_.height_;
  }
  if (from._internal_timestamp() != 0) {
    _this->_impl_.timestamp_ = from._impl_.timestamp_;
  }
  if (from._internal_pow_algo() != 0) {
    _this->_impl_.pow_algo_ = from._impl_.pow_algo_;
  }
  if (from._internal_sha3x_estimated_hash_rate() != 0) {
    _this->_impl_.sha3x_estimated_hash_rate_ = from._impl_.sha3x_estimated_hash_rate_;
  }
  if (from._internal_randomx_estimated_hash_rate() != 0) {
    _this->_impl_.randomx_estimated_hash_rate_ = from._impl_.randomx_estimated_hash_rate_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void NetworkDifficultyResponse::CopyFrom(const NetworkDifficultyResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.NetworkDifficultyResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool NetworkDifficultyResponse::IsInitialized() const {
  return true;
}

void NetworkDifficultyResponse::InternalSwap(NetworkDifficultyResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.randomx_estimated_hash_rate_)
      + sizeof(NetworkDifficultyResponse::_impl_.randomx_estimated_hash_rate_)
      - PROTOBUF_FIELD_OFFSET(NetworkDifficultyResponse, _impl_.difficulty_)>(
          reinterpret_cast<char*>(&_impl_.difficulty_),
          reinterpret_cast<char*>(&other->_impl_.difficulty_));
}

::google::protobuf::Metadata NetworkDifficultyResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[14]);
}
// ===================================================================

class ValueAtHeightResponse::_Internal {
 public:
};

ValueAtHeightResponse::ValueAtHeightResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.ValueAtHeightResponse)
}
ValueAtHeightResponse::ValueAtHeightResponse(
    ::google::protobuf::Arena* arena, const ValueAtHeightResponse& from)
    : ValueAtHeightResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE ValueAtHeightResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ValueAtHeightResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, value_),
           0,
           offsetof(Impl_, height_) -
               offsetof(Impl_, value_) +
               sizeof(Impl_::height_));
}
ValueAtHeightResponse::~ValueAtHeightResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.ValueAtHeightResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ValueAtHeightResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
ValueAtHeightResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_._cached_size_),
              false,
          },
          &ValueAtHeightResponse::MergeImpl,
          &ValueAtHeightResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void ValueAtHeightResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.ValueAtHeightResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.value_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.height_) -
      reinterpret_cast<char*>(&_impl_.value_)) + sizeof(_impl_.height_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ValueAtHeightResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> ValueAtHeightResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ValueAtHeightResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::ValueAtHeightResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 height = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ValueAtHeightResponse, _impl_.height_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_.height_)}},
    // uint64 value = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ValueAtHeightResponse, _impl_.value_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_.value_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 value = 1;
    {PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_.value_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 height = 2;
    {PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_.height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* ValueAtHeightResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.ValueAtHeightResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 value = 1;
  if (this->_internal_value() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_value(), target);
  }

  // uint64 height = 2;
  if (this->_internal_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_height(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.ValueAtHeightResponse)
  return target;
}

::size_t ValueAtHeightResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.ValueAtHeightResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 value = 1;
  if (this->_internal_value() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_value());
  }

  // uint64 height = 2;
  if (this->_internal_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void ValueAtHeightResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ValueAtHeightResponse*>(&to_msg);
  auto& from = static_cast<const ValueAtHeightResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.ValueAtHeightResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_value() != 0) {
    _this->_impl_.value_ = from._impl_.value_;
  }
  if (from._internal_height() != 0) {
    _this->_impl_.height_ = from._impl_.height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ValueAtHeightResponse::CopyFrom(const ValueAtHeightResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.ValueAtHeightResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ValueAtHeightResponse::IsInitialized() const {
  return true;
}

void ValueAtHeightResponse::InternalSwap(ValueAtHeightResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_.height_)
      + sizeof(ValueAtHeightResponse::_impl_.height_)
      - PROTOBUF_FIELD_OFFSET(ValueAtHeightResponse, _impl_.value_)>(
          reinterpret_cast<char*>(&_impl_.value_),
          reinterpret_cast<char*>(&other->_impl_.value_));
}

::google::protobuf::Metadata ValueAtHeightResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[15]);
}
// ===================================================================

class IntegerValue::_Internal {
 public:
};

IntegerValue::IntegerValue(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.IntegerValue)
}
IntegerValue::IntegerValue(
    ::google::protobuf::Arena* arena, const IntegerValue& from)
    : IntegerValue(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE IntegerValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void IntegerValue::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.value_ = {};
}
IntegerValue::~IntegerValue() {
  // @@protoc_insertion_point(destructor:tari.rpc.IntegerValue)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void IntegerValue::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
IntegerValue::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(IntegerValue, _impl_._cached_size_),
              false,
          },
          &IntegerValue::MergeImpl,
          &IntegerValue::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void IntegerValue::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.IntegerValue)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.value_ = ::uint64_t{0u};
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* IntegerValue::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> IntegerValue::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_IntegerValue_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::IntegerValue>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 value = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(IntegerValue, _impl_.value_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(IntegerValue, _impl_.value_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 value = 1;
    {PROTOBUF_FIELD_OFFSET(IntegerValue, _impl_.value_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* IntegerValue::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.IntegerValue)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 value = 1;
  if (this->_internal_value() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_value(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.IntegerValue)
  return target;
}

::size_t IntegerValue::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.IntegerValue)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 value = 1;
  if (this->_internal_value() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_value());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void IntegerValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<IntegerValue*>(&to_msg);
  auto& from = static_cast<const IntegerValue&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.IntegerValue)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_value() != 0) {
    _this->_impl_.value_ = from._impl_.value_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void IntegerValue::CopyFrom(const IntegerValue& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.IntegerValue)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool IntegerValue::IsInitialized() const {
  return true;
}

void IntegerValue::InternalSwap(IntegerValue* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
        swap(_impl_.value_, other->_impl_.value_);
}

::google::protobuf::Metadata IntegerValue::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[16]);
}
// ===================================================================

class StringValue::_Internal {
 public:
};

StringValue::StringValue(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.StringValue)
}
inline PROTOBUF_NDEBUG_INLINE StringValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : value_(arena, from.value_),
        _cached_size_{0} {}

StringValue::StringValue(
    ::google::protobuf::Arena* arena,
    const StringValue& from)
    : ::google::protobuf::Message(arena) {
  StringValue* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.StringValue)
}
inline PROTOBUF_NDEBUG_INLINE StringValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : value_(arena),
        _cached_size_{0} {}

inline void StringValue::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
StringValue::~StringValue() {
  // @@protoc_insertion_point(destructor:tari.rpc.StringValue)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void StringValue::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.value_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
StringValue::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(StringValue, _impl_._cached_size_),
              false,
          },
          &StringValue::MergeImpl,
          &StringValue::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void StringValue::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.StringValue)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.value_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* StringValue::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 34, 2> StringValue::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_StringValue_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::StringValue>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // string value = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(StringValue, _impl_.value_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string value = 1;
    {PROTOBUF_FIELD_OFFSET(StringValue, _impl_.value_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\24\5\0\0\0\0\0\0"
    "tari.rpc.StringValue"
    "value"
  }},
};

::uint8_t* StringValue::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.StringValue)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string value = 1;
  if (!this->_internal_value().empty()) {
    const std::string& _s = this->_internal_value();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "tari.rpc.StringValue.value");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.StringValue)
  return target;
}

::size_t StringValue::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.StringValue)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string value = 1;
  if (!this->_internal_value().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_value());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void StringValue::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<StringValue*>(&to_msg);
  auto& from = static_cast<const StringValue&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.StringValue)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_value().empty()) {
    _this->_internal_set_value(from._internal_value());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void StringValue::CopyFrom(const StringValue& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.StringValue)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool StringValue::IsInitialized() const {
  return true;
}

void StringValue::InternalSwap(StringValue* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.value_, &other->_impl_.value_, arena);
}

::google::protobuf::Metadata StringValue::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[17]);
}
// ===================================================================

class BlockGroupRequest::_Internal {
 public:
};

BlockGroupRequest::BlockGroupRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.BlockGroupRequest)
}
BlockGroupRequest::BlockGroupRequest(
    ::google::protobuf::Arena* arena, const BlockGroupRequest& from)
    : BlockGroupRequest(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE BlockGroupRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void BlockGroupRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, from_tip_),
           0,
           offsetof(Impl_, calc_type_) -
               offsetof(Impl_, from_tip_) +
               sizeof(Impl_::calc_type_));
}
BlockGroupRequest::~BlockGroupRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.BlockGroupRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BlockGroupRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
BlockGroupRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_._cached_size_),
              false,
          },
          &BlockGroupRequest::MergeImpl,
          &BlockGroupRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void BlockGroupRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.BlockGroupRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.from_tip_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.calc_type_) -
      reinterpret_cast<char*>(&_impl_.from_tip_)) + sizeof(_impl_.calc_type_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BlockGroupRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 0, 0, 2> BlockGroupRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_BlockGroupRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::BlockGroupRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.CalcType calc_type = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BlockGroupRequest, _impl_.calc_type_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.calc_type_)}},
    // uint64 from_tip = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockGroupRequest, _impl_.from_tip_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.from_tip_)}},
    // uint64 start_height = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockGroupRequest, _impl_.start_height_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.start_height_)}},
    // uint64 end_height = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockGroupRequest, _impl_.end_height_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.end_height_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 from_tip = 1;
    {PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.from_tip_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 start_height = 2;
    {PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.start_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 end_height = 3;
    {PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.end_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // .tari.rpc.CalcType calc_type = 4;
    {PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.calc_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* BlockGroupRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.BlockGroupRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 from_tip = 1;
  if (this->_internal_from_tip() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_from_tip(), target);
  }

  // uint64 start_height = 2;
  if (this->_internal_start_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_start_height(), target);
  }

  // uint64 end_height = 3;
  if (this->_internal_end_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_end_height(), target);
  }

  // .tari.rpc.CalcType calc_type = 4;
  if (this->_internal_calc_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_calc_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.BlockGroupRequest)
  return target;
}

::size_t BlockGroupRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.BlockGroupRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 from_tip = 1;
  if (this->_internal_from_tip() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_from_tip());
  }

  // uint64 start_height = 2;
  if (this->_internal_start_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_start_height());
  }

  // uint64 end_height = 3;
  if (this->_internal_end_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_end_height());
  }

  // .tari.rpc.CalcType calc_type = 4;
  if (this->_internal_calc_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_calc_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void BlockGroupRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<BlockGroupRequest*>(&to_msg);
  auto& from = static_cast<const BlockGroupRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.BlockGroupRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_from_tip() != 0) {
    _this->_impl_.from_tip_ = from._impl_.from_tip_;
  }
  if (from._internal_start_height() != 0) {
    _this->_impl_.start_height_ = from._impl_.start_height_;
  }
  if (from._internal_end_height() != 0) {
    _this->_impl_.end_height_ = from._impl_.end_height_;
  }
  if (from._internal_calc_type() != 0) {
    _this->_impl_.calc_type_ = from._impl_.calc_type_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockGroupRequest::CopyFrom(const BlockGroupRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.BlockGroupRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool BlockGroupRequest::IsInitialized() const {
  return true;
}

void BlockGroupRequest::InternalSwap(BlockGroupRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.calc_type_)
      + sizeof(BlockGroupRequest::_impl_.calc_type_)
      - PROTOBUF_FIELD_OFFSET(BlockGroupRequest, _impl_.from_tip_)>(
          reinterpret_cast<char*>(&_impl_.from_tip_),
          reinterpret_cast<char*>(&other->_impl_.from_tip_));
}

::google::protobuf::Metadata BlockGroupRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[18]);
}
// ===================================================================

class BlockGroupResponse::_Internal {
 public:
};

BlockGroupResponse::BlockGroupResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.BlockGroupResponse)
}
inline PROTOBUF_NDEBUG_INLINE BlockGroupResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : value_{visibility, arena, from.value_},
        _cached_size_{0} {}

BlockGroupResponse::BlockGroupResponse(
    ::google::protobuf::Arena* arena,
    const BlockGroupResponse& from)
    : ::google::protobuf::Message(arena) {
  BlockGroupResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.calc_type_ = from._impl_.calc_type_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.BlockGroupResponse)
}
inline PROTOBUF_NDEBUG_INLINE BlockGroupResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : value_{visibility, arena},
        _cached_size_{0} {}

inline void BlockGroupResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.calc_type_ = {};
}
BlockGroupResponse::~BlockGroupResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.BlockGroupResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BlockGroupResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
BlockGroupResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(BlockGroupResponse, _impl_._cached_size_),
              false,
          },
          &BlockGroupResponse::MergeImpl,
          &BlockGroupResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void BlockGroupResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.BlockGroupResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.value_.Clear();
  _impl_.calc_type_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BlockGroupResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> BlockGroupResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_BlockGroupResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::BlockGroupResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.CalcType calc_type = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BlockGroupResponse, _impl_.calc_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(BlockGroupResponse, _impl_.calc_type_)}},
    // repeated double value = 1;
    {::_pbi::TcParser::FastF64P1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(BlockGroupResponse, _impl_.value_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated double value = 1;
    {PROTOBUF_FIELD_OFFSET(BlockGroupResponse, _impl_.value_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedDouble)},
    // .tari.rpc.CalcType calc_type = 2;
    {PROTOBUF_FIELD_OFFSET(BlockGroupResponse, _impl_.calc_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* BlockGroupResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.BlockGroupResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated double value = 1;
  if (this->_internal_value_size() > 0) {
    target = stream->WriteFixedPacked(1, _internal_value(), target);
  }

  // .tari.rpc.CalcType calc_type = 2;
  if (this->_internal_calc_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_calc_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.BlockGroupResponse)
  return target;
}

::size_t BlockGroupResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.BlockGroupResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated double value = 1;
  {
    std::size_t data_size = std::size_t{8} *
        ::_pbi::FromIntSize(this->_internal_value_size())
    ;
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  // .tari.rpc.CalcType calc_type = 2;
  if (this->_internal_calc_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_calc_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void BlockGroupResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<BlockGroupResponse*>(&to_msg);
  auto& from = static_cast<const BlockGroupResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.BlockGroupResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_value()->MergeFrom(from._internal_value());
  if (from._internal_calc_type() != 0) {
    _this->_impl_.calc_type_ = from._impl_.calc_type_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockGroupResponse::CopyFrom(const BlockGroupResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.BlockGroupResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool BlockGroupResponse::IsInitialized() const {
  return true;
}

void BlockGroupResponse::InternalSwap(BlockGroupResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.value_.InternalSwap(&other->_impl_.value_);
  swap(_impl_.calc_type_, other->_impl_.calc_type_);
}

::google::protobuf::Metadata BlockGroupResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[19]);
}
// ===================================================================

class HeightRequest::_Internal {
 public:
};

HeightRequest::HeightRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.HeightRequest)
}
HeightRequest::HeightRequest(
    ::google::protobuf::Arena* arena, const HeightRequest& from)
    : HeightRequest(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE HeightRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void HeightRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, from_tip_),
           0,
           offsetof(Impl_, end_height_) -
               offsetof(Impl_, from_tip_) +
               sizeof(Impl_::end_height_));
}
HeightRequest::~HeightRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.HeightRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void HeightRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
HeightRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_._cached_size_),
              false,
          },
          &HeightRequest::MergeImpl,
          &HeightRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void HeightRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.HeightRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.from_tip_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.end_height_) -
      reinterpret_cast<char*>(&_impl_.from_tip_)) + sizeof(_impl_.end_height_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* HeightRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> HeightRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_HeightRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::HeightRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 from_tip = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(HeightRequest, _impl_.from_tip_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.from_tip_)}},
    // uint64 start_height = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(HeightRequest, _impl_.start_height_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.start_height_)}},
    // uint64 end_height = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(HeightRequest, _impl_.end_height_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.end_height_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 from_tip = 1;
    {PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.from_tip_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 start_height = 2;
    {PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.start_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 end_height = 3;
    {PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.end_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* HeightRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.HeightRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 from_tip = 1;
  if (this->_internal_from_tip() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_from_tip(), target);
  }

  // uint64 start_height = 2;
  if (this->_internal_start_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_start_height(), target);
  }

  // uint64 end_height = 3;
  if (this->_internal_end_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_end_height(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.HeightRequest)
  return target;
}

::size_t HeightRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.HeightRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 from_tip = 1;
  if (this->_internal_from_tip() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_from_tip());
  }

  // uint64 start_height = 2;
  if (this->_internal_start_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_start_height());
  }

  // uint64 end_height = 3;
  if (this->_internal_end_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_end_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void HeightRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<HeightRequest*>(&to_msg);
  auto& from = static_cast<const HeightRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.HeightRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_from_tip() != 0) {
    _this->_impl_.from_tip_ = from._impl_.from_tip_;
  }
  if (from._internal_start_height() != 0) {
    _this->_impl_.start_height_ = from._impl_.start_height_;
  }
  if (from._internal_end_height() != 0) {
    _this->_impl_.end_height_ = from._impl_.end_height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void HeightRequest::CopyFrom(const HeightRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.HeightRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool HeightRequest::IsInitialized() const {
  return true;
}

void HeightRequest::InternalSwap(HeightRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.end_height_)
      + sizeof(HeightRequest::_impl_.end_height_)
      - PROTOBUF_FIELD_OFFSET(HeightRequest, _impl_.from_tip_)>(
          reinterpret_cast<char*>(&_impl_.from_tip_),
          reinterpret_cast<char*>(&other->_impl_.from_tip_));
}

::google::protobuf::Metadata HeightRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[20]);
}
// ===================================================================

class BlockTimingResponse::_Internal {
 public:
};

BlockTimingResponse::BlockTimingResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.BlockTimingResponse)
}
BlockTimingResponse::BlockTimingResponse(
    ::google::protobuf::Arena* arena, const BlockTimingResponse& from)
    : BlockTimingResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE BlockTimingResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void BlockTimingResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, max_),
           0,
           offsetof(Impl_, avg_) -
               offsetof(Impl_, max_) +
               sizeof(Impl_::avg_));
}
BlockTimingResponse::~BlockTimingResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.BlockTimingResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BlockTimingResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
BlockTimingResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_._cached_size_),
              false,
          },
          &BlockTimingResponse::MergeImpl,
          &BlockTimingResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void BlockTimingResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.BlockTimingResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.max_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.avg_) -
      reinterpret_cast<char*>(&_impl_.max_)) + sizeof(_impl_.avg_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BlockTimingResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> BlockTimingResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_BlockTimingResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::BlockTimingResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 max = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockTimingResponse, _impl_.max_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.max_)}},
    // uint64 min = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockTimingResponse, _impl_.min_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.min_)}},
    // double avg = 3;
    {::_pbi::TcParser::FastF64S1,
     {25, 63, 0, PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.avg_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 max = 1;
    {PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.max_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 min = 2;
    {PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.min_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // double avg = 3;
    {PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.avg_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* BlockTimingResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.BlockTimingResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 max = 1;
  if (this->_internal_max() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_max(), target);
  }

  // uint64 min = 2;
  if (this->_internal_min() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_min(), target);
  }

  // double avg = 3;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_avg = this->_internal_avg();
  ::uint64_t raw_avg;
  memcpy(&raw_avg, &tmp_avg, sizeof(tmp_avg));
  if (raw_avg != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        3, this->_internal_avg(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.BlockTimingResponse)
  return target;
}

::size_t BlockTimingResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.BlockTimingResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 max = 1;
  if (this->_internal_max() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_max());
  }

  // uint64 min = 2;
  if (this->_internal_min() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_min());
  }

  // double avg = 3;
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_avg = this->_internal_avg();
  ::uint64_t raw_avg;
  memcpy(&raw_avg, &tmp_avg, sizeof(tmp_avg));
  if (raw_avg != 0) {
    total_size += 9;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void BlockTimingResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<BlockTimingResponse*>(&to_msg);
  auto& from = static_cast<const BlockTimingResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.BlockTimingResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_max() != 0) {
    _this->_impl_.max_ = from._impl_.max_;
  }
  if (from._internal_min() != 0) {
    _this->_impl_.min_ = from._impl_.min_;
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_avg = from._internal_avg();
  ::uint64_t raw_avg;
  memcpy(&raw_avg, &tmp_avg, sizeof(tmp_avg));
  if (raw_avg != 0) {
    _this->_impl_.avg_ = from._impl_.avg_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockTimingResponse::CopyFrom(const BlockTimingResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.BlockTimingResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool BlockTimingResponse::IsInitialized() const {
  return true;
}

void BlockTimingResponse::InternalSwap(BlockTimingResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.avg_)
      + sizeof(BlockTimingResponse::_impl_.avg_)
      - PROTOBUF_FIELD_OFFSET(BlockTimingResponse, _impl_.max_)>(
          reinterpret_cast<char*>(&_impl_.max_),
          reinterpret_cast<char*>(&other->_impl_.max_));
}

::google::protobuf::Metadata BlockTimingResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[21]);
}
// ===================================================================

class GetHeaderByHashRequest::_Internal {
 public:
};

GetHeaderByHashRequest::GetHeaderByHashRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetHeaderByHashRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetHeaderByHashRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : hash_(arena, from.hash_),
        _cached_size_{0} {}

GetHeaderByHashRequest::GetHeaderByHashRequest(
    ::google::protobuf::Arena* arena,
    const GetHeaderByHashRequest& from)
    : ::google::protobuf::Message(arena) {
  GetHeaderByHashRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetHeaderByHashRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetHeaderByHashRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : hash_(arena),
        _cached_size_{0} {}

inline void GetHeaderByHashRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetHeaderByHashRequest::~GetHeaderByHashRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetHeaderByHashRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetHeaderByHashRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.hash_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetHeaderByHashRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetHeaderByHashRequest, _impl_._cached_size_),
              false,
          },
          &GetHeaderByHashRequest::MergeImpl,
          &GetHeaderByHashRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetHeaderByHashRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetHeaderByHashRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.hash_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetHeaderByHashRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> GetHeaderByHashRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetHeaderByHashRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetHeaderByHashRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetHeaderByHashRequest, _impl_.hash_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes hash = 1;
    {PROTOBUF_FIELD_OFFSET(GetHeaderByHashRequest, _impl_.hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetHeaderByHashRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetHeaderByHashRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes hash = 1;
  if (!this->_internal_hash().empty()) {
    const std::string& _s = this->_internal_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetHeaderByHashRequest)
  return target;
}

::size_t GetHeaderByHashRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetHeaderByHashRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes hash = 1;
  if (!this->_internal_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_hash());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetHeaderByHashRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetHeaderByHashRequest*>(&to_msg);
  auto& from = static_cast<const GetHeaderByHashRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetHeaderByHashRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_hash().empty()) {
    _this->_internal_set_hash(from._internal_hash());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetHeaderByHashRequest::CopyFrom(const GetHeaderByHashRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetHeaderByHashRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetHeaderByHashRequest::IsInitialized() const {
  return true;
}

void GetHeaderByHashRequest::InternalSwap(GetHeaderByHashRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.hash_, &other->_impl_.hash_, arena);
}

::google::protobuf::Metadata GetHeaderByHashRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[22]);
}
// ===================================================================

class BlockHeaderResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<BlockHeaderResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_._has_bits_);
};

void BlockHeaderResponse::clear_header() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.header_ != nullptr) _impl_.header_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
BlockHeaderResponse::BlockHeaderResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.BlockHeaderResponse)
}
inline PROTOBUF_NDEBUG_INLINE BlockHeaderResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

BlockHeaderResponse::BlockHeaderResponse(
    ::google::protobuf::Arena* arena,
    const BlockHeaderResponse& from)
    : ::google::protobuf::Message(arena) {
  BlockHeaderResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.header_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::BlockHeader>(
                              arena, *from._impl_.header_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, confirmations_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, confirmations_),
           offsetof(Impl_, num_transactions_) -
               offsetof(Impl_, confirmations_) +
               sizeof(Impl_::num_transactions_));

  // @@protoc_insertion_point(copy_constructor:tari.rpc.BlockHeaderResponse)
}
inline PROTOBUF_NDEBUG_INLINE BlockHeaderResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void BlockHeaderResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, header_),
           0,
           offsetof(Impl_, num_transactions_) -
               offsetof(Impl_, header_) +
               sizeof(Impl_::num_transactions_));
}
BlockHeaderResponse::~BlockHeaderResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.BlockHeaderResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BlockHeaderResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.header_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
BlockHeaderResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_._cached_size_),
              false,
          },
          &BlockHeaderResponse::MergeImpl,
          &BlockHeaderResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void BlockHeaderResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.BlockHeaderResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.header_ != nullptr);
    _impl_.header_->Clear();
  }
  ::memset(&_impl_.confirmations_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.num_transactions_) -
      reinterpret_cast<char*>(&_impl_.confirmations_)) + sizeof(_impl_.num_transactions_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BlockHeaderResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 0, 2> BlockHeaderResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_BlockHeaderResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::BlockHeaderResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .tari.rpc.BlockHeader header = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.header_)}},
    // uint64 confirmations = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockHeaderResponse, _impl_.confirmations_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.confirmations_)}},
    // uint64 reward = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockHeaderResponse, _impl_.reward_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.reward_)}},
    // uint64 difficulty = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockHeaderResponse, _impl_.difficulty_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.difficulty_)}},
    // uint32 num_transactions = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BlockHeaderResponse, _impl_.num_transactions_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.num_transactions_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.BlockHeader header = 1;
    {PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.header_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint64 confirmations = 2;
    {PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.confirmations_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 reward = 3;
    {PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.reward_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 difficulty = 4;
    {PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.difficulty_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint32 num_transactions = 5;
    {PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.num_transactions_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::BlockHeader>()},
  }}, {{
  }},
};

::uint8_t* BlockHeaderResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.BlockHeaderResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.BlockHeader header = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.header_, _impl_.header_->GetCachedSize(), target, stream);
  }

  // uint64 confirmations = 2;
  if (this->_internal_confirmations() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_confirmations(), target);
  }

  // uint64 reward = 3;
  if (this->_internal_reward() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_reward(), target);
  }

  // uint64 difficulty = 4;
  if (this->_internal_difficulty() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this->_internal_difficulty(), target);
  }

  // uint32 num_transactions = 5;
  if (this->_internal_num_transactions() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_num_transactions(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.BlockHeaderResponse)
  return target;
}

::size_t BlockHeaderResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.BlockHeaderResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.BlockHeader header = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.header_);
  }

  // uint64 confirmations = 2;
  if (this->_internal_confirmations() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_confirmations());
  }

  // uint64 reward = 3;
  if (this->_internal_reward() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_reward());
  }

  // uint64 difficulty = 4;
  if (this->_internal_difficulty() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_difficulty());
  }

  // uint32 num_transactions = 5;
  if (this->_internal_num_transactions() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_num_transactions());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void BlockHeaderResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<BlockHeaderResponse*>(&to_msg);
  auto& from = static_cast<const BlockHeaderResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.BlockHeaderResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.header_ != nullptr);
    if (_this->_impl_.header_ == nullptr) {
      _this->_impl_.header_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::BlockHeader>(arena, *from._impl_.header_);
    } else {
      _this->_impl_.header_->MergeFrom(*from._impl_.header_);
    }
  }
  if (from._internal_confirmations() != 0) {
    _this->_impl_.confirmations_ = from._impl_.confirmations_;
  }
  if (from._internal_reward() != 0) {
    _this->_impl_.reward_ = from._impl_.reward_;
  }
  if (from._internal_difficulty() != 0) {
    _this->_impl_.difficulty_ = from._impl_.difficulty_;
  }
  if (from._internal_num_transactions() != 0) {
    _this->_impl_.num_transactions_ = from._impl_.num_transactions_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockHeaderResponse::CopyFrom(const BlockHeaderResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.BlockHeaderResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool BlockHeaderResponse::IsInitialized() const {
  return true;
}

void BlockHeaderResponse::InternalSwap(BlockHeaderResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.num_transactions_)
      + sizeof(BlockHeaderResponse::_impl_.num_transactions_)
      - PROTOBUF_FIELD_OFFSET(BlockHeaderResponse, _impl_.header_)>(
          reinterpret_cast<char*>(&_impl_.header_),
          reinterpret_cast<char*>(&other->_impl_.header_));
}

::google::protobuf::Metadata BlockHeaderResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[23]);
}
// ===================================================================

class ListHeadersRequest::_Internal {
 public:
};

ListHeadersRequest::ListHeadersRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.ListHeadersRequest)
}
ListHeadersRequest::ListHeadersRequest(
    ::google::protobuf::Arena* arena, const ListHeadersRequest& from)
    : ListHeadersRequest(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE ListHeadersRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ListHeadersRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, from_height_),
           0,
           offsetof(Impl_, sorting_) -
               offsetof(Impl_, from_height_) +
               sizeof(Impl_::sorting_));
}
ListHeadersRequest::~ListHeadersRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.ListHeadersRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ListHeadersRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
ListHeadersRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_._cached_size_),
              false,
          },
          &ListHeadersRequest::MergeImpl,
          &ListHeadersRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void ListHeadersRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.ListHeadersRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.from_height_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.sorting_) -
      reinterpret_cast<char*>(&_impl_.from_height_)) + sizeof(_impl_.sorting_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ListHeadersRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> ListHeadersRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ListHeadersRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::ListHeadersRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 from_height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ListHeadersRequest, _impl_.from_height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.from_height_)}},
    // uint64 num_headers = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ListHeadersRequest, _impl_.num_headers_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.num_headers_)}},
    // .tari.rpc.Sorting sorting = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ListHeadersRequest, _impl_.sorting_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.sorting_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 from_height = 1;
    {PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.from_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 num_headers = 2;
    {PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.num_headers_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // .tari.rpc.Sorting sorting = 3;
    {PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.sorting_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* ListHeadersRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.ListHeadersRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 from_height = 1;
  if (this->_internal_from_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_from_height(), target);
  }

  // uint64 num_headers = 2;
  if (this->_internal_num_headers() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_num_headers(), target);
  }

  // .tari.rpc.Sorting sorting = 3;
  if (this->_internal_sorting() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_sorting(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.ListHeadersRequest)
  return target;
}

::size_t ListHeadersRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.ListHeadersRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 from_height = 1;
  if (this->_internal_from_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_from_height());
  }

  // uint64 num_headers = 2;
  if (this->_internal_num_headers() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_num_headers());
  }

  // .tari.rpc.Sorting sorting = 3;
  if (this->_internal_sorting() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_sorting());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void ListHeadersRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<ListHeadersRequest*>(&to_msg);
  auto& from = static_cast<const ListHeadersRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.ListHeadersRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_from_height() != 0) {
    _this->_impl_.from_height_ = from._impl_.from_height_;
  }
  if (from._internal_num_headers() != 0) {
    _this->_impl_.num_headers_ = from._impl_.num_headers_;
  }
  if (from._internal_sorting() != 0) {
    _this->_impl_.sorting_ = from._impl_.sorting_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListHeadersRequest::CopyFrom(const ListHeadersRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.ListHeadersRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ListHeadersRequest::IsInitialized() const {
  return true;
}

void ListHeadersRequest::InternalSwap(ListHeadersRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.sorting_)
      + sizeof(ListHeadersRequest::_impl_.sorting_)
      - PROTOBUF_FIELD_OFFSET(ListHeadersRequest, _impl_.from_height_)>(
          reinterpret_cast<char*>(&_impl_.from_height_),
          reinterpret_cast<char*>(&other->_impl_.from_height_));
}

::google::protobuf::Metadata ListHeadersRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[24]);
}
// ===================================================================

class GetBlocksRequest::_Internal {
 public:
};

GetBlocksRequest::GetBlocksRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetBlocksRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetBlocksRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : heights_{visibility, arena, from.heights_},
        _heights_cached_byte_size_{0},
        _cached_size_{0} {}

GetBlocksRequest::GetBlocksRequest(
    ::google::protobuf::Arena* arena,
    const GetBlocksRequest& from)
    : ::google::protobuf::Message(arena) {
  GetBlocksRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetBlocksRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetBlocksRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : heights_{visibility, arena},
        _heights_cached_byte_size_{0},
        _cached_size_{0} {}

inline void GetBlocksRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetBlocksRequest::~GetBlocksRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetBlocksRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetBlocksRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetBlocksRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetBlocksRequest, _impl_._cached_size_),
              false,
          },
          &GetBlocksRequest::MergeImpl,
          &GetBlocksRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetBlocksRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetBlocksRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.heights_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetBlocksRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> GetBlocksRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetBlocksRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetBlocksRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated uint64 heights = 1;
    {::_pbi::TcParser::FastV64P1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetBlocksRequest, _impl_.heights_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated uint64 heights = 1;
    {PROTOBUF_FIELD_OFFSET(GetBlocksRequest, _impl_.heights_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetBlocksRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetBlocksRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated uint64 heights = 1;
  {
    int byte_size = _impl_._heights_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          1, _internal_heights(), byte_size, target);
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetBlocksRequest)
  return target;
}

::size_t GetBlocksRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetBlocksRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated uint64 heights = 1;
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_heights())
    ;
    _impl_._heights_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetBlocksRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetBlocksRequest*>(&to_msg);
  auto& from = static_cast<const GetBlocksRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetBlocksRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_heights()->MergeFrom(from._internal_heights());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetBlocksRequest::CopyFrom(const GetBlocksRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetBlocksRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetBlocksRequest::IsInitialized() const {
  return true;
}

void GetBlocksRequest::InternalSwap(GetBlocksRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.heights_.InternalSwap(&other->_impl_.heights_);
}

::google::protobuf::Metadata GetBlocksRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[25]);
}
// ===================================================================

class GetBlocksResponse::_Internal {
 public:
};

void GetBlocksResponse::clear_blocks() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.blocks_.Clear();
}
GetBlocksResponse::GetBlocksResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetBlocksResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetBlocksResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : blocks_{visibility, arena, from.blocks_},
        _cached_size_{0} {}

GetBlocksResponse::GetBlocksResponse(
    ::google::protobuf::Arena* arena,
    const GetBlocksResponse& from)
    : ::google::protobuf::Message(arena) {
  GetBlocksResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetBlocksResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetBlocksResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : blocks_{visibility, arena},
        _cached_size_{0} {}

inline void GetBlocksResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetBlocksResponse::~GetBlocksResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetBlocksResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetBlocksResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetBlocksResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetBlocksResponse, _impl_._cached_size_),
              false,
          },
          &GetBlocksResponse::MergeImpl,
          &GetBlocksResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetBlocksResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetBlocksResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.blocks_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetBlocksResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> GetBlocksResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetBlocksResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetBlocksResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .tari.rpc.HistoricalBlock blocks = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetBlocksResponse, _impl_.blocks_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .tari.rpc.HistoricalBlock blocks = 1;
    {PROTOBUF_FIELD_OFFSET(GetBlocksResponse, _impl_.blocks_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::HistoricalBlock>()},
  }}, {{
  }},
};

::uint8_t* GetBlocksResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetBlocksResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .tari.rpc.HistoricalBlock blocks = 1;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_blocks_size());
       i < n; i++) {
    const auto& repfield = this->_internal_blocks().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            1, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetBlocksResponse)
  return target;
}

::size_t GetBlocksResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetBlocksResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .tari.rpc.HistoricalBlock blocks = 1;
  total_size += 1UL * this->_internal_blocks_size();
  for (const auto& msg : this->_internal_blocks()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetBlocksResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetBlocksResponse*>(&to_msg);
  auto& from = static_cast<const GetBlocksResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetBlocksResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_blocks()->MergeFrom(
      from._internal_blocks());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetBlocksResponse::CopyFrom(const GetBlocksResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetBlocksResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetBlocksResponse::IsInitialized() const {
  return true;
}

void GetBlocksResponse::InternalSwap(GetBlocksResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.blocks_.InternalSwap(&other->_impl_.blocks_);
}

::google::protobuf::Metadata GetBlocksResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[26]);
}
// ===================================================================

class MetaData::_Internal {
 public:
};

MetaData::MetaData(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.MetaData)
}
inline PROTOBUF_NDEBUG_INLINE MetaData::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : best_block_hash_(arena, from.best_block_hash_),
        accumulated_difficulty_(arena, from.accumulated_difficulty_),
        _cached_size_{0} {}

MetaData::MetaData(
    ::google::protobuf::Arena* arena,
    const MetaData& from)
    : ::google::protobuf::Message(arena) {
  MetaData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, best_block_height_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, best_block_height_),
           offsetof(Impl_, pruned_height_) -
               offsetof(Impl_, best_block_height_) +
               sizeof(Impl_::pruned_height_));

  // @@protoc_insertion_point(copy_constructor:tari.rpc.MetaData)
}
inline PROTOBUF_NDEBUG_INLINE MetaData::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : best_block_hash_(arena),
        accumulated_difficulty_(arena),
        _cached_size_{0} {}

inline void MetaData::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, best_block_height_),
           0,
           offsetof(Impl_, pruned_height_) -
               offsetof(Impl_, best_block_height_) +
               sizeof(Impl_::pruned_height_));
}
MetaData::~MetaData() {
  // @@protoc_insertion_point(destructor:tari.rpc.MetaData)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MetaData::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.best_block_hash_.Destroy();
  _impl_.accumulated_difficulty_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
MetaData::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(MetaData, _impl_._cached_size_),
              false,
          },
          &MetaData::MergeImpl,
          &MetaData::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void MetaData::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.MetaData)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.best_block_hash_.ClearToEmpty();
  _impl_.accumulated_difficulty_.ClearToEmpty();
  ::memset(&_impl_.best_block_height_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.pruned_height_) -
      reinterpret_cast<char*>(&_impl_.best_block_height_)) + sizeof(_impl_.pruned_height_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MetaData::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 4, 0, 0, 2> MetaData::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967244,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_MetaData_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::MetaData>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 best_block_height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MetaData, _impl_.best_block_height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(MetaData, _impl_.best_block_height_)}},
    // bytes best_block_hash = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(MetaData, _impl_.best_block_hash_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    // bytes accumulated_difficulty = 5;
    {::_pbi::TcParser::FastBS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(MetaData, _impl_.accumulated_difficulty_)}},
    // uint64 pruned_height = 6;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MetaData, _impl_.pruned_height_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(MetaData, _impl_.pruned_height_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 best_block_height = 1;
    {PROTOBUF_FIELD_OFFSET(MetaData, _impl_.best_block_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bytes best_block_hash = 2;
    {PROTOBUF_FIELD_OFFSET(MetaData, _impl_.best_block_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes accumulated_difficulty = 5;
    {PROTOBUF_FIELD_OFFSET(MetaData, _impl_.accumulated_difficulty_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // uint64 pruned_height = 6;
    {PROTOBUF_FIELD_OFFSET(MetaData, _impl_.pruned_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* MetaData::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.MetaData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 best_block_height = 1;
  if (this->_internal_best_block_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_best_block_height(), target);
  }

  // bytes best_block_hash = 2;
  if (!this->_internal_best_block_hash().empty()) {
    const std::string& _s = this->_internal_best_block_hash();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // bytes accumulated_difficulty = 5;
  if (!this->_internal_accumulated_difficulty().empty()) {
    const std::string& _s = this->_internal_accumulated_difficulty();
    target = stream->WriteBytesMaybeAliased(5, _s, target);
  }

  // uint64 pruned_height = 6;
  if (this->_internal_pruned_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        6, this->_internal_pruned_height(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.MetaData)
  return target;
}

::size_t MetaData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.MetaData)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes best_block_hash = 2;
  if (!this->_internal_best_block_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_best_block_hash());
  }

  // bytes accumulated_difficulty = 5;
  if (!this->_internal_accumulated_difficulty().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_accumulated_difficulty());
  }

  // uint64 best_block_height = 1;
  if (this->_internal_best_block_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_best_block_height());
  }

  // uint64 pruned_height = 6;
  if (this->_internal_pruned_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_pruned_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void MetaData::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<MetaData*>(&to_msg);
  auto& from = static_cast<const MetaData&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.MetaData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_best_block_hash().empty()) {
    _this->_internal_set_best_block_hash(from._internal_best_block_hash());
  }
  if (!from._internal_accumulated_difficulty().empty()) {
    _this->_internal_set_accumulated_difficulty(from._internal_accumulated_difficulty());
  }
  if (from._internal_best_block_height() != 0) {
    _this->_impl_.best_block_height_ = from._impl_.best_block_height_;
  }
  if (from._internal_pruned_height() != 0) {
    _this->_impl_.pruned_height_ = from._impl_.pruned_height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MetaData::CopyFrom(const MetaData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.MetaData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MetaData::IsInitialized() const {
  return true;
}

void MetaData::InternalSwap(MetaData* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.best_block_hash_, &other->_impl_.best_block_hash_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.accumulated_difficulty_, &other->_impl_.accumulated_difficulty_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MetaData, _impl_.pruned_height_)
      + sizeof(MetaData::_impl_.pruned_height_)
      - PROTOBUF_FIELD_OFFSET(MetaData, _impl_.best_block_height_)>(
          reinterpret_cast<char*>(&_impl_.best_block_height_),
          reinterpret_cast<char*>(&other->_impl_.best_block_height_));
}

::google::protobuf::Metadata MetaData::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[27]);
}
// ===================================================================

class SyncInfoResponse::_Internal {
 public:
};

SyncInfoResponse::SyncInfoResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SyncInfoResponse)
}
inline PROTOBUF_NDEBUG_INLINE SyncInfoResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : peer_node_id_{visibility, arena, from.peer_node_id_},
        _cached_size_{0} {}

SyncInfoResponse::SyncInfoResponse(
    ::google::protobuf::Arena* arena,
    const SyncInfoResponse& from)
    : ::google::protobuf::Message(arena) {
  SyncInfoResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, tip_height_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, tip_height_),
           offsetof(Impl_, local_height_) -
               offsetof(Impl_, tip_height_) +
               sizeof(Impl_::local_height_));

  // @@protoc_insertion_point(copy_constructor:tari.rpc.SyncInfoResponse)
}
inline PROTOBUF_NDEBUG_INLINE SyncInfoResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : peer_node_id_{visibility, arena},
        _cached_size_{0} {}

inline void SyncInfoResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, tip_height_),
           0,
           offsetof(Impl_, local_height_) -
               offsetof(Impl_, tip_height_) +
               sizeof(Impl_::local_height_));
}
SyncInfoResponse::~SyncInfoResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.SyncInfoResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SyncInfoResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SyncInfoResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_._cached_size_),
              false,
          },
          &SyncInfoResponse::MergeImpl,
          &SyncInfoResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SyncInfoResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SyncInfoResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.peer_node_id_.Clear();
  ::memset(&_impl_.tip_height_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.local_height_) -
      reinterpret_cast<char*>(&_impl_.tip_height_)) + sizeof(_impl_.local_height_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SyncInfoResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> SyncInfoResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SyncInfoResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SyncInfoResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 tip_height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SyncInfoResponse, _impl_.tip_height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.tip_height_)}},
    // uint64 local_height = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SyncInfoResponse, _impl_.local_height_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.local_height_)}},
    // repeated bytes peer_node_id = 3;
    {::_pbi::TcParser::FastBR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.peer_node_id_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 tip_height = 1;
    {PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.tip_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 local_height = 2;
    {PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.local_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // repeated bytes peer_node_id = 3;
    {PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.peer_node_id_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* SyncInfoResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SyncInfoResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 tip_height = 1;
  if (this->_internal_tip_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_tip_height(), target);
  }

  // uint64 local_height = 2;
  if (this->_internal_local_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_local_height(), target);
  }

  // repeated bytes peer_node_id = 3;
  for (int i = 0, n = this->_internal_peer_node_id_size(); i < n; ++i) {
    const auto& s = this->_internal_peer_node_id().Get(i);
    target = stream->WriteBytes(3, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SyncInfoResponse)
  return target;
}

::size_t SyncInfoResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SyncInfoResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated bytes peer_node_id = 3;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_peer_node_id().size());
  for (int i = 0, n = _internal_peer_node_id().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        _internal_peer_node_id().Get(i));
  }
  // uint64 tip_height = 1;
  if (this->_internal_tip_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_tip_height());
  }

  // uint64 local_height = 2;
  if (this->_internal_local_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_local_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SyncInfoResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SyncInfoResponse*>(&to_msg);
  auto& from = static_cast<const SyncInfoResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SyncInfoResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_peer_node_id()->MergeFrom(from._internal_peer_node_id());
  if (from._internal_tip_height() != 0) {
    _this->_impl_.tip_height_ = from._impl_.tip_height_;
  }
  if (from._internal_local_height() != 0) {
    _this->_impl_.local_height_ = from._impl_.local_height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SyncInfoResponse::CopyFrom(const SyncInfoResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SyncInfoResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SyncInfoResponse::IsInitialized() const {
  return true;
}

void SyncInfoResponse::InternalSwap(SyncInfoResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.peer_node_id_.InternalSwap(&other->_impl_.peer_node_id_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.local_height_)
      + sizeof(SyncInfoResponse::_impl_.local_height_)
      - PROTOBUF_FIELD_OFFSET(SyncInfoResponse, _impl_.tip_height_)>(
          reinterpret_cast<char*>(&_impl_.tip_height_),
          reinterpret_cast<char*>(&other->_impl_.tip_height_));
}

::google::protobuf::Metadata SyncInfoResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[28]);
}
// ===================================================================

class SyncProgressResponse::_Internal {
 public:
};

SyncProgressResponse::SyncProgressResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SyncProgressResponse)
}
SyncProgressResponse::SyncProgressResponse(
    ::google::protobuf::Arena* arena, const SyncProgressResponse& from)
    : SyncProgressResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE SyncProgressResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void SyncProgressResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, tip_height_),
           0,
           offsetof(Impl_, state_) -
               offsetof(Impl_, tip_height_) +
               sizeof(Impl_::state_));
}
SyncProgressResponse::~SyncProgressResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.SyncProgressResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SyncProgressResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SyncProgressResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_._cached_size_),
              false,
          },
          &SyncProgressResponse::MergeImpl,
          &SyncProgressResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SyncProgressResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SyncProgressResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.tip_height_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.state_) -
      reinterpret_cast<char*>(&_impl_.tip_height_)) + sizeof(_impl_.state_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SyncProgressResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> SyncProgressResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SyncProgressResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SyncProgressResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 tip_height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SyncProgressResponse, _impl_.tip_height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.tip_height_)}},
    // uint64 local_height = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(SyncProgressResponse, _impl_.local_height_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.local_height_)}},
    // .tari.rpc.SyncState state = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SyncProgressResponse, _impl_.state_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.state_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 tip_height = 1;
    {PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.tip_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 local_height = 2;
    {PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.local_height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // .tari.rpc.SyncState state = 3;
    {PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.state_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* SyncProgressResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SyncProgressResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 tip_height = 1;
  if (this->_internal_tip_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_tip_height(), target);
  }

  // uint64 local_height = 2;
  if (this->_internal_local_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_local_height(), target);
  }

  // .tari.rpc.SyncState state = 3;
  if (this->_internal_state() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_state(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SyncProgressResponse)
  return target;
}

::size_t SyncProgressResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SyncProgressResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 tip_height = 1;
  if (this->_internal_tip_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_tip_height());
  }

  // uint64 local_height = 2;
  if (this->_internal_local_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_local_height());
  }

  // .tari.rpc.SyncState state = 3;
  if (this->_internal_state() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_state());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SyncProgressResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SyncProgressResponse*>(&to_msg);
  auto& from = static_cast<const SyncProgressResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SyncProgressResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_tip_height() != 0) {
    _this->_impl_.tip_height_ = from._impl_.tip_height_;
  }
  if (from._internal_local_height() != 0) {
    _this->_impl_.local_height_ = from._impl_.local_height_;
  }
  if (from._internal_state() != 0) {
    _this->_impl_.state_ = from._impl_.state_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SyncProgressResponse::CopyFrom(const SyncProgressResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SyncProgressResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SyncProgressResponse::IsInitialized() const {
  return true;
}

void SyncProgressResponse::InternalSwap(SyncProgressResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.state_)
      + sizeof(SyncProgressResponse::_impl_.state_)
      - PROTOBUF_FIELD_OFFSET(SyncProgressResponse, _impl_.tip_height_)>(
          reinterpret_cast<char*>(&_impl_.tip_height_),
          reinterpret_cast<char*>(&other->_impl_.tip_height_));
}

::google::protobuf::Metadata SyncProgressResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[29]);
}
// ===================================================================

class GetNewBlockResult::_Internal {
 public:
  using HasBits = decltype(std::declval<GetNewBlockResult>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_._has_bits_);
};

void GetNewBlockResult::clear_block() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.block_ != nullptr) _impl_.block_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetNewBlockResult::GetNewBlockResult(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetNewBlockResult)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        block_hash_(arena, from.block_hash_),
        merge_mining_hash_(arena, from.merge_mining_hash_),
        tari_unique_id_(arena, from.tari_unique_id_) {}

GetNewBlockResult::GetNewBlockResult(
    ::google::protobuf::Arena* arena,
    const GetNewBlockResult& from)
    : ::google::protobuf::Message(arena) {
  GetNewBlockResult* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.block_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::Block>(
                              arena, *from._impl_.block_)
                        : nullptr;
  _impl_.miner_data_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::MinerData>(
                              arena, *from._impl_.miner_data_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetNewBlockResult)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        block_hash_(arena),
        merge_mining_hash_(arena),
        tari_unique_id_(arena) {}

inline void GetNewBlockResult::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, block_),
           0,
           offsetof(Impl_, miner_data_) -
               offsetof(Impl_, block_) +
               sizeof(Impl_::miner_data_));
}
GetNewBlockResult::~GetNewBlockResult() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetNewBlockResult)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetNewBlockResult::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.block_hash_.Destroy();
  _impl_.merge_mining_hash_.Destroy();
  _impl_.tari_unique_id_.Destroy();
  delete _impl_.block_;
  delete _impl_.miner_data_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetNewBlockResult::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_._cached_size_),
              false,
          },
          &GetNewBlockResult::MergeImpl,
          &GetNewBlockResult::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetNewBlockResult::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetNewBlockResult)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.block_hash_.ClearToEmpty();
  _impl_.merge_mining_hash_.ClearToEmpty();
  _impl_.tari_unique_id_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.block_ != nullptr);
      _impl_.block_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.miner_data_ != nullptr);
      _impl_.miner_data_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetNewBlockResult::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> GetNewBlockResult::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetNewBlockResult_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetNewBlockResult>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bytes block_hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.block_hash_)}},
    // .tari.rpc.Block block = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.block_)}},
    // bytes merge_mining_hash = 3;
    {::_pbi::TcParser::FastBS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.merge_mining_hash_)}},
    // bytes tari_unique_id = 4;
    {::_pbi::TcParser::FastBS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.tari_unique_id_)}},
    // .tari.rpc.MinerData miner_data = 5;
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.miner_data_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes block_hash = 1;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.block_hash_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // .tari.rpc.Block block = 2;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.block_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bytes merge_mining_hash = 3;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.merge_mining_hash_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes tari_unique_id = 4;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.tari_unique_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // .tari.rpc.MinerData miner_data = 5;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.miner_data_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::Block>()},
    {::_pbi::TcParser::GetTable<::tari::rpc::MinerData>()},
  }}, {{
  }},
};

::uint8_t* GetNewBlockResult::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetNewBlockResult)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes block_hash = 1;
  if (!this->_internal_block_hash().empty()) {
    const std::string& _s = this->_internal_block_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.Block block = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *_impl_.block_, _impl_.block_->GetCachedSize(), target, stream);
  }

  // bytes merge_mining_hash = 3;
  if (!this->_internal_merge_mining_hash().empty()) {
    const std::string& _s = this->_internal_merge_mining_hash();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

  // bytes tari_unique_id = 4;
  if (!this->_internal_tari_unique_id().empty()) {
    const std::string& _s = this->_internal_tari_unique_id();
    target = stream->WriteBytesMaybeAliased(4, _s, target);
  }

  // .tari.rpc.MinerData miner_data = 5;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *_impl_.miner_data_, _impl_.miner_data_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetNewBlockResult)
  return target;
}

::size_t GetNewBlockResult::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetNewBlockResult)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes block_hash = 1;
  if (!this->_internal_block_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_block_hash());
  }

  // bytes merge_mining_hash = 3;
  if (!this->_internal_merge_mining_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_merge_mining_hash());
  }

  // bytes tari_unique_id = 4;
  if (!this->_internal_tari_unique_id().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_tari_unique_id());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .tari.rpc.Block block = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.block_);
    }

    // .tari.rpc.MinerData miner_data = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.miner_data_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetNewBlockResult::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetNewBlockResult*>(&to_msg);
  auto& from = static_cast<const GetNewBlockResult&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetNewBlockResult)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_block_hash().empty()) {
    _this->_internal_set_block_hash(from._internal_block_hash());
  }
  if (!from._internal_merge_mining_hash().empty()) {
    _this->_internal_set_merge_mining_hash(from._internal_merge_mining_hash());
  }
  if (!from._internal_tari_unique_id().empty()) {
    _this->_internal_set_tari_unique_id(from._internal_tari_unique_id());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(from._impl_.block_ != nullptr);
      if (_this->_impl_.block_ == nullptr) {
        _this->_impl_.block_ =
            ::google::protobuf::Message::CopyConstruct<::tari::rpc::Block>(arena, *from._impl_.block_);
      } else {
        _this->_impl_.block_->MergeFrom(*from._impl_.block_);
      }
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(from._impl_.miner_data_ != nullptr);
      if (_this->_impl_.miner_data_ == nullptr) {
        _this->_impl_.miner_data_ =
            ::google::protobuf::Message::CopyConstruct<::tari::rpc::MinerData>(arena, *from._impl_.miner_data_);
      } else {
        _this->_impl_.miner_data_->MergeFrom(*from._impl_.miner_data_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetNewBlockResult::CopyFrom(const GetNewBlockResult& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetNewBlockResult)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetNewBlockResult::IsInitialized() const {
  return true;
}

void GetNewBlockResult::InternalSwap(GetNewBlockResult* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.block_hash_, &other->_impl_.block_hash_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.merge_mining_hash_, &other->_impl_.merge_mining_hash_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tari_unique_id_, &other->_impl_.tari_unique_id_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.miner_data_)
      + sizeof(GetNewBlockResult::_impl_.miner_data_)
      - PROTOBUF_FIELD_OFFSET(GetNewBlockResult, _impl_.block_)>(
          reinterpret_cast<char*>(&_impl_.block_),
          reinterpret_cast<char*>(&other->_impl_.block_));
}

::google::protobuf::Metadata GetNewBlockResult::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[30]);
}
// ===================================================================

class GetNewBlockBlobResult::_Internal {
 public:
};

GetNewBlockBlobResult::GetNewBlockBlobResult(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetNewBlockBlobResult)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockBlobResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : block_hash_(arena, from.block_hash_),
        header_(arena, from.header_),
        block_body_(arena, from.block_body_),
        merge_mining_hash_(arena, from.merge_mining_hash_),
        utxo_mr_(arena, from.utxo_mr_),
        tari_unique_id_(arena, from.tari_unique_id_),
        _cached_size_{0} {}

GetNewBlockBlobResult::GetNewBlockBlobResult(
    ::google::protobuf::Arena* arena,
    const GetNewBlockBlobResult& from)
    : ::google::protobuf::Message(arena) {
  GetNewBlockBlobResult* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetNewBlockBlobResult)
}
inline PROTOBUF_NDEBUG_INLINE GetNewBlockBlobResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : block_hash_(arena),
        header_(arena),
        block_body_(arena),
        merge_mining_hash_(arena),
        utxo_mr_(arena),
        tari_unique_id_(arena),
        _cached_size_{0} {}

inline void GetNewBlockBlobResult::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetNewBlockBlobResult::~GetNewBlockBlobResult() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetNewBlockBlobResult)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetNewBlockBlobResult::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.block_hash_.Destroy();
  _impl_.header_.Destroy();
  _impl_.block_body_.Destroy();
  _impl_.merge_mining_hash_.Destroy();
  _impl_.utxo_mr_.Destroy();
  _impl_.tari_unique_id_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetNewBlockBlobResult::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_._cached_size_),
              false,
          },
          &GetNewBlockBlobResult::MergeImpl,
          &GetNewBlockBlobResult::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetNewBlockBlobResult::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetNewBlockBlobResult)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.block_hash_.ClearToEmpty();
  _impl_.header_.ClearToEmpty();
  _impl_.block_body_.ClearToEmpty();
  _impl_.merge_mining_hash_.ClearToEmpty();
  _impl_.utxo_mr_.ClearToEmpty();
  _impl_.tari_unique_id_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetNewBlockBlobResult::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 0, 0, 2> GetNewBlockBlobResult::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetNewBlockBlobResult_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetNewBlockBlobResult>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bytes block_hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.block_hash_)}},
    // bytes header = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.header_)}},
    // bytes block_body = 3;
    {::_pbi::TcParser::FastBS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.block_body_)}},
    // bytes merge_mining_hash = 4;
    {::_pbi::TcParser::FastBS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.merge_mining_hash_)}},
    // bytes utxo_mr = 5;
    {::_pbi::TcParser::FastBS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.utxo_mr_)}},
    // bytes tari_unique_id = 6;
    {::_pbi::TcParser::FastBS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.tari_unique_id_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes block_hash = 1;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.block_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes header = 2;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.header_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes block_body = 3;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.block_body_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes merge_mining_hash = 4;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.merge_mining_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes utxo_mr = 5;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.utxo_mr_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes tari_unique_id = 6;
    {PROTOBUF_FIELD_OFFSET(GetNewBlockBlobResult, _impl_.tari_unique_id_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetNewBlockBlobResult::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetNewBlockBlobResult)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes block_hash = 1;
  if (!this->_internal_block_hash().empty()) {
    const std::string& _s = this->_internal_block_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // bytes header = 2;
  if (!this->_internal_header().empty()) {
    const std::string& _s = this->_internal_header();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // bytes block_body = 3;
  if (!this->_internal_block_body().empty()) {
    const std::string& _s = this->_internal_block_body();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

  // bytes merge_mining_hash = 4;
  if (!this->_internal_merge_mining_hash().empty()) {
    const std::string& _s = this->_internal_merge_mining_hash();
    target = stream->WriteBytesMaybeAliased(4, _s, target);
  }

  // bytes utxo_mr = 5;
  if (!this->_internal_utxo_mr().empty()) {
    const std::string& _s = this->_internal_utxo_mr();
    target = stream->WriteBytesMaybeAliased(5, _s, target);
  }

  // bytes tari_unique_id = 6;
  if (!this->_internal_tari_unique_id().empty()) {
    const std::string& _s = this->_internal_tari_unique_id();
    target = stream->WriteBytesMaybeAliased(6, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetNewBlockBlobResult)
  return target;
}

::size_t GetNewBlockBlobResult::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetNewBlockBlobResult)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes block_hash = 1;
  if (!this->_internal_block_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_block_hash());
  }

  // bytes header = 2;
  if (!this->_internal_header().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_header());
  }

  // bytes block_body = 3;
  if (!this->_internal_block_body().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_block_body());
  }

  // bytes merge_mining_hash = 4;
  if (!this->_internal_merge_mining_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_merge_mining_hash());
  }

  // bytes utxo_mr = 5;
  if (!this->_internal_utxo_mr().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_utxo_mr());
  }

  // bytes tari_unique_id = 6;
  if (!this->_internal_tari_unique_id().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_tari_unique_id());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetNewBlockBlobResult::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetNewBlockBlobResult*>(&to_msg);
  auto& from = static_cast<const GetNewBlockBlobResult&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetNewBlockBlobResult)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_block_hash().empty()) {
    _this->_internal_set_block_hash(from._internal_block_hash());
  }
  if (!from._internal_header().empty()) {
    _this->_internal_set_header(from._internal_header());
  }
  if (!from._internal_block_body().empty()) {
    _this->_internal_set_block_body(from._internal_block_body());
  }
  if (!from._internal_merge_mining_hash().empty()) {
    _this->_internal_set_merge_mining_hash(from._internal_merge_mining_hash());
  }
  if (!from._internal_utxo_mr().empty()) {
    _this->_internal_set_utxo_mr(from._internal_utxo_mr());
  }
  if (!from._internal_tari_unique_id().empty()) {
    _this->_internal_set_tari_unique_id(from._internal_tari_unique_id());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetNewBlockBlobResult::CopyFrom(const GetNewBlockBlobResult& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetNewBlockBlobResult)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetNewBlockBlobResult::IsInitialized() const {
  return true;
}

void GetNewBlockBlobResult::InternalSwap(GetNewBlockBlobResult* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.block_hash_, &other->_impl_.block_hash_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.header_, &other->_impl_.header_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.block_body_, &other->_impl_.block_body_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.merge_mining_hash_, &other->_impl_.merge_mining_hash_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.utxo_mr_, &other->_impl_.utxo_mr_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tari_unique_id_, &other->_impl_.tari_unique_id_, arena);
}

::google::protobuf::Metadata GetNewBlockBlobResult::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[31]);
}
// ===================================================================

class MinerData::_Internal {
 public:
  using HasBits = decltype(std::declval<MinerData>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MinerData, _impl_._has_bits_);
};

void MinerData::clear_algo() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.algo_ != nullptr) _impl_.algo_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
MinerData::MinerData(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.MinerData)
}
inline PROTOBUF_NDEBUG_INLINE MinerData::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

MinerData::MinerData(
    ::google::protobuf::Arena* arena,
    const MinerData& from)
    : ::google::protobuf::Message(arena) {
  MinerData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.algo_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::PowAlgo>(
                              arena, *from._impl_.algo_)
                        : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, target_difficulty_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, target_difficulty_),
           offsetof(Impl_, total_fees_) -
               offsetof(Impl_, target_difficulty_) +
               sizeof(Impl_::total_fees_));

  // @@protoc_insertion_point(copy_constructor:tari.rpc.MinerData)
}
inline PROTOBUF_NDEBUG_INLINE MinerData::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void MinerData::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, algo_),
           0,
           offsetof(Impl_, total_fees_) -
               offsetof(Impl_, algo_) +
               sizeof(Impl_::total_fees_));
}
MinerData::~MinerData() {
  // @@protoc_insertion_point(destructor:tari.rpc.MinerData)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MinerData::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.algo_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
MinerData::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(MinerData, _impl_._cached_size_),
              false,
          },
          &MinerData::MergeImpl,
          &MinerData::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void MinerData::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.MinerData)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.algo_ != nullptr);
    _impl_.algo_->Clear();
  }
  ::memset(&_impl_.target_difficulty_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.total_fees_) -
      reinterpret_cast<char*>(&_impl_.target_difficulty_)) + sizeof(_impl_.total_fees_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MinerData::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 4, 1, 0, 2> MinerData::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MinerData, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967272,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MinerData_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::MinerData>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .tari.rpc.PowAlgo algo = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(MinerData, _impl_.algo_)}},
    // uint64 target_difficulty = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MinerData, _impl_.target_difficulty_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MinerData, _impl_.target_difficulty_)}},
    // uint64 reward = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MinerData, _impl_.reward_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MinerData, _impl_.reward_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 total_fees = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MinerData, _impl_.total_fees_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(MinerData, _impl_.total_fees_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.PowAlgo algo = 1;
    {PROTOBUF_FIELD_OFFSET(MinerData, _impl_.algo_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint64 target_difficulty = 2;
    {PROTOBUF_FIELD_OFFSET(MinerData, _impl_.target_difficulty_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 reward = 3;
    {PROTOBUF_FIELD_OFFSET(MinerData, _impl_.reward_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 total_fees = 5;
    {PROTOBUF_FIELD_OFFSET(MinerData, _impl_.total_fees_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::PowAlgo>()},
  }}, {{
  }},
};

::uint8_t* MinerData::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.MinerData)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.PowAlgo algo = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.algo_, _impl_.algo_->GetCachedSize(), target, stream);
  }

  // uint64 target_difficulty = 2;
  if (this->_internal_target_difficulty() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_target_difficulty(), target);
  }

  // uint64 reward = 3;
  if (this->_internal_reward() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_reward(), target);
  }

  // uint64 total_fees = 5;
  if (this->_internal_total_fees() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this->_internal_total_fees(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.MinerData)
  return target;
}

::size_t MinerData::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.MinerData)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.PowAlgo algo = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.algo_);
  }

  // uint64 target_difficulty = 2;
  if (this->_internal_target_difficulty() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_target_difficulty());
  }

  // uint64 reward = 3;
  if (this->_internal_reward() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_reward());
  }

  // uint64 total_fees = 5;
  if (this->_internal_total_fees() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_total_fees());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void MinerData::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<MinerData*>(&to_msg);
  auto& from = static_cast<const MinerData&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.MinerData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.algo_ != nullptr);
    if (_this->_impl_.algo_ == nullptr) {
      _this->_impl_.algo_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::PowAlgo>(arena, *from._impl_.algo_);
    } else {
      _this->_impl_.algo_->MergeFrom(*from._impl_.algo_);
    }
  }
  if (from._internal_target_difficulty() != 0) {
    _this->_impl_.target_difficulty_ = from._impl_.target_difficulty_;
  }
  if (from._internal_reward() != 0) {
    _this->_impl_.reward_ = from._impl_.reward_;
  }
  if (from._internal_total_fees() != 0) {
    _this->_impl_.total_fees_ = from._impl_.total_fees_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MinerData::CopyFrom(const MinerData& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.MinerData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MinerData::IsInitialized() const {
  return true;
}

void MinerData::InternalSwap(MinerData* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MinerData, _impl_.total_fees_)
      + sizeof(MinerData::_impl_.total_fees_)
      - PROTOBUF_FIELD_OFFSET(MinerData, _impl_.algo_)>(
          reinterpret_cast<char*>(&_impl_.algo_),
          reinterpret_cast<char*>(&other->_impl_.algo_));
}

::google::protobuf::Metadata MinerData::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[32]);
}
// ===================================================================

class SearchKernelsRequest::_Internal {
 public:
};

void SearchKernelsRequest::clear_signatures() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.signatures_.Clear();
}
SearchKernelsRequest::SearchKernelsRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SearchKernelsRequest)
}
inline PROTOBUF_NDEBUG_INLINE SearchKernelsRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : signatures_{visibility, arena, from.signatures_},
        _cached_size_{0} {}

SearchKernelsRequest::SearchKernelsRequest(
    ::google::protobuf::Arena* arena,
    const SearchKernelsRequest& from)
    : ::google::protobuf::Message(arena) {
  SearchKernelsRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.SearchKernelsRequest)
}
inline PROTOBUF_NDEBUG_INLINE SearchKernelsRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : signatures_{visibility, arena},
        _cached_size_{0} {}

inline void SearchKernelsRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SearchKernelsRequest::~SearchKernelsRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.SearchKernelsRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SearchKernelsRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SearchKernelsRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SearchKernelsRequest, _impl_._cached_size_),
              false,
          },
          &SearchKernelsRequest::MergeImpl,
          &SearchKernelsRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SearchKernelsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SearchKernelsRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.signatures_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SearchKernelsRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> SearchKernelsRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SearchKernelsRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SearchKernelsRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .tari.rpc.Signature signatures = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SearchKernelsRequest, _impl_.signatures_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .tari.rpc.Signature signatures = 1;
    {PROTOBUF_FIELD_OFFSET(SearchKernelsRequest, _impl_.signatures_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::Signature>()},
  }}, {{
  }},
};

::uint8_t* SearchKernelsRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SearchKernelsRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .tari.rpc.Signature signatures = 1;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_signatures_size());
       i < n; i++) {
    const auto& repfield = this->_internal_signatures().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            1, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SearchKernelsRequest)
  return target;
}

::size_t SearchKernelsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SearchKernelsRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .tari.rpc.Signature signatures = 1;
  total_size += 1UL * this->_internal_signatures_size();
  for (const auto& msg : this->_internal_signatures()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SearchKernelsRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SearchKernelsRequest*>(&to_msg);
  auto& from = static_cast<const SearchKernelsRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SearchKernelsRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_signatures()->MergeFrom(
      from._internal_signatures());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SearchKernelsRequest::CopyFrom(const SearchKernelsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SearchKernelsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SearchKernelsRequest::IsInitialized() const {
  return true;
}

void SearchKernelsRequest::InternalSwap(SearchKernelsRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.signatures_.InternalSwap(&other->_impl_.signatures_);
}

::google::protobuf::Metadata SearchKernelsRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[33]);
}
// ===================================================================

class SearchUtxosRequest::_Internal {
 public:
};

SearchUtxosRequest::SearchUtxosRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SearchUtxosRequest)
}
inline PROTOBUF_NDEBUG_INLINE SearchUtxosRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : commitments_{visibility, arena, from.commitments_},
        _cached_size_{0} {}

SearchUtxosRequest::SearchUtxosRequest(
    ::google::protobuf::Arena* arena,
    const SearchUtxosRequest& from)
    : ::google::protobuf::Message(arena) {
  SearchUtxosRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.SearchUtxosRequest)
}
inline PROTOBUF_NDEBUG_INLINE SearchUtxosRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : commitments_{visibility, arena},
        _cached_size_{0} {}

inline void SearchUtxosRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SearchUtxosRequest::~SearchUtxosRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.SearchUtxosRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SearchUtxosRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SearchUtxosRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SearchUtxosRequest, _impl_._cached_size_),
              false,
          },
          &SearchUtxosRequest::MergeImpl,
          &SearchUtxosRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SearchUtxosRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SearchUtxosRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.commitments_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SearchUtxosRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> SearchUtxosRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SearchUtxosRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SearchUtxosRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated bytes commitments = 1;
    {::_pbi::TcParser::FastBR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SearchUtxosRequest, _impl_.commitments_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated bytes commitments = 1;
    {PROTOBUF_FIELD_OFFSET(SearchUtxosRequest, _impl_.commitments_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* SearchUtxosRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SearchUtxosRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated bytes commitments = 1;
  for (int i = 0, n = this->_internal_commitments_size(); i < n; ++i) {
    const auto& s = this->_internal_commitments().Get(i);
    target = stream->WriteBytes(1, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SearchUtxosRequest)
  return target;
}

::size_t SearchUtxosRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SearchUtxosRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated bytes commitments = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_commitments().size());
  for (int i = 0, n = _internal_commitments().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        _internal_commitments().Get(i));
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SearchUtxosRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SearchUtxosRequest*>(&to_msg);
  auto& from = static_cast<const SearchUtxosRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SearchUtxosRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_commitments()->MergeFrom(from._internal_commitments());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SearchUtxosRequest::CopyFrom(const SearchUtxosRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SearchUtxosRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SearchUtxosRequest::IsInitialized() const {
  return true;
}

void SearchUtxosRequest::InternalSwap(SearchUtxosRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.commitments_.InternalSwap(&other->_impl_.commitments_);
}

::google::protobuf::Metadata SearchUtxosRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[34]);
}
// ===================================================================

class FetchMatchingUtxosRequest::_Internal {
 public:
};

FetchMatchingUtxosRequest::FetchMatchingUtxosRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.FetchMatchingUtxosRequest)
}
inline PROTOBUF_NDEBUG_INLINE FetchMatchingUtxosRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : hashes_{visibility, arena, from.hashes_},
        _cached_size_{0} {}

FetchMatchingUtxosRequest::FetchMatchingUtxosRequest(
    ::google::protobuf::Arena* arena,
    const FetchMatchingUtxosRequest& from)
    : ::google::protobuf::Message(arena) {
  FetchMatchingUtxosRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.FetchMatchingUtxosRequest)
}
inline PROTOBUF_NDEBUG_INLINE FetchMatchingUtxosRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : hashes_{visibility, arena},
        _cached_size_{0} {}

inline void FetchMatchingUtxosRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
FetchMatchingUtxosRequest::~FetchMatchingUtxosRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.FetchMatchingUtxosRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FetchMatchingUtxosRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
FetchMatchingUtxosRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosRequest, _impl_._cached_size_),
              false,
          },
          &FetchMatchingUtxosRequest::MergeImpl,
          &FetchMatchingUtxosRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void FetchMatchingUtxosRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.FetchMatchingUtxosRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.hashes_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FetchMatchingUtxosRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> FetchMatchingUtxosRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_FetchMatchingUtxosRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::FetchMatchingUtxosRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated bytes hashes = 1;
    {::_pbi::TcParser::FastBR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosRequest, _impl_.hashes_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated bytes hashes = 1;
    {PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosRequest, _impl_.hashes_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* FetchMatchingUtxosRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.FetchMatchingUtxosRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated bytes hashes = 1;
  for (int i = 0, n = this->_internal_hashes_size(); i < n; ++i) {
    const auto& s = this->_internal_hashes().Get(i);
    target = stream->WriteBytes(1, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.FetchMatchingUtxosRequest)
  return target;
}

::size_t FetchMatchingUtxosRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.FetchMatchingUtxosRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated bytes hashes = 1;
  total_size += 1 * ::google::protobuf::internal::FromIntSize(_internal_hashes().size());
  for (int i = 0, n = _internal_hashes().size(); i < n; ++i) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
        _internal_hashes().Get(i));
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void FetchMatchingUtxosRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FetchMatchingUtxosRequest*>(&to_msg);
  auto& from = static_cast<const FetchMatchingUtxosRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.FetchMatchingUtxosRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_hashes()->MergeFrom(from._internal_hashes());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FetchMatchingUtxosRequest::CopyFrom(const FetchMatchingUtxosRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.FetchMatchingUtxosRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FetchMatchingUtxosRequest::IsInitialized() const {
  return true;
}

void FetchMatchingUtxosRequest::InternalSwap(FetchMatchingUtxosRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.hashes_.InternalSwap(&other->_impl_.hashes_);
}

::google::protobuf::Metadata FetchMatchingUtxosRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[35]);
}
// ===================================================================

class FetchMatchingUtxosResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<FetchMatchingUtxosResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosResponse, _impl_._has_bits_);
};

void FetchMatchingUtxosResponse::clear_output() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.output_ != nullptr) _impl_.output_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
FetchMatchingUtxosResponse::FetchMatchingUtxosResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.FetchMatchingUtxosResponse)
}
inline PROTOBUF_NDEBUG_INLINE FetchMatchingUtxosResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

FetchMatchingUtxosResponse::FetchMatchingUtxosResponse(
    ::google::protobuf::Arena* arena,
    const FetchMatchingUtxosResponse& from)
    : ::google::protobuf::Message(arena) {
  FetchMatchingUtxosResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.output_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::TransactionOutput>(
                              arena, *from._impl_.output_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.FetchMatchingUtxosResponse)
}
inline PROTOBUF_NDEBUG_INLINE FetchMatchingUtxosResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void FetchMatchingUtxosResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.output_ = {};
}
FetchMatchingUtxosResponse::~FetchMatchingUtxosResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.FetchMatchingUtxosResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FetchMatchingUtxosResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.output_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
FetchMatchingUtxosResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosResponse, _impl_._cached_size_),
              false,
          },
          &FetchMatchingUtxosResponse::MergeImpl,
          &FetchMatchingUtxosResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void FetchMatchingUtxosResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.FetchMatchingUtxosResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.output_ != nullptr);
    _impl_.output_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FetchMatchingUtxosResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> FetchMatchingUtxosResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosResponse, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FetchMatchingUtxosResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::FetchMatchingUtxosResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.TransactionOutput output = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosResponse, _impl_.output_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.TransactionOutput output = 1;
    {PROTOBUF_FIELD_OFFSET(FetchMatchingUtxosResponse, _impl_.output_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::TransactionOutput>()},
  }}, {{
  }},
};

::uint8_t* FetchMatchingUtxosResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.FetchMatchingUtxosResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.TransactionOutput output = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.output_, _impl_.output_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.FetchMatchingUtxosResponse)
  return target;
}

::size_t FetchMatchingUtxosResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.FetchMatchingUtxosResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.TransactionOutput output = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void FetchMatchingUtxosResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<FetchMatchingUtxosResponse*>(&to_msg);
  auto& from = static_cast<const FetchMatchingUtxosResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.FetchMatchingUtxosResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.output_ != nullptr);
    if (_this->_impl_.output_ == nullptr) {
      _this->_impl_.output_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::TransactionOutput>(arena, *from._impl_.output_);
    } else {
      _this->_impl_.output_->MergeFrom(*from._impl_.output_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FetchMatchingUtxosResponse::CopyFrom(const FetchMatchingUtxosResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.FetchMatchingUtxosResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FetchMatchingUtxosResponse::IsInitialized() const {
  return true;
}

void FetchMatchingUtxosResponse::InternalSwap(FetchMatchingUtxosResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.output_, other->_impl_.output_);
}

::google::protobuf::Metadata FetchMatchingUtxosResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[36]);
}
// ===================================================================

class GetPeersResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetPeersResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetPeersResponse, _impl_._has_bits_);
};

void GetPeersResponse::clear_peer() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.peer_ != nullptr) _impl_.peer_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetPeersResponse::GetPeersResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetPeersResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetPeersResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

GetPeersResponse::GetPeersResponse(
    ::google::protobuf::Arena* arena,
    const GetPeersResponse& from)
    : ::google::protobuf::Message(arena) {
  GetPeersResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.peer_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::Peer>(
                              arena, *from._impl_.peer_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetPeersResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetPeersResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void GetPeersResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.peer_ = {};
}
GetPeersResponse::~GetPeersResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetPeersResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetPeersResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.peer_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetPeersResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetPeersResponse, _impl_._cached_size_),
              false,
          },
          &GetPeersResponse::MergeImpl,
          &GetPeersResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetPeersResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetPeersResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.peer_ != nullptr);
    _impl_.peer_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetPeersResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> GetPeersResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetPeersResponse, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetPeersResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetPeersResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.Peer peer = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(GetPeersResponse, _impl_.peer_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.Peer peer = 1;
    {PROTOBUF_FIELD_OFFSET(GetPeersResponse, _impl_.peer_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::Peer>()},
  }}, {{
  }},
};

::uint8_t* GetPeersResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetPeersResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.Peer peer = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.peer_, _impl_.peer_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetPeersResponse)
  return target;
}

::size_t GetPeersResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetPeersResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.Peer peer = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.peer_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetPeersResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetPeersResponse*>(&to_msg);
  auto& from = static_cast<const GetPeersResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetPeersResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.peer_ != nullptr);
    if (_this->_impl_.peer_ == nullptr) {
      _this->_impl_.peer_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::Peer>(arena, *from._impl_.peer_);
    } else {
      _this->_impl_.peer_->MergeFrom(*from._impl_.peer_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetPeersResponse::CopyFrom(const GetPeersResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetPeersResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetPeersResponse::IsInitialized() const {
  return true;
}

void GetPeersResponse::InternalSwap(GetPeersResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.peer_, other->_impl_.peer_);
}

::google::protobuf::Metadata GetPeersResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[37]);
}
// ===================================================================

class GetPeersRequest::_Internal {
 public:
};

GetPeersRequest::GetPeersRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetPeersRequest)
}
GetPeersRequest::GetPeersRequest(
    ::google::protobuf::Arena* arena,
    const GetPeersRequest& from)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  GetPeersRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetPeersRequest)
}









::google::protobuf::Metadata GetPeersRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[38]);
}
// ===================================================================

class SubmitTransactionRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<SubmitTransactionRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SubmitTransactionRequest, _impl_._has_bits_);
};

void SubmitTransactionRequest::clear_transaction() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.transaction_ != nullptr) _impl_.transaction_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
SubmitTransactionRequest::SubmitTransactionRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SubmitTransactionRequest)
}
inline PROTOBUF_NDEBUG_INLINE SubmitTransactionRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

SubmitTransactionRequest::SubmitTransactionRequest(
    ::google::protobuf::Arena* arena,
    const SubmitTransactionRequest& from)
    : ::google::protobuf::Message(arena) {
  SubmitTransactionRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.transaction_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::Transaction>(
                              arena, *from._impl_.transaction_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.SubmitTransactionRequest)
}
inline PROTOBUF_NDEBUG_INLINE SubmitTransactionRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void SubmitTransactionRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.transaction_ = {};
}
SubmitTransactionRequest::~SubmitTransactionRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.SubmitTransactionRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SubmitTransactionRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.transaction_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SubmitTransactionRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SubmitTransactionRequest, _impl_._cached_size_),
              false,
          },
          &SubmitTransactionRequest::MergeImpl,
          &SubmitTransactionRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SubmitTransactionRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SubmitTransactionRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.transaction_ != nullptr);
    _impl_.transaction_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SubmitTransactionRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> SubmitTransactionRequest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SubmitTransactionRequest, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SubmitTransactionRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SubmitTransactionRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.Transaction transaction = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SubmitTransactionRequest, _impl_.transaction_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.Transaction transaction = 1;
    {PROTOBUF_FIELD_OFFSET(SubmitTransactionRequest, _impl_.transaction_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::Transaction>()},
  }}, {{
  }},
};

::uint8_t* SubmitTransactionRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SubmitTransactionRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.Transaction transaction = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.transaction_, _impl_.transaction_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SubmitTransactionRequest)
  return target;
}

::size_t SubmitTransactionRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SubmitTransactionRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.Transaction transaction = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.transaction_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SubmitTransactionRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SubmitTransactionRequest*>(&to_msg);
  auto& from = static_cast<const SubmitTransactionRequest&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SubmitTransactionRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.transaction_ != nullptr);
    if (_this->_impl_.transaction_ == nullptr) {
      _this->_impl_.transaction_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::Transaction>(arena, *from._impl_.transaction_);
    } else {
      _this->_impl_.transaction_->MergeFrom(*from._impl_.transaction_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SubmitTransactionRequest::CopyFrom(const SubmitTransactionRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SubmitTransactionRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SubmitTransactionRequest::IsInitialized() const {
  return true;
}

void SubmitTransactionRequest::InternalSwap(SubmitTransactionRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.transaction_, other->_impl_.transaction_);
}

::google::protobuf::Metadata SubmitTransactionRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[39]);
}
// ===================================================================

class SubmitTransactionResponse::_Internal {
 public:
};

SubmitTransactionResponse::SubmitTransactionResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.SubmitTransactionResponse)
}
SubmitTransactionResponse::SubmitTransactionResponse(
    ::google::protobuf::Arena* arena, const SubmitTransactionResponse& from)
    : SubmitTransactionResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE SubmitTransactionResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void SubmitTransactionResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.result_ = {};
}
SubmitTransactionResponse::~SubmitTransactionResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.SubmitTransactionResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SubmitTransactionResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
SubmitTransactionResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(SubmitTransactionResponse, _impl_._cached_size_),
              false,
          },
          &SubmitTransactionResponse::MergeImpl,
          &SubmitTransactionResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void SubmitTransactionResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.SubmitTransactionResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.result_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SubmitTransactionResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> SubmitTransactionResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SubmitTransactionResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::SubmitTransactionResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.SubmitTransactionResult result = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubmitTransactionResponse, _impl_.result_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SubmitTransactionResponse, _impl_.result_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.SubmitTransactionResult result = 1;
    {PROTOBUF_FIELD_OFFSET(SubmitTransactionResponse, _impl_.result_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* SubmitTransactionResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.SubmitTransactionResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .tari.rpc.SubmitTransactionResult result = 1;
  if (this->_internal_result() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_result(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.SubmitTransactionResponse)
  return target;
}

::size_t SubmitTransactionResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.SubmitTransactionResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.SubmitTransactionResult result = 1;
  if (this->_internal_result() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_result());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void SubmitTransactionResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<SubmitTransactionResponse*>(&to_msg);
  auto& from = static_cast<const SubmitTransactionResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.SubmitTransactionResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_result() != 0) {
    _this->_impl_.result_ = from._impl_.result_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void SubmitTransactionResponse::CopyFrom(const SubmitTransactionResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.SubmitTransactionResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SubmitTransactionResponse::IsInitialized() const {
  return true;
}

void SubmitTransactionResponse::InternalSwap(SubmitTransactionResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.result_, other->_impl_.result_);
}

::google::protobuf::Metadata SubmitTransactionResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[40]);
}
// ===================================================================

class GetMempoolTransactionsRequest::_Internal {
 public:
};

GetMempoolTransactionsRequest::GetMempoolTransactionsRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetMempoolTransactionsRequest)
}
GetMempoolTransactionsRequest::GetMempoolTransactionsRequest(
    ::google::protobuf::Arena* arena,
    const GetMempoolTransactionsRequest& from)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  GetMempoolTransactionsRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetMempoolTransactionsRequest)
}









::google::protobuf::Metadata GetMempoolTransactionsRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[41]);
}
// ===================================================================

class GetMempoolTransactionsResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetMempoolTransactionsResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetMempoolTransactionsResponse, _impl_._has_bits_);
};

void GetMempoolTransactionsResponse::clear_transaction() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.transaction_ != nullptr) _impl_.transaction_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetMempoolTransactionsResponse::GetMempoolTransactionsResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetMempoolTransactionsResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetMempoolTransactionsResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

GetMempoolTransactionsResponse::GetMempoolTransactionsResponse(
    ::google::protobuf::Arena* arena,
    const GetMempoolTransactionsResponse& from)
    : ::google::protobuf::Message(arena) {
  GetMempoolTransactionsResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.transaction_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::Transaction>(
                              arena, *from._impl_.transaction_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetMempoolTransactionsResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetMempoolTransactionsResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void GetMempoolTransactionsResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.transaction_ = {};
}
GetMempoolTransactionsResponse::~GetMempoolTransactionsResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetMempoolTransactionsResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetMempoolTransactionsResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.transaction_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetMempoolTransactionsResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetMempoolTransactionsResponse, _impl_._cached_size_),
              false,
          },
          &GetMempoolTransactionsResponse::MergeImpl,
          &GetMempoolTransactionsResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetMempoolTransactionsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetMempoolTransactionsResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.transaction_ != nullptr);
    _impl_.transaction_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetMempoolTransactionsResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> GetMempoolTransactionsResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetMempoolTransactionsResponse, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetMempoolTransactionsResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetMempoolTransactionsResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.Transaction transaction = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(GetMempoolTransactionsResponse, _impl_.transaction_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.Transaction transaction = 1;
    {PROTOBUF_FIELD_OFFSET(GetMempoolTransactionsResponse, _impl_.transaction_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::Transaction>()},
  }}, {{
  }},
};

::uint8_t* GetMempoolTransactionsResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetMempoolTransactionsResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.Transaction transaction = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.transaction_, _impl_.transaction_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetMempoolTransactionsResponse)
  return target;
}

::size_t GetMempoolTransactionsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetMempoolTransactionsResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.Transaction transaction = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.transaction_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetMempoolTransactionsResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetMempoolTransactionsResponse*>(&to_msg);
  auto& from = static_cast<const GetMempoolTransactionsResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetMempoolTransactionsResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.transaction_ != nullptr);
    if (_this->_impl_.transaction_ == nullptr) {
      _this->_impl_.transaction_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::Transaction>(arena, *from._impl_.transaction_);
    } else {
      _this->_impl_.transaction_->MergeFrom(*from._impl_.transaction_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetMempoolTransactionsResponse::CopyFrom(const GetMempoolTransactionsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetMempoolTransactionsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetMempoolTransactionsResponse::IsInitialized() const {
  return true;
}

void GetMempoolTransactionsResponse::InternalSwap(GetMempoolTransactionsResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.transaction_, other->_impl_.transaction_);
}

::google::protobuf::Metadata GetMempoolTransactionsResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[42]);
}
// ===================================================================

class TransactionStateRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<TransactionStateRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TransactionStateRequest, _impl_._has_bits_);
};

void TransactionStateRequest::clear_excess_sig() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.excess_sig_ != nullptr) _impl_.excess_sig_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
TransactionStateRequest::TransactionStateRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.TransactionStateRequest)
}
inline PROTOBUF_NDEBUG_INLINE TransactionStateRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

TransactionStateRequest::TransactionStateRequest(
    ::google::protobuf::Arena* arena,
    const TransactionStateRequest& from)
    : ::google::protobuf::Message(arena) {
  TransactionStateRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.excess_sig_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::Signature>(
                              arena, *from._impl_.excess_sig_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.TransactionStateRequest)
}
inline PROTOBUF_NDEBUG_INLINE TransactionStateRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void TransactionStateRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.excess_sig_ = {};
}
TransactionStateRequest::~TransactionStateRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.TransactionStateRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TransactionStateRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.excess_sig_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
TransactionStateRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(TransactionStateRequest, _impl_._cached_size_),
              false,
          },
          &TransactionStateRequest::MergeImpl,
          &TransactionStateRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void TransactionStateRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.TransactionStateRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.excess_sig_ != nullptr);
    _impl_.excess_sig_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TransactionStateRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> TransactionStateRequest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TransactionStateRequest, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TransactionStateRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::TransactionStateRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.Signature excess_sig = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(TransactionStateRequest, _impl_.excess_sig_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.Signature excess_sig = 1;
    {PROTOBUF_FIELD_OFFSET(TransactionStateRequest, _impl_.excess_sig_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::Signature>()},
  }}, {{
  }},
};

::uint8_t* TransactionStateRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.TransactionStateRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.Signature excess_sig = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.excess_sig_, _impl_.excess_sig_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.TransactionStateRequest)
  return target;
}

::size_t TransactionStateRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.TransactionStateRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.Signature excess_sig = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.excess_sig_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void TransactionStateRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TransactionStateRequest*>(&to_msg);
  auto& from = static_cast<const TransactionStateRequest&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.TransactionStateRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.excess_sig_ != nullptr);
    if (_this->_impl_.excess_sig_ == nullptr) {
      _this->_impl_.excess_sig_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::Signature>(arena, *from._impl_.excess_sig_);
    } else {
      _this->_impl_.excess_sig_->MergeFrom(*from._impl_.excess_sig_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TransactionStateRequest::CopyFrom(const TransactionStateRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.TransactionStateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool TransactionStateRequest::IsInitialized() const {
  return true;
}

void TransactionStateRequest::InternalSwap(TransactionStateRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.excess_sig_, other->_impl_.excess_sig_);
}

::google::protobuf::Metadata TransactionStateRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[43]);
}
// ===================================================================

class TransactionStateResponse::_Internal {
 public:
};

TransactionStateResponse::TransactionStateResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.TransactionStateResponse)
}
TransactionStateResponse::TransactionStateResponse(
    ::google::protobuf::Arena* arena, const TransactionStateResponse& from)
    : TransactionStateResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE TransactionStateResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void TransactionStateResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.result_ = {};
}
TransactionStateResponse::~TransactionStateResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.TransactionStateResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TransactionStateResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
TransactionStateResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(TransactionStateResponse, _impl_._cached_size_),
              false,
          },
          &TransactionStateResponse::MergeImpl,
          &TransactionStateResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void TransactionStateResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.TransactionStateResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.result_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TransactionStateResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> TransactionStateResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_TransactionStateResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::TransactionStateResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.TransactionLocation result = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TransactionStateResponse, _impl_.result_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStateResponse, _impl_.result_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.TransactionLocation result = 1;
    {PROTOBUF_FIELD_OFFSET(TransactionStateResponse, _impl_.result_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* TransactionStateResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.TransactionStateResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .tari.rpc.TransactionLocation result = 1;
  if (this->_internal_result() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_result(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.TransactionStateResponse)
  return target;
}

::size_t TransactionStateResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.TransactionStateResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .tari.rpc.TransactionLocation result = 1;
  if (this->_internal_result() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_result());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void TransactionStateResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<TransactionStateResponse*>(&to_msg);
  auto& from = static_cast<const TransactionStateResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.TransactionStateResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_result() != 0) {
    _this->_impl_.result_ = from._impl_.result_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void TransactionStateResponse::CopyFrom(const TransactionStateResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.TransactionStateResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool TransactionStateResponse::IsInitialized() const {
  return true;
}

void TransactionStateResponse::InternalSwap(TransactionStateResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.result_, other->_impl_.result_);
}

::google::protobuf::Metadata TransactionStateResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[44]);
}
// ===================================================================

class MempoolStatsResponse::_Internal {
 public:
};

MempoolStatsResponse::MempoolStatsResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.MempoolStatsResponse)
}
MempoolStatsResponse::MempoolStatsResponse(
    ::google::protobuf::Arena* arena, const MempoolStatsResponse& from)
    : MempoolStatsResponse(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE MempoolStatsResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void MempoolStatsResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, unconfirmed_txs_),
           0,
           offsetof(Impl_, unconfirmed_weight_) -
               offsetof(Impl_, unconfirmed_txs_) +
               sizeof(Impl_::unconfirmed_weight_));
}
MempoolStatsResponse::~MempoolStatsResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.MempoolStatsResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MempoolStatsResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
MempoolStatsResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_._cached_size_),
              false,
          },
          &MempoolStatsResponse::MergeImpl,
          &MempoolStatsResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void MempoolStatsResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.MempoolStatsResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.unconfirmed_txs_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.unconfirmed_weight_) -
      reinterpret_cast<char*>(&_impl_.unconfirmed_txs_)) + sizeof(_impl_.unconfirmed_weight_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MempoolStatsResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> MempoolStatsResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967281,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_MempoolStatsResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::MempoolStatsResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 unconfirmed_weight = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MempoolStatsResponse, _impl_.unconfirmed_weight_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.unconfirmed_weight_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 unconfirmed_txs = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MempoolStatsResponse, _impl_.unconfirmed_txs_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.unconfirmed_txs_)}},
    // uint64 reorg_txs = 3;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(MempoolStatsResponse, _impl_.reorg_txs_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.reorg_txs_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 unconfirmed_txs = 2;
    {PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.unconfirmed_txs_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 reorg_txs = 3;
    {PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.reorg_txs_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint64 unconfirmed_weight = 4;
    {PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.unconfirmed_weight_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* MempoolStatsResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.MempoolStatsResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 unconfirmed_txs = 2;
  if (this->_internal_unconfirmed_txs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_unconfirmed_txs(), target);
  }

  // uint64 reorg_txs = 3;
  if (this->_internal_reorg_txs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_reorg_txs(), target);
  }

  // uint64 unconfirmed_weight = 4;
  if (this->_internal_unconfirmed_weight() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this->_internal_unconfirmed_weight(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.MempoolStatsResponse)
  return target;
}

::size_t MempoolStatsResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.MempoolStatsResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 unconfirmed_txs = 2;
  if (this->_internal_unconfirmed_txs() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_unconfirmed_txs());
  }

  // uint64 reorg_txs = 3;
  if (this->_internal_reorg_txs() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_reorg_txs());
  }

  // uint64 unconfirmed_weight = 4;
  if (this->_internal_unconfirmed_weight() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_unconfirmed_weight());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void MempoolStatsResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<MempoolStatsResponse*>(&to_msg);
  auto& from = static_cast<const MempoolStatsResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.MempoolStatsResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_unconfirmed_txs() != 0) {
    _this->_impl_.unconfirmed_txs_ = from._impl_.unconfirmed_txs_;
  }
  if (from._internal_reorg_txs() != 0) {
    _this->_impl_.reorg_txs_ = from._impl_.reorg_txs_;
  }
  if (from._internal_unconfirmed_weight() != 0) {
    _this->_impl_.unconfirmed_weight_ = from._impl_.unconfirmed_weight_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void MempoolStatsResponse::CopyFrom(const MempoolStatsResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.MempoolStatsResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MempoolStatsResponse::IsInitialized() const {
  return true;
}

void MempoolStatsResponse::InternalSwap(MempoolStatsResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.unconfirmed_weight_)
      + sizeof(MempoolStatsResponse::_impl_.unconfirmed_weight_)
      - PROTOBUF_FIELD_OFFSET(MempoolStatsResponse, _impl_.unconfirmed_txs_)>(
          reinterpret_cast<char*>(&_impl_.unconfirmed_txs_),
          reinterpret_cast<char*>(&other->_impl_.unconfirmed_txs_));
}

::google::protobuf::Metadata MempoolStatsResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[45]);
}
// ===================================================================

class GetActiveValidatorNodesRequest::_Internal {
 public:
};

GetActiveValidatorNodesRequest::GetActiveValidatorNodesRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetActiveValidatorNodesRequest)
}
GetActiveValidatorNodesRequest::GetActiveValidatorNodesRequest(
    ::google::protobuf::Arena* arena, const GetActiveValidatorNodesRequest& from)
    : GetActiveValidatorNodesRequest(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE GetActiveValidatorNodesRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void GetActiveValidatorNodesRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.height_ = {};
}
GetActiveValidatorNodesRequest::~GetActiveValidatorNodesRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetActiveValidatorNodesRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetActiveValidatorNodesRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetActiveValidatorNodesRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesRequest, _impl_._cached_size_),
              false,
          },
          &GetActiveValidatorNodesRequest::MergeImpl,
          &GetActiveValidatorNodesRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetActiveValidatorNodesRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetActiveValidatorNodesRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.height_ = ::uint64_t{0u};
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetActiveValidatorNodesRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> GetActiveValidatorNodesRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetActiveValidatorNodesRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetActiveValidatorNodesRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetActiveValidatorNodesRequest, _impl_.height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesRequest, _impl_.height_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 height = 1;
    {PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesRequest, _impl_.height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetActiveValidatorNodesRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetActiveValidatorNodesRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 height = 1;
  if (this->_internal_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_height(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetActiveValidatorNodesRequest)
  return target;
}

::size_t GetActiveValidatorNodesRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetActiveValidatorNodesRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // uint64 height = 1;
  if (this->_internal_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetActiveValidatorNodesRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetActiveValidatorNodesRequest*>(&to_msg);
  auto& from = static_cast<const GetActiveValidatorNodesRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetActiveValidatorNodesRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_height() != 0) {
    _this->_impl_.height_ = from._impl_.height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetActiveValidatorNodesRequest::CopyFrom(const GetActiveValidatorNodesRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetActiveValidatorNodesRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetActiveValidatorNodesRequest::IsInitialized() const {
  return true;
}

void GetActiveValidatorNodesRequest::InternalSwap(GetActiveValidatorNodesRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
        swap(_impl_.height_, other->_impl_.height_);
}

::google::protobuf::Metadata GetActiveValidatorNodesRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[46]);
}
// ===================================================================

class GetActiveValidatorNodesResponse::_Internal {
 public:
};

GetActiveValidatorNodesResponse::GetActiveValidatorNodesResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetActiveValidatorNodesResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetActiveValidatorNodesResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : shard_key_(arena, from.shard_key_),
        public_key_(arena, from.public_key_),
        _cached_size_{0} {}

GetActiveValidatorNodesResponse::GetActiveValidatorNodesResponse(
    ::google::protobuf::Arena* arena,
    const GetActiveValidatorNodesResponse& from)
    : ::google::protobuf::Message(arena) {
  GetActiveValidatorNodesResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetActiveValidatorNodesResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetActiveValidatorNodesResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : shard_key_(arena),
        public_key_(arena),
        _cached_size_{0} {}

inline void GetActiveValidatorNodesResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GetActiveValidatorNodesResponse::~GetActiveValidatorNodesResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetActiveValidatorNodesResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetActiveValidatorNodesResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.shard_key_.Destroy();
  _impl_.public_key_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetActiveValidatorNodesResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesResponse, _impl_._cached_size_),
              false,
          },
          &GetActiveValidatorNodesResponse::MergeImpl,
          &GetActiveValidatorNodesResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetActiveValidatorNodesResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetActiveValidatorNodesResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.shard_key_.ClearToEmpty();
  _impl_.public_key_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetActiveValidatorNodesResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> GetActiveValidatorNodesResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetActiveValidatorNodesResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetActiveValidatorNodesResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes public_key = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesResponse, _impl_.public_key_)}},
    // bytes shard_key = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesResponse, _impl_.shard_key_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes shard_key = 1;
    {PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesResponse, _impl_.shard_key_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes public_key = 2;
    {PROTOBUF_FIELD_OFFSET(GetActiveValidatorNodesResponse, _impl_.public_key_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetActiveValidatorNodesResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetActiveValidatorNodesResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes shard_key = 1;
  if (!this->_internal_shard_key().empty()) {
    const std::string& _s = this->_internal_shard_key();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // bytes public_key = 2;
  if (!this->_internal_public_key().empty()) {
    const std::string& _s = this->_internal_public_key();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetActiveValidatorNodesResponse)
  return target;
}

::size_t GetActiveValidatorNodesResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetActiveValidatorNodesResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes shard_key = 1;
  if (!this->_internal_shard_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_shard_key());
  }

  // bytes public_key = 2;
  if (!this->_internal_public_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_public_key());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetActiveValidatorNodesResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetActiveValidatorNodesResponse*>(&to_msg);
  auto& from = static_cast<const GetActiveValidatorNodesResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetActiveValidatorNodesResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_shard_key().empty()) {
    _this->_internal_set_shard_key(from._internal_shard_key());
  }
  if (!from._internal_public_key().empty()) {
    _this->_internal_set_public_key(from._internal_public_key());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetActiveValidatorNodesResponse::CopyFrom(const GetActiveValidatorNodesResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetActiveValidatorNodesResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetActiveValidatorNodesResponse::IsInitialized() const {
  return true;
}

void GetActiveValidatorNodesResponse::InternalSwap(GetActiveValidatorNodesResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.shard_key_, &other->_impl_.shard_key_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.public_key_, &other->_impl_.public_key_, arena);
}

::google::protobuf::Metadata GetActiveValidatorNodesResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[47]);
}
// ===================================================================

class GetShardKeyRequest::_Internal {
 public:
};

GetShardKeyRequest::GetShardKeyRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetShardKeyRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetShardKeyRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : public_key_(arena, from.public_key_),
        _cached_size_{0} {}

GetShardKeyRequest::GetShardKeyRequest(
    ::google::protobuf::Arena* arena,
    const GetShardKeyRequest& from)
    : ::google::protobuf::Message(arena) {
  GetShardKeyRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.height_ = from._impl_.height_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetShardKeyRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetShardKeyRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : public_key_(arena),
        _cached_size_{0} {}

inline void GetShardKeyRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.height_ = {};
}
GetShardKeyRequest::~GetShardKeyRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetShardKeyRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetShardKeyRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.public_key_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetShardKeyRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetShardKeyRequest, _impl_._cached_size_),
              false,
          },
          &GetShardKeyRequest::MergeImpl,
          &GetShardKeyRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetShardKeyRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetShardKeyRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.public_key_.ClearToEmpty();
  _impl_.height_ = ::uint64_t{0u};
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetShardKeyRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> GetShardKeyRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetShardKeyRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetShardKeyRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bytes public_key = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GetShardKeyRequest, _impl_.public_key_)}},
    // uint64 height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetShardKeyRequest, _impl_.height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(GetShardKeyRequest, _impl_.height_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 height = 1;
    {PROTOBUF_FIELD_OFFSET(GetShardKeyRequest, _impl_.height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bytes public_key = 2;
    {PROTOBUF_FIELD_OFFSET(GetShardKeyRequest, _impl_.public_key_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetShardKeyRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetShardKeyRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 height = 1;
  if (this->_internal_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_height(), target);
  }

  // bytes public_key = 2;
  if (!this->_internal_public_key().empty()) {
    const std::string& _s = this->_internal_public_key();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetShardKeyRequest)
  return target;
}

::size_t GetShardKeyRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetShardKeyRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes public_key = 2;
  if (!this->_internal_public_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_public_key());
  }

  // uint64 height = 1;
  if (this->_internal_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetShardKeyRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetShardKeyRequest*>(&to_msg);
  auto& from = static_cast<const GetShardKeyRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetShardKeyRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_public_key().empty()) {
    _this->_internal_set_public_key(from._internal_public_key());
  }
  if (from._internal_height() != 0) {
    _this->_impl_.height_ = from._impl_.height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetShardKeyRequest::CopyFrom(const GetShardKeyRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetShardKeyRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetShardKeyRequest::IsInitialized() const {
  return true;
}

void GetShardKeyRequest::InternalSwap(GetShardKeyRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.public_key_, &other->_impl_.public_key_, arena);
        swap(_impl_.height_, other->_impl_.height_);
}

::google::protobuf::Metadata GetShardKeyRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[48]);
}
// ===================================================================

class GetShardKeyResponse::_Internal {
 public:
};

GetShardKeyResponse::GetShardKeyResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetShardKeyResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetShardKeyResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : shard_key_(arena, from.shard_key_),
        _cached_size_{0} {}

GetShardKeyResponse::GetShardKeyResponse(
    ::google::protobuf::Arena* arena,
    const GetShardKeyResponse& from)
    : ::google::protobuf::Message(arena) {
  GetShardKeyResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.found_ = from._impl_.found_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetShardKeyResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetShardKeyResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : shard_key_(arena),
        _cached_size_{0} {}

inline void GetShardKeyResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.found_ = {};
}
GetShardKeyResponse::~GetShardKeyResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetShardKeyResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetShardKeyResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.shard_key_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetShardKeyResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetShardKeyResponse, _impl_._cached_size_),
              false,
          },
          &GetShardKeyResponse::MergeImpl,
          &GetShardKeyResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetShardKeyResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetShardKeyResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.shard_key_.ClearToEmpty();
  _impl_.found_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetShardKeyResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> GetShardKeyResponse::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetShardKeyResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetShardKeyResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // bool found = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GetShardKeyResponse, _impl_.found_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(GetShardKeyResponse, _impl_.found_)}},
    // bytes shard_key = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetShardKeyResponse, _impl_.shard_key_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes shard_key = 1;
    {PROTOBUF_FIELD_OFFSET(GetShardKeyResponse, _impl_.shard_key_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bool found = 2;
    {PROTOBUF_FIELD_OFFSET(GetShardKeyResponse, _impl_.found_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetShardKeyResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetShardKeyResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes shard_key = 1;
  if (!this->_internal_shard_key().empty()) {
    const std::string& _s = this->_internal_shard_key();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // bool found = 2;
  if (this->_internal_found() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_found(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetShardKeyResponse)
  return target;
}

::size_t GetShardKeyResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetShardKeyResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes shard_key = 1;
  if (!this->_internal_shard_key().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_shard_key());
  }

  // bool found = 2;
  if (this->_internal_found() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetShardKeyResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetShardKeyResponse*>(&to_msg);
  auto& from = static_cast<const GetShardKeyResponse&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetShardKeyResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_shard_key().empty()) {
    _this->_internal_set_shard_key(from._internal_shard_key());
  }
  if (from._internal_found() != 0) {
    _this->_impl_.found_ = from._impl_.found_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetShardKeyResponse::CopyFrom(const GetShardKeyResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetShardKeyResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetShardKeyResponse::IsInitialized() const {
  return true;
}

void GetShardKeyResponse::InternalSwap(GetShardKeyResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.shard_key_, &other->_impl_.shard_key_, arena);
        swap(_impl_.found_, other->_impl_.found_);
}

::google::protobuf::Metadata GetShardKeyResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[49]);
}
// ===================================================================

class GetTemplateRegistrationsRequest::_Internal {
 public:
};

GetTemplateRegistrationsRequest::GetTemplateRegistrationsRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetTemplateRegistrationsRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetTemplateRegistrationsRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : start_hash_(arena, from.start_hash_),
        _cached_size_{0} {}

GetTemplateRegistrationsRequest::GetTemplateRegistrationsRequest(
    ::google::protobuf::Arena* arena,
    const GetTemplateRegistrationsRequest& from)
    : ::google::protobuf::Message(arena) {
  GetTemplateRegistrationsRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.count_ = from._impl_.count_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetTemplateRegistrationsRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetTemplateRegistrationsRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : start_hash_(arena),
        _cached_size_{0} {}

inline void GetTemplateRegistrationsRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.count_ = {};
}
GetTemplateRegistrationsRequest::~GetTemplateRegistrationsRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetTemplateRegistrationsRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetTemplateRegistrationsRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.start_hash_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetTemplateRegistrationsRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationsRequest, _impl_._cached_size_),
              false,
          },
          &GetTemplateRegistrationsRequest::MergeImpl,
          &GetTemplateRegistrationsRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetTemplateRegistrationsRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetTemplateRegistrationsRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.start_hash_.ClearToEmpty();
  _impl_.count_ = ::uint64_t{0u};
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetTemplateRegistrationsRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> GetTemplateRegistrationsRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetTemplateRegistrationsRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetTemplateRegistrationsRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 count = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetTemplateRegistrationsRequest, _impl_.count_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationsRequest, _impl_.count_)}},
    // bytes start_hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationsRequest, _impl_.start_hash_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes start_hash = 1;
    {PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationsRequest, _impl_.start_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // uint64 count = 2;
    {PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationsRequest, _impl_.count_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetTemplateRegistrationsRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetTemplateRegistrationsRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes start_hash = 1;
  if (!this->_internal_start_hash().empty()) {
    const std::string& _s = this->_internal_start_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // uint64 count = 2;
  if (this->_internal_count() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_count(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetTemplateRegistrationsRequest)
  return target;
}

::size_t GetTemplateRegistrationsRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetTemplateRegistrationsRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes start_hash = 1;
  if (!this->_internal_start_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_start_hash());
  }

  // uint64 count = 2;
  if (this->_internal_count() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_count());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetTemplateRegistrationsRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetTemplateRegistrationsRequest*>(&to_msg);
  auto& from = static_cast<const GetTemplateRegistrationsRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetTemplateRegistrationsRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_start_hash().empty()) {
    _this->_internal_set_start_hash(from._internal_start_hash());
  }
  if (from._internal_count() != 0) {
    _this->_impl_.count_ = from._impl_.count_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetTemplateRegistrationsRequest::CopyFrom(const GetTemplateRegistrationsRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetTemplateRegistrationsRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetTemplateRegistrationsRequest::IsInitialized() const {
  return true;
}

void GetTemplateRegistrationsRequest::InternalSwap(GetTemplateRegistrationsRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.start_hash_, &other->_impl_.start_hash_, arena);
        swap(_impl_.count_, other->_impl_.count_);
}

::google::protobuf::Metadata GetTemplateRegistrationsRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[50]);
}
// ===================================================================

class GetTemplateRegistrationResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTemplateRegistrationResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_._has_bits_);
};

void GetTemplateRegistrationResponse::clear_registration() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  if (_impl_.registration_ != nullptr) _impl_.registration_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetTemplateRegistrationResponse::GetTemplateRegistrationResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetTemplateRegistrationResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetTemplateRegistrationResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        utxo_hash_(arena, from.utxo_hash_) {}

GetTemplateRegistrationResponse::GetTemplateRegistrationResponse(
    ::google::protobuf::Arena* arena,
    const GetTemplateRegistrationResponse& from)
    : ::google::protobuf::Message(arena) {
  GetTemplateRegistrationResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.registration_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::TemplateRegistration>(
                              arena, *from._impl_.registration_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetTemplateRegistrationResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetTemplateRegistrationResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        utxo_hash_(arena) {}

inline void GetTemplateRegistrationResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.registration_ = {};
}
GetTemplateRegistrationResponse::~GetTemplateRegistrationResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetTemplateRegistrationResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetTemplateRegistrationResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.utxo_hash_.Destroy();
  delete _impl_.registration_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetTemplateRegistrationResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_._cached_size_),
              false,
          },
          &GetTemplateRegistrationResponse::MergeImpl,
          &GetTemplateRegistrationResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetTemplateRegistrationResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetTemplateRegistrationResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.utxo_hash_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.registration_ != nullptr);
    _impl_.registration_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetTemplateRegistrationResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> GetTemplateRegistrationResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetTemplateRegistrationResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetTemplateRegistrationResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // .tari.rpc.TemplateRegistration registration = 2;
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_.registration_)}},
    // bytes utxo_hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_.utxo_hash_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes utxo_hash = 1;
    {PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_.utxo_hash_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // .tari.rpc.TemplateRegistration registration = 2;
    {PROTOBUF_FIELD_OFFSET(GetTemplateRegistrationResponse, _impl_.registration_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::TemplateRegistration>()},
  }}, {{
  }},
};

::uint8_t* GetTemplateRegistrationResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetTemplateRegistrationResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes utxo_hash = 1;
  if (!this->_internal_utxo_hash().empty()) {
    const std::string& _s = this->_internal_utxo_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.TemplateRegistration registration = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *_impl_.registration_, _impl_.registration_->GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetTemplateRegistrationResponse)
  return target;
}

::size_t GetTemplateRegistrationResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetTemplateRegistrationResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes utxo_hash = 1;
  if (!this->_internal_utxo_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_utxo_hash());
  }

  // .tari.rpc.TemplateRegistration registration = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.registration_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetTemplateRegistrationResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetTemplateRegistrationResponse*>(&to_msg);
  auto& from = static_cast<const GetTemplateRegistrationResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetTemplateRegistrationResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_utxo_hash().empty()) {
    _this->_internal_set_utxo_hash(from._internal_utxo_hash());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.registration_ != nullptr);
    if (_this->_impl_.registration_ == nullptr) {
      _this->_impl_.registration_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::TemplateRegistration>(arena, *from._impl_.registration_);
    } else {
      _this->_impl_.registration_->MergeFrom(*from._impl_.registration_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetTemplateRegistrationResponse::CopyFrom(const GetTemplateRegistrationResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetTemplateRegistrationResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetTemplateRegistrationResponse::IsInitialized() const {
  return true;
}

void GetTemplateRegistrationResponse::InternalSwap(GetTemplateRegistrationResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.utxo_hash_, &other->_impl_.utxo_hash_, arena);
  swap(_impl_.registration_, other->_impl_.registration_);
}

::google::protobuf::Metadata GetTemplateRegistrationResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[51]);
}
// ===================================================================

class BlockInfo::_Internal {
 public:
};

BlockInfo::BlockInfo(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.BlockInfo)
}
inline PROTOBUF_NDEBUG_INLINE BlockInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : hash_(arena, from.hash_),
        next_block_hash_(arena, from.next_block_hash_),
        _cached_size_{0} {}

BlockInfo::BlockInfo(
    ::google::protobuf::Arena* arena,
    const BlockInfo& from)
    : ::google::protobuf::Message(arena) {
  BlockInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.height_ = from._impl_.height_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.BlockInfo)
}
inline PROTOBUF_NDEBUG_INLINE BlockInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : hash_(arena),
        next_block_hash_(arena),
        _cached_size_{0} {}

inline void BlockInfo::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.height_ = {};
}
BlockInfo::~BlockInfo() {
  // @@protoc_insertion_point(destructor:tari.rpc.BlockInfo)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BlockInfo::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.hash_.Destroy();
  _impl_.next_block_hash_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
BlockInfo::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_._cached_size_),
              false,
          },
          &BlockInfo::MergeImpl,
          &BlockInfo::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void BlockInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.BlockInfo)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.hash_.ClearToEmpty();
  _impl_.next_block_hash_.ClearToEmpty();
  _impl_.height_ = ::uint64_t{0u};
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BlockInfo::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> BlockInfo::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_BlockInfo_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::BlockInfo>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint64 height = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(BlockInfo, _impl_.height_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_.height_)}},
    // bytes hash = 2;
    {::_pbi::TcParser::FastBS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_.hash_)}},
    // bytes next_block_hash = 3;
    {::_pbi::TcParser::FastBS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_.next_block_hash_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint64 height = 1;
    {PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_.height_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // bytes hash = 2;
    {PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_.hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // bytes next_block_hash = 3;
    {PROTOBUF_FIELD_OFFSET(BlockInfo, _impl_.next_block_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* BlockInfo::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.BlockInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint64 height = 1;
  if (this->_internal_height() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this->_internal_height(), target);
  }

  // bytes hash = 2;
  if (!this->_internal_hash().empty()) {
    const std::string& _s = this->_internal_hash();
    target = stream->WriteBytesMaybeAliased(2, _s, target);
  }

  // bytes next_block_hash = 3;
  if (!this->_internal_next_block_hash().empty()) {
    const std::string& _s = this->_internal_next_block_hash();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.BlockInfo)
  return target;
}

::size_t BlockInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.BlockInfo)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes hash = 2;
  if (!this->_internal_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_hash());
  }

  // bytes next_block_hash = 3;
  if (!this->_internal_next_block_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_next_block_hash());
  }

  // uint64 height = 1;
  if (this->_internal_height() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_height());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void BlockInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<BlockInfo*>(&to_msg);
  auto& from = static_cast<const BlockInfo&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.BlockInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_hash().empty()) {
    _this->_internal_set_hash(from._internal_hash());
  }
  if (!from._internal_next_block_hash().empty()) {
    _this->_internal_set_next_block_hash(from._internal_next_block_hash());
  }
  if (from._internal_height() != 0) {
    _this->_impl_.height_ = from._impl_.height_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void BlockInfo::CopyFrom(const BlockInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.BlockInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool BlockInfo::IsInitialized() const {
  return true;
}

void BlockInfo::InternalSwap(BlockInfo* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.hash_, &other->_impl_.hash_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.next_block_hash_, &other->_impl_.next_block_hash_, arena);
        swap(_impl_.height_, other->_impl_.height_);
}

::google::protobuf::Metadata BlockInfo::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[52]);
}
// ===================================================================

class GetSideChainUtxosRequest::_Internal {
 public:
};

GetSideChainUtxosRequest::GetSideChainUtxosRequest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetSideChainUtxosRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetSideChainUtxosRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : start_hash_(arena, from.start_hash_),
        _cached_size_{0} {}

GetSideChainUtxosRequest::GetSideChainUtxosRequest(
    ::google::protobuf::Arena* arena,
    const GetSideChainUtxosRequest& from)
    : ::google::protobuf::Message(arena) {
  GetSideChainUtxosRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.count_ = from._impl_.count_;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetSideChainUtxosRequest)
}
inline PROTOBUF_NDEBUG_INLINE GetSideChainUtxosRequest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : start_hash_(arena),
        _cached_size_{0} {}

inline void GetSideChainUtxosRequest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.count_ = {};
}
GetSideChainUtxosRequest::~GetSideChainUtxosRequest() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetSideChainUtxosRequest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetSideChainUtxosRequest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.start_hash_.Destroy();
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetSideChainUtxosRequest::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetSideChainUtxosRequest, _impl_._cached_size_),
              false,
          },
          &GetSideChainUtxosRequest::MergeImpl,
          &GetSideChainUtxosRequest::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetSideChainUtxosRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetSideChainUtxosRequest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.start_hash_.ClearToEmpty();
  _impl_.count_ = ::uint64_t{0u};
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetSideChainUtxosRequest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> GetSideChainUtxosRequest::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_GetSideChainUtxosRequest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetSideChainUtxosRequest>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // uint64 count = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(GetSideChainUtxosRequest, _impl_.count_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(GetSideChainUtxosRequest, _impl_.count_)}},
    // bytes start_hash = 1;
    {::_pbi::TcParser::FastBS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GetSideChainUtxosRequest, _impl_.start_hash_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bytes start_hash = 1;
    {PROTOBUF_FIELD_OFFSET(GetSideChainUtxosRequest, _impl_.start_hash_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBytes | ::_fl::kRepAString)},
    // uint64 count = 2;
    {PROTOBUF_FIELD_OFFSET(GetSideChainUtxosRequest, _impl_.count_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* GetSideChainUtxosRequest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetSideChainUtxosRequest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bytes start_hash = 1;
  if (!this->_internal_start_hash().empty()) {
    const std::string& _s = this->_internal_start_hash();
    target = stream->WriteBytesMaybeAliased(1, _s, target);
  }

  // uint64 count = 2;
  if (this->_internal_count() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this->_internal_count(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetSideChainUtxosRequest)
  return target;
}

::size_t GetSideChainUtxosRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetSideChainUtxosRequest)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // bytes start_hash = 1;
  if (!this->_internal_start_hash().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                    this->_internal_start_hash());
  }

  // uint64 count = 2;
  if (this->_internal_count() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_count());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetSideChainUtxosRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetSideChainUtxosRequest*>(&to_msg);
  auto& from = static_cast<const GetSideChainUtxosRequest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetSideChainUtxosRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_start_hash().empty()) {
    _this->_internal_set_start_hash(from._internal_start_hash());
  }
  if (from._internal_count() != 0) {
    _this->_impl_.count_ = from._impl_.count_;
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetSideChainUtxosRequest::CopyFrom(const GetSideChainUtxosRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetSideChainUtxosRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetSideChainUtxosRequest::IsInitialized() const {
  return true;
}

void GetSideChainUtxosRequest::InternalSwap(GetSideChainUtxosRequest* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.start_hash_, &other->_impl_.start_hash_, arena);
        swap(_impl_.count_, other->_impl_.count_);
}

::google::protobuf::Metadata GetSideChainUtxosRequest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[53]);
}
// ===================================================================

class GetSideChainUtxosResponse::_Internal {
 public:
  using HasBits = decltype(std::declval<GetSideChainUtxosResponse>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_._has_bits_);
};

void GetSideChainUtxosResponse::clear_outputs() {
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  _impl_.outputs_.Clear();
}
GetSideChainUtxosResponse::GetSideChainUtxosResponse(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:tari.rpc.GetSideChainUtxosResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetSideChainUtxosResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        outputs_{visibility, arena, from.outputs_} {}

GetSideChainUtxosResponse::GetSideChainUtxosResponse(
    ::google::protobuf::Arena* arena,
    const GetSideChainUtxosResponse& from)
    : ::google::protobuf::Message(arena) {
  GetSideChainUtxosResponse* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.block_info_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::tari::rpc::BlockInfo>(
                              arena, *from._impl_.block_info_)
                        : nullptr;

  // @@protoc_insertion_point(copy_constructor:tari.rpc.GetSideChainUtxosResponse)
}
inline PROTOBUF_NDEBUG_INLINE GetSideChainUtxosResponse::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        outputs_{visibility, arena} {}

inline void GetSideChainUtxosResponse::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.block_info_ = {};
}
GetSideChainUtxosResponse::~GetSideChainUtxosResponse() {
  // @@protoc_insertion_point(destructor:tari.rpc.GetSideChainUtxosResponse)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GetSideChainUtxosResponse::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.block_info_;
  _impl_.~Impl_();
}

const ::google::protobuf::MessageLite::ClassData*
GetSideChainUtxosResponse::GetClassData() const {
  PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite::
      ClassDataFull _data_ = {
          {
              nullptr,  // OnDemandRegisterArenaDtor
              PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_._cached_size_),
              false,
          },
          &GetSideChainUtxosResponse::MergeImpl,
          &GetSideChainUtxosResponse::kDescriptorMethods,
      };
  return &_data_;
}
PROTOBUF_NOINLINE void GetSideChainUtxosResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:tari.rpc.GetSideChainUtxosResponse)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.outputs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.block_info_ != nullptr);
    _impl_.block_info_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GetSideChainUtxosResponse::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> GetSideChainUtxosResponse::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GetSideChainUtxosResponse_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
    #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
    ::_pbi::TcParser::GetTable<::tari::rpc::GetSideChainUtxosResponse>(),  // to_prefetch
    #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
  }, {{
    // repeated .tari.rpc.TransactionOutput outputs = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_.outputs_)}},
    // .tari.rpc.BlockInfo block_info = 1;
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_.block_info_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .tari.rpc.BlockInfo block_info = 1;
    {PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_.block_info_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .tari.rpc.TransactionOutput outputs = 2;
    {PROTOBUF_FIELD_OFFSET(GetSideChainUtxosResponse, _impl_.outputs_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::tari::rpc::BlockInfo>()},
    {::_pbi::TcParser::GetTable<::tari::rpc::TransactionOutput>()},
  }}, {{
  }},
};

::uint8_t* GetSideChainUtxosResponse::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:tari.rpc.GetSideChainUtxosResponse)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .tari.rpc.BlockInfo block_info = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *_impl_.block_info_, _impl_.block_info_->GetCachedSize(), target, stream);
  }

  // repeated .tari.rpc.TransactionOutput outputs = 2;
  for (unsigned i = 0, n = static_cast<unsigned>(
                           this->_internal_outputs_size());
       i < n; i++) {
    const auto& repfield = this->_internal_outputs().Get(i);
    target =
        ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
            2, repfield, repfield.GetCachedSize(),
            target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:tari.rpc.GetSideChainUtxosResponse)
  return target;
}

::size_t GetSideChainUtxosResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:tari.rpc.GetSideChainUtxosResponse)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .tari.rpc.TransactionOutput outputs = 2;
  total_size += 1UL * this->_internal_outputs_size();
  for (const auto& msg : this->_internal_outputs()) {
    total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .tari.rpc.BlockInfo block_info = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.block_info_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}


void GetSideChainUtxosResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) {
  auto* const _this = static_cast<GetSideChainUtxosResponse*>(&to_msg);
  auto& from = static_cast<const GetSideChainUtxosResponse&>(from_msg);
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:tari.rpc.GetSideChainUtxosResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_outputs()->MergeFrom(
      from._internal_outputs());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(from._impl_.block_info_ != nullptr);
    if (_this->_impl_.block_info_ == nullptr) {
      _this->_impl_.block_info_ =
          ::google::protobuf::Message::CopyConstruct<::tari::rpc::BlockInfo>(arena, *from._impl_.block_info_);
    } else {
      _this->_impl_.block_info_->MergeFrom(*from._impl_.block_info_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void GetSideChainUtxosResponse::CopyFrom(const GetSideChainUtxosResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:tari.rpc.GetSideChainUtxosResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool GetSideChainUtxosResponse::IsInitialized() const {
  return true;
}

void GetSideChainUtxosResponse::InternalSwap(GetSideChainUtxosResponse* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.outputs_.InternalSwap(&other->_impl_.outputs_);
  swap(_impl_.block_info_, other->_impl_.block_info_);
}

::google::protobuf::Metadata GetSideChainUtxosResponse::GetMetadata() const {
  return ::_pbi::AssignDescriptors(&descriptor_table_base_5fnode_2eproto_getter,
                                   &descriptor_table_base_5fnode_2eproto_once,
                                   file_level_metadata_base_5fnode_2eproto[54]);
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace rpc
}  // namespace tari
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2
static ::std::false_type _static_init_ PROTOBUF_UNUSED =
    (::_pbi::AddDescriptors(&descriptor_table_base_5fnode_2eproto),
     ::std::false_type{});
#include "google/protobuf/port_undef.inc"
