// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package catalyst import ( "encoding/json" "errors" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" ) var _ = (*payloadAttributesMarshaling)(nil) // MarshalJSON marshals as JSON. func (p PayloadAttributesV1) MarshalJSON() ([]byte, error) { type PayloadAttributesV1 struct { Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` Random common.Hash `json:"random" gencodec:"required"` FeeRecipient common.Address `json:"feeRecipient" gencodec:"required"` } var enc PayloadAttributesV1 enc.Timestamp = hexutil.Uint64(p.Timestamp) enc.Random = p.Random enc.FeeRecipient = p.FeeRecipient return json.Marshal(&enc) } // UnmarshalJSON unmarshals from JSON. func (p *PayloadAttributesV1) UnmarshalJSON(input []byte) error { type PayloadAttributesV1 struct { Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` Random *common.Hash `json:"random" gencodec:"required"` FeeRecipient *common.Address `json:"feeRecipient" gencodec:"required"` } var dec PayloadAttributesV1 if err := json.Unmarshal(input, &dec); err != nil { return err } if dec.Timestamp == nil { return errors.New("missing required field 'timestamp' for PayloadAttributesV1") } p.Timestamp = uint64(*dec.Timestamp) if dec.Random == nil { return errors.New("missing required field 'random' for PayloadAttributesV1") } p.Random = *dec.Random if dec.FeeRecipient == nil { return errors.New("missing required field 'feeRecipient' for PayloadAttributesV1") } p.FeeRecipient = *dec.FeeRecipient return nil }