// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package gethclient import ( "encoding/json" "math/big" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" ) var _ = (*callFrameMarshaling)(nil) // MarshalJSON marshals as JSON. func (c CallFrame) MarshalJSON() ([]byte, error) { type CallFrame0 struct { Type string `json:"type"` From common.Address `json:"from"` Gas hexutil.Uint64 `json:"gas"` GasUsed hexutil.Uint64 `json:"gasUsed"` To *common.Address `json:"to,omitempty"` Input hexutil.Bytes `json:"input"` Output hexutil.Bytes `json:"output,omitempty"` Error string `json:"error,omitempty"` RevertReason string `json:"revertReason,omitempty"` Calls []CallFrame `json:"calls,omitempty"` Logs []CallLog `json:"logs,omitempty"` Value *hexutil.Big `json:"value,omitempty"` } var enc CallFrame0 enc.Type = c.Type enc.From = c.From enc.Gas = hexutil.Uint64(c.Gas) enc.GasUsed = hexutil.Uint64(c.GasUsed) enc.To = c.To enc.Input = c.Input enc.Output = c.Output enc.Error = c.Error enc.RevertReason = c.RevertReason enc.Calls = c.Calls enc.Logs = c.Logs enc.Value = (*hexutil.Big)(c.Value) return json.Marshal(&enc) } // UnmarshalJSON unmarshals from JSON. func (c *CallFrame) UnmarshalJSON(input []byte) error { type CallFrame0 struct { Type *string `json:"type"` From *common.Address `json:"from"` Gas *hexutil.Uint64 `json:"gas"` GasUsed *hexutil.Uint64 `json:"gasUsed"` To *common.Address `json:"to,omitempty"` Input *hexutil.Bytes `json:"input"` Output *hexutil.Bytes `json:"output,omitempty"` Error *string `json:"error,omitempty"` RevertReason *string `json:"revertReason,omitempty"` Calls []CallFrame `json:"calls,omitempty"` Logs []CallLog `json:"logs,omitempty"` Value *hexutil.Big `json:"value,omitempty"` } var dec CallFrame0 if err := json.Unmarshal(input, &dec); err != nil { return err } if dec.Type != nil { c.Type = *dec.Type } if dec.From != nil { c.From = *dec.From } if dec.Gas != nil { c.Gas = uint64(*dec.Gas) } if dec.GasUsed != nil { c.GasUsed = uint64(*dec.GasUsed) } if dec.To != nil { c.To = dec.To } if dec.Input != nil { c.Input = *dec.Input } if dec.Output != nil { c.Output = *dec.Output } if dec.Error != nil { c.Error = *dec.Error } if dec.RevertReason != nil { c.RevertReason = *dec.RevertReason } if dec.Calls != nil { c.Calls = dec.Calls } if dec.Logs != nil { c.Logs = dec.Logs } if dec.Value != nil { c.Value = (*big.Int)(dec.Value) } return nil }