Add Simplicity Deployment structure

This commit is contained in:
Russell O'Connor 2023-02-23 14:57:08 -05:00
parent 1698454c2a
commit bcd508f409
8 changed files with 53 additions and 4 deletions

View file

@ -1653,7 +1653,7 @@ static std::vector<unsigned int> AllConsensusFlags()
{
std::vector<unsigned int> ret;
for (unsigned int i = 0; i < 128; ++i) {
for (unsigned int i = 0; i < 256; ++i) {
unsigned int flag = 0;
if (i & 1) flag |= SCRIPT_VERIFY_P2SH;
if (i & 2) flag |= SCRIPT_VERIFY_DERSIG;
@ -1662,11 +1662,14 @@ static std::vector<unsigned int> AllConsensusFlags()
if (i & 16) flag |= SCRIPT_VERIFY_CHECKSEQUENCEVERIFY;
if (i & 32) flag |= SCRIPT_VERIFY_WITNESS;
if (i & 64) flag |= SCRIPT_VERIFY_TAPROOT;
if (i & 128) flag |= SCRIPT_VERIFY_SIMPLICITY;
// SCRIPT_VERIFY_WITNESS requires SCRIPT_VERIFY_P2SH
if (flag & SCRIPT_VERIFY_WITNESS && !(flag & SCRIPT_VERIFY_P2SH)) continue;
// SCRIPT_VERIFY_TAPROOT requires SCRIPT_VERIFY_WITNESS
if (flag & SCRIPT_VERIFY_TAPROOT && !(flag & SCRIPT_VERIFY_WITNESS)) continue;
// SCRIPT_VERIFY_SIMPLICITY requires SCRIPT_VERIFY_TAPROOT
if (flag & SCRIPT_VERIFY_SIMPLICITY && !(flag & SCRIPT_VERIFY_TAPROOT)) continue;
ret.push_back(flag);
}