code: def get_import_update_hash_from_outputs( outputs ):
      
      
      if len(outputs) < 3:
          raise Exception("No update hash found")
  
      update_addr = None
      try:
          update_addr = virtualchain.script_hex_to_address(outputs[2]['script'])
          assert update_addr
      except:
          log.warning("Invalid update output: {}".format(outputs[2]['script']))
          raise Exception("No update hash found")
  
      return hexlify(keylib.b58check.b58check_decode(update_addr))
docs: This is meant for NAME_IMPORT operations, which 
      have five outputs:  the OP_RETURN, the sender (i.e.
      the namespace owner), the name's recipient, the
      name's update hash, and the burn output.
      This method extracts the name update hash from
      the list of outputs.
      
      By construction, the update hash address is the 3rd output.