Several soft fork flags haven't been added to
|
static std::vector<script_verify_flags> AllConsensusFlags() |
|
{ |
|
std::vector<script_verify_flags> ret; |
|
|
|
for (unsigned int i = 0; i < 256; ++i) { |
|
script_verify_flags flag = 0; |
|
if (i & 1) flag |= SCRIPT_VERIFY_P2SH; |
|
if (i & 2) flag |= SCRIPT_VERIFY_DERSIG; |
|
if (i & 4) flag |= SCRIPT_VERIFY_NULLDUMMY; |
|
if (i & 8) flag |= SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY; |
|
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_ANYPREVOUT; |
|
|
|
// 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_ANYPREVOUT requires SCRIPT_VERIFY_TAPROOT |
|
if ((flag & SCRIPT_VERIFY_ANYPREVOUT) && !(flag & SCRIPT_VERIFY_TAPROOT)) continue; |
|
|
|
ret.push_back(flag); |
|
} |
|
|
|
return ret; |
|
} |
Several soft fork flags haven't been added to
bitcoin/src/test/script_tests.cpp
Lines 1563 to 1589 in 88ba899