aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2023-11-16 12:59:43 +0100
committerMarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>2023-11-17 14:38:26 +0100
commitfa0ed0794161d937d2d3385963c1aa5624b60d17 (patch)
treee99421b87f166bb6dec879cf6e313250629edde2
parent98b0acda0f00df3f62a61646d323c8367ddebd68 (diff)
downloadbitcoin-fa0ed0794161d937d2d3385963c1aa5624b60d17.tar.xz
refactor: VectorWriter without nVersion
The field is unused, so remove it. This is also required for future commits.
-rw-r--r--src/blockfilter.cpp4
-rw-r--r--src/net.cpp2
-rw-r--r--src/netmessagemaker.h9
-rw-r--r--src/psbt.h6
-rw-r--r--src/signet.cpp2
-rw-r--r--src/streams.h19
-rw-r--r--src/test/fuzz/golomb_rice.cpp4
-rw-r--r--src/test/streams_tests.cpp28
-rw-r--r--src/wallet/test/wallet_tests.cpp2
9 files changed, 33 insertions, 43 deletions
diff --git a/src/blockfilter.cpp b/src/blockfilter.cpp
index dd3824fb1c..404c9ecc4f 100644
--- a/src/blockfilter.cpp
+++ b/src/blockfilter.cpp
@@ -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)) {
diff --git a/src/net.cpp b/src/net.cpp
index a2f80cbcf7..075a7d9839 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -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);
diff --git a/src/netmessagemaker.h b/src/netmessagemaker.h
index a121183aab..60b8e579d6 100644
--- a/src/netmessagemaker.h
+++ b/src/netmessagemaker.h
@@ -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
diff --git a/src/psbt.h b/src/psbt.h
index a14df03837..ac2d246a27 100644
--- a/src/psbt.h
+++ b/src/psbt.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;
diff --git a/src/signet.cpp b/src/signet.cpp
index d6a3a44d91..ef9913218a 100644
--- a/src/signet.cpp
+++ b/src/signet.cpp
@@ -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;
diff --git a/src/streams.h b/src/streams.h
index a3f8028da7..88a5f3da54 100644
--- a/src/streams.h
+++ b/src/streams.h
@@ -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;
};
diff --git a/src/test/fuzz/golomb_rice.cpp b/src/test/fuzz/golomb_rice.cpp
index f3073c5c97..8b395f3ea9 100644
--- a/src/test/fuzz/golomb_rice.cpp
+++ b/src/test/fuzz/golomb_rice.cpp
@@ -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))) {
diff --git a/src/test/streams_tests.cpp b/src/test/streams_tests.cpp
index f03f7c1da2..208993a76d 100644
--- a/src/test/streams_tests.cpp
+++ b/src/test/streams_tests.cpp
@@ -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();
}
diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp
index bcbc31ed3e..c5452c3b0d 100644
--- a/src/wallet/test/wallet_tests.cpp
+++ b/src/wallet/test/wallet_tests.cpp
@@ -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};