message: Extend test_framework/script.py for CDS/-V
diff: @@ -232,6 +232,8 @@ OP_CHECKSIG = CScriptOp(0xac)
  OP_CHECKSIGVERIFY = CScriptOp(0xad)
  OP_CHECKMULTISIG = CScriptOp(0xae)
  OP_CHECKMULTISIGVERIFY = CScriptOp(0xaf)
  +OP_CHECKDATASIG = CScriptOp(0xba)
  +OP_CHECKDATASIGVERIFY = CScriptOp(0xbb)
  # expansion
  OP_NOP1 = CScriptOp(0xb0)
  @@ -360,6 +362,8 @@ VALID_OPCODES = {
  OP_CHECKSIGVERIFY,
  OP_CHECKMULTISIG,
  OP_CHECKMULTISIGVERIFY,
  + OP_CHECKDATASIG,
  + OP_CHECKDATASIGVERIFY,
  OP_NOP1,
  OP_CHECKLOCKTIMEVERIFY,
  @@ -480,6 +484,8 @@ OPCODE_NAMES.update({
  OP_CHECKSIGVERIFY : 'OP_CHECKSIGVERIFY',
  OP_CHECKMULTISIG : 'OP_CHECKMULTISIG',
  OP_CHECKMULTISIGVERIFY : 'OP_CHECKMULTISIGVERIFY',
  + OP_CHECKDATASIG : 'OP_CHECKDATASIG',
  + OP_CHECKDATASIGVERIFY : 'OP_CHECKDATASIGVERIFY',
  OP_NOP1 : 'OP_NOP1',
  OP_CHECKLOCKTIMEVERIFY : 'OP_CHECKLOCKTIMEVERIFY',
  OP_CHECKSEQUENCEVERIFY : 'OP_CHECKSEQUENCEVERIFY',
  @@ -599,6 +605,8 @@ OPCODES_BY_NAME = {
  'OP_CHECKSIGVERIFY' : OP_CHECKSIGVERIFY,
  'OP_CHECKMULTISIG' : OP_CHECKMULTISIG,
  'OP_CHECKMULTISIGVERIFY' : OP_CHECKMULTISIGVERIFY,
  + 'OP_CHECKDATASIG' : OP_CHECKDATASIG,
  + 'OP_CHECKDATASIGVERIFY' : OP_CHECKDATASIGVERIFY,
  'OP_NOP1' : OP_NOP1,
  'OP_CHECKLOCKTIMEVERIFY' : OP_CHECKLOCKTIMEVERIFY,
  'OP_CHECKSEQUENCEVERIFY' : OP_CHECKSEQUENCEVERIFY,
  @@ -842,7 +850,8 @@ class CScript(bytes):
  n = 0
  lastOpcode = OP_INVALIDOPCODE
  for (opcode, data, sop_idx) in self.raw_iter():
  - if opcode in (OP_CHECKSIG, OP_CHECKSIGVERIFY):
  + if opcode in (OP_CHECKSIG, OP_CHECKSIGVERIFY,
  + OP_CHECKDATASIG, OP_CHECKDATASIGVERIFY):
  n += 1
  elif opcode in (OP_CHECKMULTISIG, OP_CHECKMULTISIGVERIFY):
  if fAccurate and (OP_1 <= lastOpcode <= OP_16):
  