Updated Tari gRPC proto files
This commit is contained in:
+3
-1
@@ -20,6 +20,8 @@
|
||||
#include "uv_util.h"
|
||||
#include "wallet.h"
|
||||
|
||||
#include <map>
|
||||
|
||||
#if defined(_DEBUG) || defined(DEV_DEBUG)
|
||||
#define POOL_BLOCK_DEBUG 1
|
||||
#else
|
||||
@@ -143,7 +145,7 @@ struct PoolBlock
|
||||
// Merge mining extra data
|
||||
// Format: vector of (chain ID, chain data) pairs
|
||||
// Chain data format is arbitrary and depends on the merge mined chain's requirements
|
||||
std::vector<std::pair<hash, std::vector<uint8_t>>> m_mergeMiningExtra;
|
||||
std::map<hash, std::vector<uint8_t>> m_mergeMiningExtra;
|
||||
|
||||
// Arbitrary extra data
|
||||
uint32_t m_sidechainExtraBuf[4];
|
||||
|
||||
@@ -370,14 +370,15 @@ int PoolBlock::deserialize(const uint8_t* data, size_t size, const SideChain& si
|
||||
if (mm_extra_data_count > MERGE_MINING_MAX_CHAINS) return __LINE__;
|
||||
if (static_cast<uint64_t>(data_end - data) < mm_extra_data_count * (HASH_SIZE + 1)) return __LINE__;
|
||||
|
||||
m_mergeMiningExtra.reserve(mm_extra_data_count);
|
||||
|
||||
hash prev_chain_id;
|
||||
|
||||
for (uint64_t i = 0; i < mm_extra_data_count; ++i) {
|
||||
hash chain_id;
|
||||
READ_BUF(chain_id.h, HASH_SIZE);
|
||||
|
||||
// IDs must be ordered to avoid duplicates
|
||||
if (i && !(m_mergeMiningExtra[i - 1].first < chain_id)) return __LINE__;
|
||||
if (i && !(prev_chain_id < chain_id)) return __LINE__;
|
||||
prev_chain_id = chain_id;
|
||||
|
||||
uint64_t n;
|
||||
READ_VARINT(n);
|
||||
@@ -390,7 +391,7 @@ int PoolBlock::deserialize(const uint8_t* data, size_t size, const SideChain& si
|
||||
|
||||
READ_BUF(t.data(), n);
|
||||
|
||||
m_mergeMiningExtra.emplace_back(chain_id, std::move(t));
|
||||
m_mergeMiningExtra.emplace(chain_id, std::move(t));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user