github.com/klaytn/klaytn@v1.12.1/blockchain/types/gen_receipt_json.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/klaytn/klaytn/common" 10 "github.com/klaytn/klaytn/common/hexutil" 11 ) 12 13 var _ = (*receiptMarshaling)(nil) 14 15 // MarshalJSON marshals as JSON. 16 func (r Receipt) MarshalJSON() ([]byte, error) { 17 type Receipt struct { 18 Status hexutil.Uint `json:"status"` 19 Bloom Bloom `json:"logsBloom" gencodec:"required"` 20 Logs []*Log `json:"logs" gencodec:"required"` 21 TxHash common.Hash `json:"transactionHash" gencodec:"required"` 22 ContractAddress common.Address `json:"contractAddress"` 23 GasUsed hexutil.Uint64 `json:"gasUsed" gencodec:"required"` 24 } 25 var enc Receipt 26 enc.Status = hexutil.Uint(r.Status) 27 enc.Bloom = r.Bloom 28 enc.Logs = r.Logs 29 enc.TxHash = r.TxHash 30 enc.ContractAddress = r.ContractAddress 31 enc.GasUsed = hexutil.Uint64(r.GasUsed) 32 return json.Marshal(&enc) 33 } 34 35 // UnmarshalJSON unmarshals from JSON. 36 func (r *Receipt) UnmarshalJSON(input []byte) error { 37 type Receipt struct { 38 Status *hexutil.Uint `json:"status"` 39 Bloom *Bloom `json:"logsBloom" gencodec:"required"` 40 Logs []*Log `json:"logs" gencodec:"required"` 41 TxHash *common.Hash `json:"transactionHash" gencodec:"required"` 42 ContractAddress *common.Address `json:"contractAddress"` 43 GasUsed *hexutil.Uint64 `json:"gasUsed" gencodec:"required"` 44 } 45 var dec Receipt 46 if err := json.Unmarshal(input, &dec); err != nil { 47 return err 48 } 49 if dec.Status != nil { 50 r.Status = uint(*dec.Status) 51 } 52 if dec.Bloom == nil { 53 return errors.New("missing required field 'logsBloom' for Receipt") 54 } 55 r.Bloom = *dec.Bloom 56 if dec.Logs == nil { 57 return errors.New("missing required field 'logs' for Receipt") 58 } 59 r.Logs = dec.Logs 60 if dec.TxHash == nil { 61 return errors.New("missing required field 'transactionHash' for Receipt") 62 } 63 r.TxHash = *dec.TxHash 64 if dec.ContractAddress != nil { 65 r.ContractAddress = *dec.ContractAddress 66 } 67 if dec.GasUsed == nil { 68 return errors.New("missing required field 'gasUsed' for Receipt") 69 } 70 r.GasUsed = uint64(*dec.GasUsed) 71 return nil 72 }