github.com/haliliceylan/bsc@v1.1.10-0.20220501224556-eb78d644ebcb/core/types/gen_access_tuple.go (about)

     1  // Code generated by github.com/fjl/gencodec. DO NOT EDIT.
     2  
     3  package types
     4  
     5  import (
     6  	"encoding/json"
     7  	"errors"
     8  
     9  	"github.com/ethereum/go-ethereum/common"
    10  )
    11  
    12  // MarshalJSON marshals as JSON.
    13  func (a AccessTuple) MarshalJSON() ([]byte, error) {
    14  	type AccessTuple struct {
    15  		Address     common.Address `json:"address"        gencodec:"required"`
    16  		StorageKeys []common.Hash  `json:"storageKeys"    gencodec:"required"`
    17  	}
    18  	var enc AccessTuple
    19  	enc.Address = a.Address
    20  	enc.StorageKeys = a.StorageKeys
    21  	return json.Marshal(&enc)
    22  }
    23  
    24  // UnmarshalJSON unmarshals from JSON.
    25  func (a *AccessTuple) UnmarshalJSON(input []byte) error {
    26  	type AccessTuple struct {
    27  		Address     *common.Address `json:"address"        gencodec:"required"`
    28  		StorageKeys []common.Hash   `json:"storageKeys"    gencodec:"required"`
    29  	}
    30  	var dec AccessTuple
    31  	if err := json.Unmarshal(input, &dec); err != nil {
    32  		return err
    33  	}
    34  	if dec.Address == nil {
    35  		return errors.New("missing required field 'address' for AccessTuple")
    36  	}
    37  	a.Address = *dec.Address
    38  	if dec.StorageKeys == nil {
    39  		return errors.New("missing required field 'storageKeys' for AccessTuple")
    40  	}
    41  	a.StorageKeys = dec.StorageKeys
    42  	return nil
    43  }