// generated by github.com/fjl/gencodec, do not edit. package types import ( "encoding/json" "errors" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" ) func (l *Log) MarshalJSON() ([]byte, error) { type LogJSON struct { Address *common.Address `json:"address"` Topics []common.Hash `json:"topics"` Data hexutil.Bytes `json:"data"` BlockNumber *hexutil.Uint64 `json:"blockNumber" optional:"yes"` TxHash *common.Hash `json:"transactionHash"` TxIndex *hexutil.Uint `json:"transactionIndex"` BlockHash *common.Hash `json:"blockHash" optional:"yes"` Index *hexutil.Uint `json:"logIndex"` Removed *bool `json:"removed" optional:"yes"` } var enc LogJSON 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) } func (l *Log) UnmarshalJSON(input []byte) error { type LogJSON struct { Address *common.Address `json:"address"` Topics []common.Hash `json:"topics"` Data hexutil.Bytes `json:"data"` BlockNumber *hexutil.Uint64 `json:"blockNumber" optional:"yes"` TxHash *common.Hash `json:"transactionHash"` TxIndex *hexutil.Uint `json:"transactionIndex"` BlockHash *common.Hash `json:"blockHash" optional:"yes"` Index *hexutil.Uint `json:"logIndex"` Removed *bool `json:"removed" optional:"yes"` } var dec LogJSON if err := json.Unmarshal(input, &dec); err != nil { return err } var x Log if dec.Address == nil { return errors.New("missing required field 'address' for Log") } x.Address = *dec.Address if dec.Topics == nil { return errors.New("missing required field 'topics' for Log") } x.Topics = dec.Topics if dec.Data == nil { return errors.New("missing required field 'data' for Log") } x.Data = dec.Data if dec.BlockNumber != nil { x.BlockNumber = uint64(*dec.BlockNumber) } if dec.TxHash == nil { return errors.New("missing required field 'transactionHash' for Log") } x.TxHash = *dec.TxHash if dec.TxIndex == nil { return errors.New("missing required field 'transactionIndex' for Log") } x.TxIndex = uint(*dec.TxIndex) if dec.BlockHash != nil { x.BlockHash = *dec.BlockHash } if dec.Index == nil { return errors.New("missing required field 'logIndex' for Log") } x.Index = uint(*dec.Index) if dec.Removed != nil { x.Removed = *dec.Removed } *l = x return nil }