github.com/ethw3/go-ethereuma@v0.0.0-20221013053120-c14602a4c23c/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/ethw3/go-ethereuma/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 }