mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
test: remove old recursive FindChallenges_recursive
implementation
The performance of the test is the same as before, with the recursive method.
This commit is contained in:
parent
b80d0bdee4
commit
f670836112
1 changed files with 0 additions and 29 deletions
|
@ -296,33 +296,6 @@ using NodeRef = miniscript::NodeRef<CPubKey>;
|
||||||
using miniscript::operator""_mst;
|
using miniscript::operator""_mst;
|
||||||
using Node = miniscript::Node<CPubKey>;
|
using Node = miniscript::Node<CPubKey>;
|
||||||
|
|
||||||
/** Compute all challenges (pubkeys, hashes, timelocks) that occur in a given Miniscript. */
|
|
||||||
// NOLINTNEXTLINE(misc-no-recursion)
|
|
||||||
std::set<Challenge> FindChallenges_recursive(const NodeRef& ref) {
|
|
||||||
std::set<Challenge> chal;
|
|
||||||
for (const auto& key : ref->keys) {
|
|
||||||
chal.emplace(ChallengeType::PK, ChallengeNumber(key));
|
|
||||||
}
|
|
||||||
if (ref->fragment == miniscript::Fragment::OLDER) {
|
|
||||||
chal.emplace(ChallengeType::OLDER, ref->k);
|
|
||||||
} else if (ref->fragment == miniscript::Fragment::AFTER) {
|
|
||||||
chal.emplace(ChallengeType::AFTER, ref->k);
|
|
||||||
} else if (ref->fragment == miniscript::Fragment::SHA256) {
|
|
||||||
chal.emplace(ChallengeType::SHA256, ChallengeNumber(ref->data));
|
|
||||||
} else if (ref->fragment == miniscript::Fragment::RIPEMD160) {
|
|
||||||
chal.emplace(ChallengeType::RIPEMD160, ChallengeNumber(ref->data));
|
|
||||||
} else if (ref->fragment == miniscript::Fragment::HASH256) {
|
|
||||||
chal.emplace(ChallengeType::HASH256, ChallengeNumber(ref->data));
|
|
||||||
} else if (ref->fragment == miniscript::Fragment::HASH160) {
|
|
||||||
chal.emplace(ChallengeType::HASH160, ChallengeNumber(ref->data));
|
|
||||||
}
|
|
||||||
for (const auto& sub : ref->subs) {
|
|
||||||
auto sub_chal = FindChallenges_recursive(sub);
|
|
||||||
chal.insert(sub_chal.begin(), sub_chal.end());
|
|
||||||
}
|
|
||||||
return chal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Compute all challenges (pubkeys, hashes, timelocks) that occur in a given Miniscript. */
|
/** Compute all challenges (pubkeys, hashes, timelocks) that occur in a given Miniscript. */
|
||||||
std::set<Challenge> FindChallenges(const NodeRef& root)
|
std::set<Challenge> FindChallenges(const NodeRef& root)
|
||||||
{
|
{
|
||||||
|
@ -379,9 +352,7 @@ struct MiniScriptTest : BasicTestingSetup {
|
||||||
/** Run random satisfaction tests. */
|
/** Run random satisfaction tests. */
|
||||||
void TestSatisfy(const KeyConverter& converter, const std::string& testcase, const NodeRef& node) {
|
void TestSatisfy(const KeyConverter& converter, const std::string& testcase, const NodeRef& node) {
|
||||||
auto script = node->ToScript(converter);
|
auto script = node->ToScript(converter);
|
||||||
const auto challenges_recursive{FindChallenges_recursive(node)};
|
|
||||||
const auto challenges{FindChallenges(node)}; // Find all challenges in the generated miniscript.
|
const auto challenges{FindChallenges(node)}; // Find all challenges in the generated miniscript.
|
||||||
BOOST_CHECK(challenges_recursive == challenges);
|
|
||||||
std::vector<Challenge> challist(challenges.begin(), challenges.end());
|
std::vector<Challenge> challist(challenges.begin(), challenges.end());
|
||||||
for (int iter = 0; iter < 3; ++iter) {
|
for (int iter = 0; iter < 3; ++iter) {
|
||||||
std::shuffle(challist.begin(), challist.end(), m_rng);
|
std::shuffle(challist.begin(), challist.end(), m_rng);
|
||||||
|
|
Loading…
Add table
Reference in a new issue