diff --git a/Makefile.am b/Makefile.am
index f8318e9f..59be2466 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -86,13 +86,13 @@ test_libbitcoin_server_test_SOURCES = \
test/settings.cpp \
test/test.cpp \
test/test.hpp \
+ test/mocks/blocks.cpp \
+ test/mocks/blocks.hpp \
test/parsers/bitcoind_query.cpp \
test/parsers/bitcoind_target.cpp \
test/parsers/electrum_version.cpp \
test/parsers/native_query.cpp \
test/parsers/native_target.cpp \
- test/protocols/blocks.cpp \
- test/protocols/blocks.hpp \
test/protocols/bitcoind/bitcoind_rest.cpp \
test/protocols/bitcoind/bitcoind_rpc.cpp \
test/protocols/bitcoind/bitcoind_setup_fixture.cpp \
diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj
index 028e0e57..664c5f08 100644
--- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj
+++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj
@@ -121,6 +121,9 @@
+
+ $(IntDir)test_mocks_blocks.obj
+
@@ -133,9 +136,6 @@
$(IntDir)test_protocols_bitcoind_bitcoind_setup_fixture.obj
-
- $(IntDir)test_protocols_blocks.obj
-
@@ -168,8 +168,8 @@
+
-
diff --git a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters
index 338ab17a..47a68fa3 100644
--- a/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters
+++ b/builds/msvc/vs2022/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters
@@ -10,21 +10,24 @@
{66A0E586-2E3A-448F-0000-000000000000}
-
+
{66A0E586-2E3A-448F-0000-000000000001}
-
+
{66A0E586-2E3A-448F-0000-000000000002}
-
+
{66A0E586-2E3A-448F-0000-000000000003}
-
+
{66A0E586-2E3A-448F-0000-000000000004}
-
+
{66A0E586-2E3A-448F-0000-000000000005}
+
+ {66A0E586-2E3A-448F-0000-000000000006}
+
@@ -36,6 +39,9 @@
src
+
+ src\mocks
+
src\parsers
@@ -60,9 +66,6 @@
src\protocols\bitcoind
-
- src\protocols
-
src\protocols\electrum
@@ -131,12 +134,12 @@
+
+ src\mocks
+
src\protocols\bitcoind
-
- src\protocols
-
src\protocols\electrum
diff --git a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj
index 6a146ce4..5211b21f 100644
--- a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj
+++ b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj
@@ -121,6 +121,9 @@
+
+ $(IntDir)test_mocks_blocks.obj
+
@@ -133,9 +136,6 @@
$(IntDir)test_protocols_bitcoind_bitcoind_setup_fixture.obj
-
- $(IntDir)test_protocols_blocks.obj
-
@@ -168,8 +168,8 @@
+
-
diff --git a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters
index 338ab17a..47a68fa3 100644
--- a/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters
+++ b/builds/msvc/vs2026/libbitcoin-server-test/libbitcoin-server-test.vcxproj.filters
@@ -10,21 +10,24 @@
{66A0E586-2E3A-448F-0000-000000000000}
-
+
{66A0E586-2E3A-448F-0000-000000000001}
-
+
{66A0E586-2E3A-448F-0000-000000000002}
-
+
{66A0E586-2E3A-448F-0000-000000000003}
-
+
{66A0E586-2E3A-448F-0000-000000000004}
-
+
{66A0E586-2E3A-448F-0000-000000000005}
+
+ {66A0E586-2E3A-448F-0000-000000000006}
+
@@ -36,6 +39,9 @@
src
+
+ src\mocks
+
src\parsers
@@ -60,9 +66,6 @@
src\protocols\bitcoind
-
- src\protocols
-
src\protocols\electrum
@@ -131,12 +134,12 @@
+
+ src\mocks
+
src\protocols\bitcoind
-
- src\protocols
-
src\protocols\electrum
diff --git a/include/bitcoin/server/sessions/session_server.hpp b/include/bitcoin/server/sessions/session_server.hpp
index 2750bd4e..d874c790 100644
--- a/include/bitcoin/server/sessions/session_server.hpp
+++ b/include/bitcoin/server/sessions/session_server.hpp
@@ -94,11 +94,13 @@ class session_server
template = true>
inline void attach_rest(const channel_ptr&, const ptr&) NOEXCEPT{}
- template
inline void attach_rest(const channel_ptr& channel, const ptr& self) NOEXCEPT
{
- channel->template attach(self, this->options_)->start();
- attach_rest(channel, self);
+ if constexpr (!is_zero(sizeof...(Protocols)))
+ {
+ ((channel->template attach(self,
+ this->options_)->start(), void()), ...);
+ }
}
/// Overridden to set channel protocols. This allows the implementation to
@@ -109,7 +111,7 @@ class session_server
{
using own = session_server;
const auto self = this->template shared_from_base();
- attach_rest(channel, self);
+ attach_rest(channel, self);
}
protected:
diff --git a/test/protocols/blocks.cpp b/test/mocks/blocks.cpp
similarity index 98%
rename from test/protocols/blocks.cpp
rename to test/mocks/blocks.cpp
index 04444bf3..5f753584 100644
--- a/test/protocols/blocks.cpp
+++ b/test/mocks/blocks.cpp
@@ -148,7 +148,7 @@ bool setup_three_block_unconfirmed_address_store(query_t& query) NOEXCEPT
query.set(block3a, database::context{ 0, 3, 0 }, false, false);
}
-const block bogus_block10
+const block mock_block10
{
header
{
@@ -261,12 +261,12 @@ const block bogus_block10
}
}
};
-const block bogus_block11
+const block mock_block11
{
header
{
0x31323334,
- bogus_block10.hash(),
+ mock_block10.hash(),
hash_digest{ 0x11, 0xbb },
0x41424344,
0x51525354,
@@ -331,12 +331,12 @@ const block bogus_block11
}
}
};
-const block bogus_block12
+const block mock_block12
{
header
{
0x31323334,
- bogus_block11.hash(),
+ mock_block11.hash(),
hash_digest{ 0x12, 0xbb },
0x41424344,
0x51525354,
@@ -351,14 +351,14 @@ const block bogus_block12
{
input
{
- point{ bogus_block11.transactions_ptr()->front()->hash(false), 0x03 },
+ point{ mock_block11.transactions_ptr()->front()->hash(false), 0x03 },
script{},
witness{},
0x08
},
input
{
- point{ bogus_block11.transactions_ptr()->front()->hash(false), 0x04 },
+ point{ mock_block11.transactions_ptr()->front()->hash(false), 0x04 },
script{},
witness{},
0x09
@@ -377,7 +377,7 @@ const block bogus_block12
}
}
};
-const block bogus_block
+const block mock_block_a
{
header
{
diff --git a/test/protocols/blocks.hpp b/test/mocks/blocks.hpp
similarity index 92%
rename from test/protocols/blocks.hpp
rename to test/mocks/blocks.hpp
index 4d048e9d..69f51a37 100644
--- a/test/protocols/blocks.hpp
+++ b/test/mocks/blocks.hpp
@@ -16,8 +16,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-#ifndef LIBBITCOIN_SERVER_TEST_PROTOCOLS_BLOCKS
-#define LIBBITCOIN_SERVER_TEST_PROTOCOLS_BLOCKS
+#ifndef LIBBITCOIN_SERVER_TEST_MOCKS_BLOCKS
+#define LIBBITCOIN_SERVER_TEST_MOCKS_BLOCKS
#include "../test.hpp"
@@ -84,11 +84,11 @@ extern const system::chain::block block6;
extern const system::chain::block block7;
extern const system::chain::block block8;
extern const system::chain::block block9;
-extern const system::chain::block bogus_block10;
-extern const system::chain::block bogus_block11;
-extern const system::chain::block bogus_block12;
+extern const system::chain::block mock_block10;
+extern const system::chain::block mock_block11;
+extern const system::chain::block mock_block12;
-extern const system::chain::block bogus_block;
+extern const system::chain::block mock_block_a;
extern const system::chain::block block1a;
extern const system::chain::block block2a;
extern const system::chain::block block3a;
diff --git a/test/protocols/bitcoind/bitcoind_setup_fixture.cpp b/test/protocols/bitcoind/bitcoind_setup_fixture.cpp
index fc033e58..6178292c 100644
--- a/test/protocols/bitcoind/bitcoind_setup_fixture.cpp
+++ b/test/protocols/bitcoind/bitcoind_setup_fixture.cpp
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
#include "../../test.hpp"
-#include "../blocks.hpp"
+#include "../../mocks/blocks.hpp"
#include "bitcoind_setup_fixture.hpp"
#include
diff --git a/test/protocols/bitcoind/bitcoind_setup_fixture.hpp b/test/protocols/bitcoind/bitcoind_setup_fixture.hpp
index e9b348d7..1d8104ad 100644
--- a/test/protocols/bitcoind/bitcoind_setup_fixture.hpp
+++ b/test/protocols/bitcoind/bitcoind_setup_fixture.hpp
@@ -20,7 +20,7 @@
#define LIBBITCOIN_SERVER_TEST_PROTOCOLS_BITCOIND_BITCOIND
#include "../../test.hpp"
-#include "../blocks.hpp"
+#include "../../mocks/blocks.hpp"
#define BITCOIND_ENDPOINT "127.0.0.1:65000"
diff --git a/test/protocols/electrum/electrum_addresses.cpp b/test/protocols/electrum/electrum_addresses.cpp
index 6fa6fbde..1444615e 100644
--- a/test/protocols/electrum/electrum_addresses.cpp
+++ b/test/protocols/electrum/electrum_addresses.cpp
@@ -75,9 +75,9 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_balance__confirmed_and_unc
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// Add one confirmed p2sh/p2kh block and one unconfirmed.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":905,"method":"blockchain.address.get_balance","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_address).str());
@@ -86,11 +86,11 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_balance__confirmed_and_unc
const auto& result = response.at("result").as_object();
REQUIRE_NO_THROW_TRUE(result.at("confirmed").is_int64());
REQUIRE_NO_THROW_TRUE(result.at("unconfirmed").is_int64());
- BOOST_REQUIRE_EQUAL(result.at("confirmed").as_int64(), 0x09); // bogus_block10
+ BOOST_REQUIRE_EQUAL(result.at("confirmed").as_int64(), 0x09); // mock_block10
// Currently unconfirmed ALWAYS returns zero (no graph to order conflicts).
BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x00);
- ////BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x10 + 0x11 + 0x12); // bogus_block11
+ ////BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x10 + 0x11 + 0x12); // mock_block11
}
// blockchain.address.get_history
@@ -134,10 +134,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_history__confirmed_and_unc
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.address.get_history","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_address).str());
@@ -146,7 +146,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_history__confirmed_and_unc
const auto& history = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(history.size(), 3u);
- const auto hash1 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash1 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& tx1 = history.at(0).as_object();
REQUIRE_NO_THROW_TRUE(tx1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx1.at("tx_hash").is_string());
@@ -154,7 +154,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_history__confirmed_and_unc
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 10);
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash1));
- const auto hash2 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash2 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = history.at(1).as_object();
REQUIRE_NO_THROW_TRUE(tx2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx2.at("tx_hash").is_string());
@@ -162,7 +162,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_history__confirmed_and_unc
BOOST_REQUIRE_EQUAL(tx2.at("height").as_int64(), 0); // rooted
BOOST_REQUIRE_EQUAL(tx2.at("tx_hash").as_string(), encode_hash(hash2));
- const auto hash3 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash3 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx3 = history.at(2).as_object();
REQUIRE_NO_THROW_TRUE(tx3.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx3.at("tx_hash").is_string());
@@ -212,10 +212,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_mempool__confirmed_and_unc
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.address.get_mempool","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_address).str());
@@ -224,7 +224,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_mempool__confirmed_and_unc
const auto& history = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(history.size(), 2u);
- const auto hash1 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash1 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx1 = history.at(0).as_object();
REQUIRE_NO_THROW_TRUE(tx1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx1.at("tx_hash").is_string());
@@ -232,7 +232,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_get_mempool__confirmed_and_unc
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 0); // rooted
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash1));
- const auto hash2 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash2 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = history.at(1).as_object();
REQUIRE_NO_THROW_TRUE(tx2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx2.at("tx_hash").is_string());
@@ -282,10 +282,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_list_unspent__confirmed_and_un
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.address.listunspent","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_address).str());
@@ -294,21 +294,21 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_list_unspent__confirmed_and_un
const auto& unspent = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(unspent.size(), 4u);
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& tx1 = unspent.at(0).as_object();
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash10));
BOOST_REQUIRE_EQUAL(tx1.at("tx_pos").as_int64(), 0); // tx.output.index(0)
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 10); // confirmed
BOOST_REQUIRE_EQUAL(tx1.at("value").as_int64(), 0x09);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = unspent.at(1).as_object();
BOOST_REQUIRE_EQUAL(tx2.at("tx_hash").as_string(), encode_hash(hash11));
BOOST_REQUIRE_EQUAL(tx2.at("tx_pos").as_int64(), 0); // tx.output.index(0)
BOOST_REQUIRE_EQUAL(tx2.at("height").as_int64(), 0); // unconfirmed
BOOST_REQUIRE_EQUAL(tx2.at("value").as_int64(), 0x10);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx4 = unspent.at(2).as_object();
BOOST_REQUIRE_EQUAL(tx4.at("tx_hash").as_string(), encode_hash(hash12));
BOOST_REQUIRE_EQUAL(tx4.at("tx_pos").as_int64(), 0); // tx.output.index(0)
diff --git a/test/protocols/electrum/electrum_headers.cpp b/test/protocols/electrum/electrum_headers.cpp
index e4948855..da999f14 100644
--- a/test/protocols/electrum/electrum_headers.cpp
+++ b/test/protocols/electrum/electrum_headers.cpp
@@ -54,11 +54,11 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_number_of_blocks_subscribe__notificati
REQUIRE_NO_THROW_TRUE(response.at("result").is_int64());
BOOST_REQUIRE_EQUAL(response.at("result").as_int64(), 9);
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
// Trigger node chaser events to electrum event subscriber.
notify(node::chase::organized, { 10_u32 });
@@ -646,11 +646,11 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_headers_subscribe__notifications__expe
BOOST_REQUIRE_EQUAL(result.at("height").as_int64(), 9);
BOOST_REQUIRE_EQUAL(result.at("hex").as_string(), encode_base16(test::header9_data));
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
// Trigger node chaser events to electrum event subscriber.
notify(node::chase::organized, { 10_u32 });
@@ -669,7 +669,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_headers_subscribe__notifications__expe
REQUIRE_NO_THROW_TRUE(header1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(header1.at("hex").is_string());
BOOST_CHECK_EQUAL(header1.at("height").as_int64(), 10);
- BOOST_CHECK_EQUAL(header1.at("hex").as_string(), encode_base16(test::bogus_block10.header().to_data()));
+ BOOST_CHECK_EQUAL(header1.at("hex").as_string(), encode_base16(test::mock_block10.header().to_data()));
const auto notification2 = receive();
REQUIRE_NO_THROW_TRUE(notification2.at("method").is_string());
@@ -684,7 +684,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_headers_subscribe__notifications__expe
REQUIRE_NO_THROW_TRUE(header2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(header2.at("hex").is_string());
BOOST_CHECK_EQUAL(header2.at("height").as_int64(), 11);
- BOOST_CHECK_EQUAL(header2.at("hex").as_string(), encode_base16(test::bogus_block11.header().to_data()));
+ BOOST_CHECK_EQUAL(header2.at("hex").as_string(), encode_base16(test::mock_block11.header().to_data()));
}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/test/protocols/electrum/electrum_outpoints.cpp b/test/protocols/electrum/electrum_outpoints.cpp
index 4004adbf..eb631aed 100644
--- a/test/protocols/electrum/electrum_outpoints.cpp
+++ b/test/protocols/electrum/electrum_outpoints.cpp
@@ -87,10 +87,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_utxo_get_address__p2kh__expected)
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// Add a confirmed p2sh/p2kh block.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), false));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), false));
- const auto hash = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto request = R"({"id":901,"method":"blockchain.utxo.get_address","params":["%1%",0]})" "\n";
const auto response = get((boost::format(request) % encode_hash(hash)).str());
REQUIRE_NO_THROW_TRUE(response.at("result").is_string());
@@ -104,10 +104,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_utxo_get_address__p2sh__expected)
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// Add a confirmed p2sh/p2kh block.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), false));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), false));
- const auto hash = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto request = R"({"id":901,"method":"blockchain.utxo.get_address","params":["%1%",1]})" "\n";
const auto response = get((boost::format(request) % encode_hash(hash)).str());
REQUIRE_NO_THROW_TRUE(response.at("result").is_string());
@@ -181,15 +181,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_outpoint_get_status__confirmed_spent__
{
BOOST_REQUIRE(handshake(electrum::version::v1_7));
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto hash1 = test::block1.transactions_ptr()->at(0)->hash(false);
const auto request = R"({"id":1107,"method":"blockchain.outpoint.get_status","params":["%1%",0]})" "\n";
const auto response = get((boost::format(request) % encode_hash(hash1)).str());
REQUIRE_NO_THROW_TRUE(response.at("result").is_object());
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& history = response.at("result").as_object();
REQUIRE_NO_THROW_TRUE(history.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(history.at("spender_height").is_int64());
@@ -291,15 +291,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_outpoint_subscribe__one_spender__expec
{
BOOST_REQUIRE(handshake(electrum::version::v1_7));
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto hash1 = test::block1.transactions_ptr()->at(0)->hash(false);
const auto request = R"({"id":1107,"method":"blockchain.outpoint.subscribe","params":["%1%",0]})" "\n";
const auto response = get((boost::format(request) % encode_hash(hash1)).str());
REQUIRE_NO_THROW_TRUE(response.at("result").is_object());
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& history = response.at("result").as_object();
REQUIRE_NO_THROW_TRUE(history.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(history.at("spender_height").is_int64());
diff --git a/test/protocols/electrum/electrum_scripthash.cpp b/test/protocols/electrum/electrum_scripthash.cpp
index 112f2c56..44dc29a4 100644
--- a/test/protocols/electrum/electrum_scripthash.cpp
+++ b/test/protocols/electrum/electrum_scripthash.cpp
@@ -89,9 +89,9 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_balance__confirmed_and_
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// Add one confirmed p2sh/p2kh block and one unconfirmed.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":905,"method":"blockchain.scripthash.get_balance","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_scripthash).str());
@@ -100,11 +100,11 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_balance__confirmed_and_
const auto& result = response.at("result").as_object();
REQUIRE_NO_THROW_TRUE(result.at("confirmed").is_int64());
REQUIRE_NO_THROW_TRUE(result.at("unconfirmed").is_int64());
- BOOST_REQUIRE_EQUAL(result.at("confirmed").as_int64(), 0x09); // bogus_block10
+ BOOST_REQUIRE_EQUAL(result.at("confirmed").as_int64(), 0x09); // mock_block10
// Currently unconfirmed ALWAYS returns zero (no graph to order conflicts).
BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x00);
- ////BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x10 + 0x11 + 0x12); // bogus_block11
+ ////BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x10 + 0x11 + 0x12); // mock_block11
}
// blockchain.scripthash.get_history
@@ -160,10 +160,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_history__confirmed_and_
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.scripthash.get_history","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_scripthash).str());
@@ -172,7 +172,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_history__confirmed_and_
const auto& history = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(history.size(), 3u);
- const auto hash1 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash1 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& tx1 = history.at(0).as_object();
REQUIRE_NO_THROW_TRUE(tx1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx1.at("tx_hash").is_string());
@@ -180,7 +180,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_history__confirmed_and_
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 10);
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash1));
- const auto hash2 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash2 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = history.at(1).as_object();
REQUIRE_NO_THROW_TRUE(tx2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx2.at("tx_hash").is_string());
@@ -188,7 +188,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_history__confirmed_and_
BOOST_REQUIRE_EQUAL(tx2.at("height").as_int64(), 0); // rooted
BOOST_REQUIRE_EQUAL(tx2.at("tx_hash").as_string(), encode_hash(hash2));
- const auto hash3 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash3 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx3 = history.at(2).as_object();
REQUIRE_NO_THROW_TRUE(tx3.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx3.at("tx_hash").is_string());
@@ -250,10 +250,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_mempool__confirmed_and_
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.scripthash.get_mempool","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_scripthash).str());
@@ -262,7 +262,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_mempool__confirmed_and_
const auto& history = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(history.size(), 2u);
- const auto hash1 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash1 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx1 = history.at(0).as_object();
REQUIRE_NO_THROW_TRUE(tx1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx1.at("tx_hash").is_string());
@@ -270,7 +270,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_get_mempool__confirmed_and_
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 0); // rooted
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash1));
- const auto hash2 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash2 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = history.at(1).as_object();
REQUIRE_NO_THROW_TRUE(tx2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx2.at("tx_hash").is_string());
@@ -332,10 +332,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_list_unspent__confirmed_and
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.scripthash.listunspent","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_scripthash).str());
@@ -344,21 +344,21 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_list_unspent__confirmed_and
const auto& unspent = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(unspent.size(), 4u);
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& tx1 = unspent.at(0).as_object();
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash10));
BOOST_REQUIRE_EQUAL(tx1.at("tx_pos").as_int64(), 0); // tx.output.index(0)
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 10); // confirmed
BOOST_REQUIRE_EQUAL(tx1.at("value").as_int64(), 0x09);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = unspent.at(1).as_object();
BOOST_REQUIRE_EQUAL(tx2.at("tx_hash").as_string(), encode_hash(hash11));
BOOST_REQUIRE_EQUAL(tx2.at("tx_pos").as_int64(), 0); // tx.output.index(0)
BOOST_REQUIRE_EQUAL(tx2.at("height").as_int64(), 0); // unconfirmed
BOOST_REQUIRE_EQUAL(tx2.at("value").as_int64(), 0x10);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx4 = unspent.at(2).as_object();
BOOST_REQUIRE_EQUAL(tx4.at("tx_hash").as_string(), encode_hash(hash12));
BOOST_REQUIRE_EQUAL(tx4.at("tx_pos").as_int64(), 0); // tx.output.index(0)
diff --git a/test/protocols/electrum/electrum_scriptpubkey.cpp b/test/protocols/electrum/electrum_scriptpubkey.cpp
index 3064c061..cc8c152b 100644
--- a/test/protocols/electrum/electrum_scriptpubkey.cpp
+++ b/test/protocols/electrum/electrum_scriptpubkey.cpp
@@ -89,9 +89,9 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_balance__confirmed_an
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// Add one confirmed p2sh/p2kh block and one unconfirmed.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":905,"method":"blockchain.scriptpubkey.get_balance","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_script).str());
@@ -100,11 +100,11 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_balance__confirmed_an
const auto& result = response.at("result").as_object();
REQUIRE_NO_THROW_TRUE(result.at("confirmed").is_int64());
REQUIRE_NO_THROW_TRUE(result.at("unconfirmed").is_int64());
- BOOST_REQUIRE_EQUAL(result.at("confirmed").as_int64(), 0x09); // bogus_block10
+ BOOST_REQUIRE_EQUAL(result.at("confirmed").as_int64(), 0x09); // mock_block10
// Currently unconfirmed ALWAYS returns zero (no graph to order conflicts).
BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x00);
- ////BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x10 + 0x11 + 0x12); // bogus_block11
+ ////BOOST_REQUIRE_EQUAL(result.at("unconfirmed").as_int64(), 0x10 + 0x11 + 0x12); // mock_block11
}
// blockchain.scriptpubkey.get_history
@@ -160,10 +160,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_history__confirmed_an
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.scriptpubkey.get_history","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_script).str());
@@ -172,7 +172,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_history__confirmed_an
const auto& history = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(history.size(), 3u);
- const auto hash1 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash1 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& tx1 = history.at(0).as_object();
REQUIRE_NO_THROW_TRUE(tx1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx1.at("tx_hash").is_string());
@@ -180,7 +180,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_history__confirmed_an
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 10);
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash1));
- const auto hash2 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash2 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = history.at(1).as_object();
REQUIRE_NO_THROW_TRUE(tx2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx2.at("tx_hash").is_string());
@@ -188,7 +188,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_history__confirmed_an
BOOST_REQUIRE_EQUAL(tx2.at("height").as_int64(), 0); // rooted
BOOST_REQUIRE_EQUAL(tx2.at("tx_hash").as_string(), encode_hash(hash2));
- const auto hash3 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash3 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx3 = history.at(2).as_object();
REQUIRE_NO_THROW_TRUE(tx3.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx3.at("tx_hash").is_string());
@@ -250,10 +250,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_mempool__confirmed_an
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.scriptpubkey.get_mempool","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_script).str());
@@ -262,14 +262,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_get_mempool__confirmed_an
const auto& history = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(history.size(), 2u);
- const auto hash1 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash1 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx1 = history.at(0).as_object();
REQUIRE_NO_THROW_TRUE(tx1.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx1.at("tx_hash").is_string());
BOOST_REQUIRE_EQUAL(tx1.at("fee").as_int64(), floored_subtract(5'000'000'000 + 5'000'000'000, 0x10 + 0x11 + 0x12 + 0x13 + 0x14));
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash1));
- const auto hash2 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash2 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = history.at(1).as_object();
REQUIRE_NO_THROW_TRUE(tx2.at("height").is_int64());
REQUIRE_NO_THROW_TRUE(tx2.at("tx_hash").is_string());
@@ -331,10 +331,10 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_list_unspent__confirmed_a
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// Add one confirmed p2sh/p2kh block and one unconfirmed (mirrors the get_balance confirmed test).
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":1006,"method":"blockchain.scriptpubkey.listunspent","params":["%1%"]})" "\n";
const auto response = get((boost::format(request) % found_script).str());
@@ -343,21 +343,21 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_list_unspent__confirmed_a
const auto& unspent = response.at("result").as_array();
BOOST_REQUIRE_EQUAL(unspent.size(), 4u);
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
const auto& tx1 = unspent.at(0).as_object();
BOOST_REQUIRE_EQUAL(tx1.at("tx_hash").as_string(), encode_hash(hash10));
BOOST_REQUIRE_EQUAL(tx1.at("tx_pos").as_int64(), 0); // tx.output.index(0)
BOOST_REQUIRE_EQUAL(tx1.at("height").as_int64(), 10); // confirmed
BOOST_REQUIRE_EQUAL(tx1.at("value").as_int64(), 0x09);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
const auto& tx2 = unspent.at(1).as_object();
BOOST_REQUIRE_EQUAL(tx2.at("tx_hash").as_string(), encode_hash(hash11));
BOOST_REQUIRE_EQUAL(tx2.at("tx_pos").as_int64(), 0); // tx.output.index(0)
BOOST_REQUIRE_EQUAL(tx2.at("height").as_int64(), 0); // unconfirmed
BOOST_REQUIRE_EQUAL(tx2.at("value").as_int64(), 0x10);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto& tx4 = unspent.at(2).as_object();
BOOST_REQUIRE_EQUAL(tx4.at("tx_hash").as_string(), encode_hash(hash12));
BOOST_REQUIRE_EQUAL(tx4.at("tx_pos").as_int64(), 0); // tx.output.index(0)
diff --git a/test/protocols/electrum/electrum_setup_fixture.cpp b/test/protocols/electrum/electrum_setup_fixture.cpp
index 9a10cc5f..590ab760 100644
--- a/test/protocols/electrum/electrum_setup_fixture.cpp
+++ b/test/protocols/electrum/electrum_setup_fixture.cpp
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
#include "../../test.hpp"
-#include "../blocks.hpp"
+#include "../../mocks/blocks.hpp"
#include "electrum_setup_fixture.hpp"
#include
#include
diff --git a/test/protocols/electrum/electrum_setup_fixture.hpp b/test/protocols/electrum/electrum_setup_fixture.hpp
index e7ec7ca7..2db26ef1 100644
--- a/test/protocols/electrum/electrum_setup_fixture.hpp
+++ b/test/protocols/electrum/electrum_setup_fixture.hpp
@@ -20,7 +20,7 @@
#define LIBBITCOIN_SERVER_TEST_PROTOCOLS_ELECTRUM_ELECTRUM
#include "../../test.hpp"
-#include "../blocks.hpp"
+#include "../../mocks/blocks.hpp"
#define ELECTRUM_ENDPOINT "127.0.0.1:65000"
diff --git a/test/protocols/electrum/electrum_subscribe.cpp b/test/protocols/electrum/electrum_subscribe.cpp
index 109220fa..bb650297 100644
--- a/test/protocols/electrum/electrum_subscribe.cpp
+++ b/test/protocols/electrum/electrum_subscribe.cpp
@@ -84,14 +84,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__initialization__exp
// This validates the hash accumulator copy in get_scripthash_history() and incorporates
// confirmed, rooted and unrooted transactions, duplicates, and sort.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
-
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto expected_initial = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -110,14 +110,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__repeat_call__idempo
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
-
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto expected_initial = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -147,15 +147,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__progressive__expect
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
// Confirming block 10 also makes block 11 to rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto expected_confirm10 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -169,7 +169,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__progressive__expect
BOOST_REQUIRE_EQUAL(response1.at("result").as_string(), expected_confirm10);
// Confirming block 11 also makes block 12 rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
const auto expected_confirm11 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -182,7 +182,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__progressive__expect
BOOST_REQUIRE_EQUAL(response2.at("result").as_string(), expected_confirm11);
// Confirming block 12 only makes block 12 confirmed.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block12.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block12.hash()), true));
const auto expected_confirm12 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -200,15 +200,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__progressive_notify_
BOOST_REQUIRE(handshake(electrum::version::v1_0));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
// Confirming block 10 also makes block 11 to rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto expected_confirm10 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -222,7 +222,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__progressive_notify_
BOOST_REQUIRE_EQUAL(response1.at("result").as_string(), expected_confirm10);
// Confirming block 11 also makes block 12 rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
const auto expected_confirm11 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -246,7 +246,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_address_subscribe__progressive_notify_
BOOST_REQUIRE_EQUAL(params1.at(1).as_string(), expected_confirm11);
// Confirming block 12 only makes block 12 confirmed.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block12.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block12.hash()), true));
const auto expected_confirm12 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -321,14 +321,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__initialization__
// This validates the hash accumulator copy in get_scripthash_history() and incorporates
// confirmed, rooted and unrooted transactions, duplicates, and sort.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
-
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto expected_initial = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -347,14 +347,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__repeat_call__ide
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
-
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto expected_initial = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -384,15 +384,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__progressive__exp
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
// Confirming block 10 also makes block 11 to rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto expected_confirm10 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -406,7 +406,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__progressive__exp
BOOST_REQUIRE_EQUAL(response1.at("result").as_string(), expected_confirm10);
// Confirming block 11 also makes block 12 rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
const auto expected_confirm11 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -419,7 +419,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__progressive__exp
BOOST_REQUIRE_EQUAL(response2.at("result").as_string(), expected_confirm11);
// Confirming block 12 only makes block 12 confirmed.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block12.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block12.hash()), true));
const auto expected_confirm12 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -437,15 +437,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__progressive_noti
BOOST_REQUIRE(handshake(electrum::version::v1_1));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
// Confirming block 10 also makes block 11 to rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto expected_confirm10 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -459,7 +459,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__progressive_noti
BOOST_REQUIRE_EQUAL(response1.at("result").as_string(), expected_confirm10);
// Confirming block 11 also makes block 12 rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
const auto expected_confirm11 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -483,7 +483,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scripthash_subscribe__progressive_noti
BOOST_REQUIRE_EQUAL(params1.at(1).as_string(), expected_confirm11);
// Confirming block 12 only makes block 12 confirmed.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block12.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block12.hash()), true));
const auto expected_confirm12 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -617,14 +617,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__initialization
// This validates the hash accumulator copy in get_scripthash_history() and incorporates
// confirmed, rooted and unrooted transactions, duplicates, and sort.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
-
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto expected_initial = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -643,14 +643,14 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__repeat_call__i
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
-
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
+
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
const auto expected_initial = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -680,15 +680,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__progressive__e
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
// Confirming block 10 also makes block 11 to rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto expected_confirm10 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -702,7 +702,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__progressive__e
BOOST_REQUIRE_EQUAL(response1.at("result").as_string(), expected_confirm10);
// Confirming block 11 also makes block 12 rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
const auto expected_confirm11 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -715,7 +715,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__progressive__e
BOOST_REQUIRE_EQUAL(response2.at("result").as_string(), expected_confirm11);
// Confirming block 12 only makes block 12 confirmed.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block12.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block12.hash()), true));
const auto expected_confirm12 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -733,15 +733,15 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__progressive_no
BOOST_REQUIRE(handshake(electrum::version::v1_7));
// This validates cursor/midstate consistency.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
- const auto hash10 = test::bogus_block10.transactions_ptr()->at(1)->hash(false);
- const auto hash11 = test::bogus_block11.transactions_ptr()->at(0)->hash(false);
- const auto hash12 = test::bogus_block12.transactions_ptr()->at(0)->hash(false);
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
+ const auto hash10 = test::mock_block10.transactions_ptr()->at(1)->hash(false);
+ const auto hash11 = test::mock_block11.transactions_ptr()->at(0)->hash(false);
+ const auto hash12 = test::mock_block12.transactions_ptr()->at(0)->hash(false);
// Confirming block 10 also makes block 11 to rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto expected_confirm10 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -755,7 +755,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__progressive_no
BOOST_REQUIRE_EQUAL(response1.at("result").as_string(), expected_confirm10);
// Confirming block 11 also makes block 12 rooted.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
const auto expected_confirm11 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
@@ -779,7 +779,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_scriptpubkey_subscribe__progressive_no
BOOST_REQUIRE_EQUAL(params1.at(1).as_string(), expected_confirm11);
// Confirming block 12 only makes block 12 confirmed.
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block12.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block12.hash()), true));
const auto expected_confirm12 = encode_base16(sha256_hash
(
encode_hash(hash10) + ":10:" +
diff --git a/test/protocols/electrum/electrum_transactions.cpp b/test/protocols/electrum/electrum_transactions.cpp
index 7f72798e..5a0708ac 100644
--- a/test/protocols/electrum/electrum_transactions.cpp
+++ b/test/protocols/electrum/electrum_transactions.cpp
@@ -17,7 +17,6 @@
* along with this program. If not, see .
*/
#include "../../test.hpp"
-#include "../blocks.hpp"
#include "electrum_setup_fixture.hpp"
#include
@@ -359,7 +358,7 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_transaction_get_merkle__mutiple_txs_bl
{
BOOST_REQUIRE(handshake(electrum::version::v1_4));
- const auto& txs = *test::bogus_block10.transactions_ptr();
+ const auto& txs = *test::mock_block10.transactions_ptr();
const auto& tx0 = *txs.at(0);
const auto& tx1 = *txs.at(1);
const auto& tx2 = *txs.at(2);
@@ -368,8 +367,8 @@ BOOST_AUTO_TEST_CASE(electrum__blockchain_transaction_get_merkle__mutiple_txs_bl
const auto tx2_hash = tx2.hash(false);
// Add a confirmed multi-tx block.
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
const auto request = R"({"id":104,"method":"blockchain.transaction.get_merkle","params":["%1%",10]})" "\n";
const auto response = get((boost::format(request) % encode_hash(tx1_hash)).str());
diff --git a/test/protocols/native/native_block.cpp b/test/protocols/native/native_block.cpp
index b9bd0cfb..3f37a7a8 100644
--- a/test/protocols/native/native_block.cpp
+++ b/test/protocols/native/native_block.cpp
@@ -143,18 +143,18 @@ BOOST_AUTO_TEST_CASE(native__ws_top_subscribe__progressive_notify__expected)
{
BOOST_REQUIRE(!ws_upgrade());
- BOOST_REQUIRE(query_.set(test::bogus_block10, database::context{ 0, 10, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block11, database::context{ 0, 11, 0 }, false, false));
- BOOST_REQUIRE(query_.set(test::bogus_block12, database::context{ 0, 12, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block10, database::context{ 0, 10, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block11, database::context{ 0, 11, 0 }, false, false));
+ BOOST_REQUIRE(query_.set(test::mock_block12, database::context{ 0, 12, 0 }, false, false));
const auto response = ws_get_json("/v1/top/subscribe?format=json");
BOOST_REQUIRE(response.is_int64());
BOOST_REQUIRE_EQUAL(response.as_int64(), 9);
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block10.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block10.hash()), true));
BOOST_REQUIRE_EQUAL(ws_get_text("/v1/top/subscribe?format=text"), "0a");
- BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::bogus_block11.hash()), true));
+ BOOST_REQUIRE(query_.push_confirmed(query_.to_header(test::mock_block11.hash()), true));
notify(node::chase::organized, node::header_t{ 11 });
BOOST_REQUIRE_EQUAL(to_string(ws_receive()), "0b");
diff --git a/test/protocols/native/native_setup_fixture.cpp b/test/protocols/native/native_setup_fixture.cpp
index c532ed55..438e9d68 100644
--- a/test/protocols/native/native_setup_fixture.cpp
+++ b/test/protocols/native/native_setup_fixture.cpp
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
#include "../../test.hpp"
-#include "../blocks.hpp"
+#include "../../mocks/blocks.hpp"
#include "native_setup_fixture.hpp"
#include
diff --git a/test/protocols/native/native_setup_fixture.hpp b/test/protocols/native/native_setup_fixture.hpp
index d0707efa..1ad234bb 100644
--- a/test/protocols/native/native_setup_fixture.hpp
+++ b/test/protocols/native/native_setup_fixture.hpp
@@ -20,7 +20,7 @@
#define LIBBITCOIN_SERVER_TEST_PROTOCOLS_NATIVE_NATIVE
#include "../../test.hpp"
-#include "../blocks.hpp"
+#include "../../mocks/blocks.hpp"
#define NATIVE_ENDPOINT "127.0.0.1:65001"