code: def namedb_op_sanity_check( opcode, op_data, record ):
      
  
      assert 'address' in record, "BUG: current record has no 'address' field"
  
      assert op_data.has_key('op'), "BUG: operation data is missing its 'op'"
      op_data_opcode = op_get_opcode_name( op_data['op'] )
  
      assert record.has_key('op'), "BUG: current record is missing its 'op'"
      cur_opcode = op_get_opcode_name( record['op'] )
  
      assert op_data_opcode is not None, "BUG: undefined operation '%s'" % op_data['op']
      assert cur_opcode is not None, "BUG: undefined current operation '%s'" % record['op']
  
      if op_data_opcode != opcode:
          # only allowed of the serialized opcode is the same
          # (i.e. as is the case for register/renew)
          assert NAME_OPCODES.get( op_data_opcode, None ) is not None, "BUG: unrecognized opcode '%s'" % op_data_opcode
          assert NAME_OPCODES.get( opcode, None ) is not None, "BUG: unrecognized opcode '%s'" % opcode 
  
          assert NAME_OPCODES[op_data_opcode] == NAME_OPCODES[opcode], "BUG: %s != %s" % (opcode, op_data_opcode)
  
      assert opcode in OPCODE_SEQUENCE_GRAPH, "BUG: impossible to arrive at operation '%s'" % opcode
      assert cur_opcode in OPCODE_SEQUENCE_GRAPH, "BUG: impossible to have processed operation '%s'" % cur_opcode
      assert opcode in OPCODE_SEQUENCE_GRAPH[ cur_opcode ], "BUG: impossible sequence from '%s' to '%s'" % (cur_opcode, opcode)
  
      return True
docs: Sanity checks over operation and state graph data:
      * opcode and op_data must be consistent
      * record must have an opcode
      * the given opcode must be reachable from it.