diff --git a/src/settings.cpp b/src/settings.cpp index 71fb72a98..bb8b3221f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -151,8 +151,9 @@ settings::settings(chain::selection context) NOEXCEPT break; } - // Sized for the chain at 150,000 blocks. + // Sized for the testnet4 chain at 150,000 blocks. case chain::selection::testnet4: + case chain::selection::testnet5: { header.expected = 156'456; header.size = 17'835'984; diff --git a/test/settings.cpp b/test/settings.cpp index bd9972081..43f1b3ede 100644 --- a/test/settings.cpp +++ b/test/settings.cpp @@ -247,4 +247,30 @@ BC_AUTO_TEST_CASE(settings__construct__signet__expected) BC_REQUIRE_EQUAL(configuration.turbo, true); } +BC_AUTO_TEST_CASE(settings__construct__testnet5__expected) +{ + database::settings configuration{ system::chain::selection::testnet5 }; + BC_REQUIRE(configuration.network == system::chain::selection::testnet5); + BC_REQUIRE_EQUAL(configuration.path, "testnet5"); + BC_REQUIRE_EQUAL(configuration.header.expected, 156'456u); + BC_REQUIRE_EQUAL(configuration.header.size, 17'835'984u); + BC_REQUIRE_EQUAL(configuration.txs.buckets, 150'001u); + BC_REQUIRE_EQUAL(configuration.txs.size, 604'424u); + BC_REQUIRE_EQUAL(configuration.tx.expected, 14'810'011u); + BC_REQUIRE_EQUAL(configuration.tx.size, 9'478'407u); + BC_REQUIRE_EQUAL(configuration.ins.expected, 33'127'580u); + BC_REQUIRE_EQUAL(configuration.ins.size, 17'226'342u); + BC_REQUIRE_EQUAL(configuration.outs.expected, 57'089'349u); + BC_REQUIRE_EQUAL(configuration.outs.size, 5'138'041u); + BC_REQUIRE_EQUAL(configuration.input.size, 87'852'864u); + BC_REQUIRE_EQUAL(configuration.output.size, 20'343'818u); + BC_REQUIRE_EQUAL(configuration.candidate.buckets, 150'001u); + BC_REQUIRE_EQUAL(configuration.confirmed.buckets, 150'001u); + BC_REQUIRE_EQUAL(configuration.strong.buckets, 14'810'011u); + BC_REQUIRE_EQUAL(configuration.scan.buckets, 150'001u); + BC_REQUIRE_EQUAL(configuration.state.buckets, 150'001u); + BC_REQUIRE_EQUAL(configuration.interval_depth, 11u); + BC_REQUIRE_EQUAL(configuration.turbo, true); +} + BC_AUTO_TEST_SUITE_END() diff --git a/test/tables/envelope.cpp b/test/tables/envelope.cpp index bb155e9d9..5d188ea05 100644 --- a/test/tables/envelope.cpp +++ b/test/tables/envelope.cpp @@ -340,6 +340,19 @@ BC_AUTO_TEST_CASE(envelope__from_data__testnet4__round_trip_network) BC_REQUIRE(out.network == chain::selection::testnet4); } +BC_AUTO_TEST_CASE(envelope__from_data__testnet5__round_trip_network) +{ + const system::settings bitcoin{ chain::selection::testnet5 }; + const database::settings configuration{ test::database_settings() }; + const envelope instance{ bitcoin, configuration, false, 42 }; + auto data = to_chunk(instance); + BC_REQUIRE_EQUAL(data.size(), instance.serialized_size()); + + envelope out{}; + BC_REQUIRE(from_chunk(out, data)); + BC_REQUIRE(out.network == chain::selection::testnet5); +} + BC_AUTO_TEST_CASE(envelope__apply__unprovided_filters__unbucketed) { system::settings bitcoin{ chain::selection::mainnet };