mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-23 07:13:33 +02:00
refactor: VectorWriter without nVersion
The field is unused, so remove it. This is also required for future commits.
This commit is contained in:
parent
98b0acda0f
commit
fa0ed07941
@ -81,7 +81,7 @@ GCSFilter::GCSFilter(const Params& params, const ElementSet& elements)
|
||||
}
|
||||
m_F = static_cast<uint64_t>(m_N) * static_cast<uint64_t>(m_params.m_M);
|
||||
|
||||
CVectorWriter stream(GCS_SER_VERSION, m_encoded, 0);
|
||||
VectorWriter stream{m_encoded, 0};
|
||||
|
||||
WriteCompactSize(stream, m_N);
|
||||
|
||||
@ -89,7 +89,7 @@ GCSFilter::GCSFilter(const Params& params, const ElementSet& elements)
|
||||
return;
|
||||
}
|
||||
|
||||
BitStreamWriter<CVectorWriter> bitwriter(stream);
|
||||
BitStreamWriter bitwriter{stream};
|
||||
|
||||
uint64_t last_value = 0;
|
||||
for (uint64_t value : BuildHashedSet(elements)) {
|
||||
|
@ -818,7 +818,7 @@ bool V1Transport::SetMessageToSend(CSerializedNetMsg& msg) noexcept
|
||||
|
||||
// serialize header
|
||||
m_header_to_send.clear();
|
||||
CVectorWriter{INIT_PROTO_VERSION, m_header_to_send, 0, hdr};
|
||||
VectorWriter{m_header_to_send, 0, hdr};
|
||||
|
||||
// update state
|
||||
m_message_to_send = std::move(msg);
|
||||
|
@ -12,14 +12,14 @@
|
||||
class CNetMsgMaker
|
||||
{
|
||||
public:
|
||||
explicit CNetMsgMaker(int nVersionIn) : nVersion(nVersionIn){}
|
||||
explicit CNetMsgMaker(int /*unused*/) {}
|
||||
|
||||
template <typename... Args>
|
||||
CSerializedNetMsg Make(int nFlags, std::string msg_type, Args&&... args) const
|
||||
CSerializedNetMsg Make(int /*unused*/, std::string msg_type, Args&&... args) const
|
||||
{
|
||||
CSerializedNetMsg msg;
|
||||
msg.m_type = std::move(msg_type);
|
||||
CVectorWriter{nFlags | nVersion, msg.data, 0, std::forward<Args>(args)...};
|
||||
VectorWriter{msg.data, 0, std::forward<Args>(args)...};
|
||||
return msg;
|
||||
}
|
||||
|
||||
@ -28,9 +28,6 @@ public:
|
||||
{
|
||||
return Make(0, std::move(msg_type), std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
private:
|
||||
const int nVersion;
|
||||
};
|
||||
|
||||
#endif // BITCOIN_NETMESSAGEMAKER_H
|
||||
|
@ -316,7 +316,7 @@ struct PSBTInput
|
||||
const auto& [leaf_hashes, origin] = leaf_origin;
|
||||
SerializeToVector(s, PSBT_IN_TAP_BIP32_DERIVATION, xonly);
|
||||
std::vector<unsigned char> value;
|
||||
CVectorWriter s_value{s.GetVersion(), value, 0};
|
||||
VectorWriter s_value{value, 0};
|
||||
s_value << leaf_hashes;
|
||||
SerializeKeyOrigin(s_value, origin);
|
||||
s << value;
|
||||
@ -757,7 +757,7 @@ struct PSBTOutput
|
||||
if (!m_tap_tree.empty()) {
|
||||
SerializeToVector(s, PSBT_OUT_TAP_TREE);
|
||||
std::vector<unsigned char> value;
|
||||
CVectorWriter s_value{s.GetVersion(), value, 0};
|
||||
VectorWriter s_value{value, 0};
|
||||
for (const auto& [depth, leaf_ver, script] : m_tap_tree) {
|
||||
s_value << depth;
|
||||
s_value << leaf_ver;
|
||||
@ -771,7 +771,7 @@ struct PSBTOutput
|
||||
const auto& [leaf_hashes, origin] = leaf;
|
||||
SerializeToVector(s, PSBT_OUT_TAP_BIP32_DERIVATION, xonly);
|
||||
std::vector<unsigned char> value;
|
||||
CVectorWriter s_value{s.GetVersion(), value, 0};
|
||||
VectorWriter s_value{value, 0};
|
||||
s_value << leaf_hashes;
|
||||
SerializeKeyOrigin(s_value, origin);
|
||||
s << value;
|
||||
|
@ -110,7 +110,7 @@ std::optional<SignetTxs> SignetTxs::Create(const CBlock& block, const CScript& c
|
||||
uint256 signet_merkle = ComputeModifiedMerkleRoot(modified_cb, block);
|
||||
|
||||
std::vector<uint8_t> block_data;
|
||||
CVectorWriter writer{INIT_PROTO_VERSION, block_data, 0};
|
||||
VectorWriter writer{block_data, 0};
|
||||
writer << block.nVersion;
|
||||
writer << block.hashPrevBlock;
|
||||
writer << signet_merkle;
|
||||
|
@ -49,17 +49,15 @@ inline void Xor(Span<std::byte> write, Span<const std::byte> key, size_t key_off
|
||||
*
|
||||
* The referenced vector will grow as necessary
|
||||
*/
|
||||
class CVectorWriter
|
||||
class VectorWriter
|
||||
{
|
||||
public:
|
||||
|
||||
public:
|
||||
/*
|
||||
* @param[in] nVersionIn Serialization Version (including any flags)
|
||||
* @param[in] vchDataIn Referenced byte vector to overwrite/append
|
||||
* @param[in] nPosIn Starting position. Vector index where writes should start. The vector will initially
|
||||
* grow as necessary to max(nPosIn, vec.size()). So to append, use vec.size().
|
||||
*/
|
||||
CVectorWriter(int nVersionIn, std::vector<unsigned char>& vchDataIn, size_t nPosIn) : nVersion{nVersionIn}, vchData{vchDataIn}, nPos{nPosIn}
|
||||
VectorWriter(std::vector<unsigned char>& vchDataIn, size_t nPosIn) : vchData{vchDataIn}, nPos{nPosIn}
|
||||
{
|
||||
if(nPos > vchData.size())
|
||||
vchData.resize(nPos);
|
||||
@ -69,7 +67,7 @@ class CVectorWriter
|
||||
* @param[in] args A list of items to serialize starting at nPosIn.
|
||||
*/
|
||||
template <typename... Args>
|
||||
CVectorWriter(int nVersionIn, std::vector<unsigned char>& vchDataIn, size_t nPosIn, Args&&... args) : CVectorWriter{nVersionIn, vchDataIn, nPosIn}
|
||||
VectorWriter(std::vector<unsigned char>& vchDataIn, size_t nPosIn, Args&&... args) : VectorWriter{vchDataIn, nPosIn}
|
||||
{
|
||||
::SerializeMany(*this, std::forward<Args>(args)...);
|
||||
}
|
||||
@ -85,19 +83,14 @@ class CVectorWriter
|
||||
}
|
||||
nPos += src.size();
|
||||
}
|
||||
template<typename T>
|
||||
CVectorWriter& operator<<(const T& obj)
|
||||
template <typename T>
|
||||
VectorWriter& operator<<(const T& obj)
|
||||
{
|
||||
::Serialize(*this, obj);
|
||||
return (*this);
|
||||
}
|
||||
int GetVersion() const
|
||||
{
|
||||
return nVersion;
|
||||
}
|
||||
|
||||
private:
|
||||
const int nVersion;
|
||||
std::vector<unsigned char>& vchData;
|
||||
size_t nPos;
|
||||
};
|
||||
|
@ -51,9 +51,9 @@ FUZZ_TARGET(golomb_rice)
|
||||
for (int i = 0; i < n; ++i) {
|
||||
elements.insert(ConsumeRandomLengthByteVector(fuzzed_data_provider, 16));
|
||||
}
|
||||
CVectorWriter stream{0, golomb_rice_data, 0};
|
||||
VectorWriter stream{golomb_rice_data, 0};
|
||||
WriteCompactSize(stream, static_cast<uint32_t>(elements.size()));
|
||||
BitStreamWriter<CVectorWriter> bitwriter(stream);
|
||||
BitStreamWriter bitwriter{stream};
|
||||
if (!elements.empty()) {
|
||||
uint64_t last_value = 0;
|
||||
for (const uint64_t value : BuildHashedSet(elements, static_cast<uint64_t>(elements.size()) * static_cast<uint64_t>(BASIC_FILTER_M))) {
|
||||
|
@ -74,49 +74,49 @@ BOOST_AUTO_TEST_CASE(streams_vector_writer)
|
||||
// point should yield the same results, even if the first test grew the
|
||||
// vector.
|
||||
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 0, a, b};
|
||||
VectorWriter{vch, 0, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{1, 2}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 0, a, b};
|
||||
VectorWriter{vch, 0, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{1, 2}}));
|
||||
vch.clear();
|
||||
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 2, a, b};
|
||||
VectorWriter{vch, 2, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 1, 2}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 2, a, b};
|
||||
VectorWriter{vch, 2, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 1, 2}}));
|
||||
vch.clear();
|
||||
|
||||
vch.resize(5, 0);
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 2, a, b};
|
||||
VectorWriter{vch, 2, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 1, 2, 0}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 2, a, b};
|
||||
VectorWriter{vch, 2, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 1, 2, 0}}));
|
||||
vch.clear();
|
||||
|
||||
vch.resize(4, 0);
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 3, a, b};
|
||||
VectorWriter{vch, 3, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 0, 1, 2}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 3, a, b};
|
||||
VectorWriter{vch, 3, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 0, 1, 2}}));
|
||||
vch.clear();
|
||||
|
||||
vch.resize(4, 0);
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 4, a, b};
|
||||
VectorWriter{vch, 4, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 0, 0, 1, 2}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 4, a, b};
|
||||
VectorWriter{vch, 4, a, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{0, 0, 0, 0, 1, 2}}));
|
||||
vch.clear();
|
||||
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 0, bytes};
|
||||
VectorWriter{vch, 0, bytes};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{3, 4, 5, 6}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 0, bytes};
|
||||
VectorWriter{vch, 0, bytes};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{3, 4, 5, 6}}));
|
||||
vch.clear();
|
||||
|
||||
vch.resize(4, 8);
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 2, a, bytes, b};
|
||||
VectorWriter{vch, 2, a, bytes, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{8, 8, 1, 3, 4, 5, 6, 2}}));
|
||||
CVectorWriter{INIT_PROTO_VERSION, vch, 2, a, bytes, b};
|
||||
VectorWriter{vch, 2, a, bytes, b};
|
||||
BOOST_CHECK((vch == std::vector<unsigned char>{{8, 8, 1, 3, 4, 5, 6, 2}}));
|
||||
vch.clear();
|
||||
}
|
||||
|
@ -752,7 +752,7 @@ bool malformed_descriptor(std::ios_base::failure e)
|
||||
BOOST_FIXTURE_TEST_CASE(wallet_descriptor_test, BasicTestingSetup)
|
||||
{
|
||||
std::vector<unsigned char> malformed_record;
|
||||
CVectorWriter vw{0, malformed_record, 0};
|
||||
VectorWriter vw{malformed_record, 0};
|
||||
vw << std::string("notadescriptor");
|
||||
vw << uint64_t{0};
|
||||
vw << int32_t{0};
|
||||
|
Loading…
x
Reference in New Issue
Block a user