docs: def virtualchain_set_opfields( op, **fields ):
      """
      Pass along virtualchain-reserved fields to a virtualchain operation.
      This layer of indirection is meant to help with future compatibility,
      so virtualchain implementations do not try to set operation fields
      directly.
      """
  
      # warn about unsupported fields
      for f in fields.keys():
          if f not in indexer.RESERVED_KEYS:
              log.warning("Unsupported virtualchain field '%s'" % f)
  
      # propagate reserved fields
      for f in fields.keys():
          if f in indexer.RESERVED_KEYS:
              op[f] = fields[f]
  
      return op