aboutsummaryrefslogtreecommitdiff
path: root/src/blockfilter.cpp
diff options
context:
space:
mode:
authorJim Posen <jim.posen@gmail.com>2018-08-27 15:08:31 -0700
committerJim Posen <jim.posen@gmail.com>2018-11-06 09:12:54 -0800
commitc30620983d2e2c9aee6f52878ed14ba685e8683e (patch)
treeef4dc2869290ff9b0f3902c710ba8d94fdeccc64 /src/blockfilter.cpp
parent20b812993ae584e4a4b12faa5c8751aa04dfde81 (diff)
downloadbitcoin-c30620983d2e2c9aee6f52878ed14ba685e8683e.tar.xz
blockfilter: Additional constructors for BlockFilter.
Diffstat (limited to 'src/blockfilter.cpp')
-rw-r--r--src/blockfilter.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/blockfilter.cpp b/src/blockfilter.cpp
index 6bbf887b24..379d3ea170 100644
--- a/src/blockfilter.cpp
+++ b/src/blockfilter.cpp
@@ -221,6 +221,17 @@ static GCSFilter::ElementSet BasicFilterElements(const CBlock& block,
return elements;
}
+BlockFilter::BlockFilter(BlockFilterType filter_type, const uint256& block_hash,
+ std::vector<unsigned char> filter)
+ : m_filter_type(filter_type), m_block_hash(block_hash)
+{
+ GCSFilter::Params params;
+ if (!BuildParams(params)) {
+ throw std::invalid_argument("unknown filter_type");
+ }
+ m_filter = GCSFilter(params, std::move(filter));
+}
+
BlockFilter::BlockFilter(BlockFilterType filter_type, const CBlock& block, const CBlockUndo& block_undo)
: m_filter_type(filter_type), m_block_hash(block.GetHash())
{