code: func (c *BoundContract) UnpackLog(out interface{}, event string, log types.Log) error {
  	if len(log.Data) > 0 {
  		if err := c.abi.Unpack(out, event, log.Data); err != nil {
  			return err
  		}
  	}
  	var indexed abi.Arguments
  	for _, arg := range c.abi.Events[event].Inputs {
  		if arg.Indexed {
  			indexed = append(indexed, arg)
  		}
  	}
  	return parseTopics(out, indexed, log.Topics[1:])
  }
docs: // UnpackLog unpacks a retrieved log into the provided output structure.