mirror of https://github.com/ethereum/go-ethereum
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.5 KiB
61 lines
1.5 KiB
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.
|
|
|
|
package tests
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
|
)
|
|
|
|
var _ = (*stLogMarshaling)(nil)
|
|
|
|
func (s stLog) MarshalJSON() ([]byte, error) {
|
|
type stLog struct {
|
|
Address common.UnprefixedAddress `json:"address"`
|
|
Data hexutil.Bytes `json:"data"`
|
|
Topics []common.UnprefixedHash `json:"topics"`
|
|
Bloom string `json:"bloom"`
|
|
}
|
|
var enc stLog
|
|
enc.Address = common.UnprefixedAddress(s.Address)
|
|
enc.Data = s.Data
|
|
if s.Topics != nil {
|
|
enc.Topics = make([]common.UnprefixedHash, len(s.Topics))
|
|
for k, v := range s.Topics {
|
|
enc.Topics[k] = common.UnprefixedHash(v)
|
|
}
|
|
}
|
|
enc.Bloom = s.Bloom
|
|
return json.Marshal(&enc)
|
|
}
|
|
|
|
func (s *stLog) UnmarshalJSON(input []byte) error {
|
|
type stLog struct {
|
|
Address *common.UnprefixedAddress `json:"address"`
|
|
Data hexutil.Bytes `json:"data"`
|
|
Topics []common.UnprefixedHash `json:"topics"`
|
|
Bloom *string `json:"bloom"`
|
|
}
|
|
var dec stLog
|
|
if err := json.Unmarshal(input, &dec); err != nil {
|
|
return err
|
|
}
|
|
if dec.Address != nil {
|
|
s.Address = common.Address(*dec.Address)
|
|
}
|
|
if dec.Data != nil {
|
|
s.Data = dec.Data
|
|
}
|
|
if dec.Topics != nil {
|
|
s.Topics = make([]common.Hash, len(dec.Topics))
|
|
for k, v := range dec.Topics {
|
|
s.Topics[k] = common.Hash(v)
|
|
}
|
|
}
|
|
if dec.Bloom != nil {
|
|
s.Bloom = *dec.Bloom
|
|
}
|
|
return nil
|
|
}
|
|
|