code: func (l Log) MarshalJSON() ([]byte, error) {
  	type Log struct {
  		Address     common.Address `json:"address" gencodec:"required"`
  		Topics      []common.Hash  `json:"topics" gencodec:"required"`
  		Data        hexutil.Bytes  `json:"data" gencodec:"required"`
  		BlockNumber hexutil.Uint64 `json:"blockNumber"`
  		TxHash      common.Hash    `json:"transactionHash" gencodec:"required"`
  		TxIndex     hexutil.Uint   `json:"transactionIndex" gencodec:"required"`
  		BlockHash   common.Hash    `json:"blockHash"`
  		Index       hexutil.Uint   `json:"logIndex" gencodec:"required"`
  		Removed     bool           `json:"removed"`
  	}
  	var enc Log
  	enc.Address = l.Address
  	enc.Topics = l.Topics
  	enc.Data = l.Data
  	enc.BlockNumber = hexutil.Uint64(l.BlockNumber)
  	enc.TxHash = l.TxHash
  	enc.TxIndex = hexutil.Uint(l.TxIndex)
  	enc.BlockHash = l.BlockHash
  	enc.Index = hexutil.Uint(l.Index)
  	enc.Removed = l.Removed
  	return json.Marshal(&enc)
  }
docs: // MarshalJSON marshals as JSON.