Document and test OP_RESERVED weirdness

Seems it was forgotten about when IsPushOnly() and the unittests were
written. A particular oddity is that OP_RESERVED doesn't count towards
the >201 opcode limit unlike every other named opcode.
This commit is contained in:
Peter Todd
2013-08-25 12:37:07 -04:00
parent e9e2ef5fbd
commit 214d45b6b9
5 changed files with 18 additions and 3 deletions

View File

@@ -32,8 +32,12 @@ ParseScript(string s)
if (mapOpNames.size() == 0)
{
for (int op = OP_NOP; op <= OP_NOP10; op++)
for (int op = 0; op <= OP_NOP10; op++)
{
// Allow OP_RESERVED to get into mapOpNames
if (op < OP_NOP && op != OP_RESERVED)
continue;
const char* name = GetOpName((opcodetype)op);
if (strcmp(name, "OP_UNKNOWN") == 0)
continue;
@@ -72,7 +76,7 @@ ParseScript(string s)
}
else if (mapOpNames.count(w))
{
// opcode, e.g. OP_ADD or OP_1:
// opcode, e.g. OP_ADD or ADD:
result << mapOpNames[w];
}
else