aboutsummaryrefslogtreecommitdiffstats
path: root/core/types/gen_log_json.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/types/gen_log_json.go')
-rw-r--r--core/types/gen_log_json.go90
1 files changed, 90 insertions, 0 deletions
diff --git a/core/types/gen_log_json.go b/core/types/gen_log_json.go
new file mode 100644
index 000000000..ef2cdfd89
--- /dev/null
+++ b/core/types/gen_log_json.go
@@ -0,0 +1,90 @@
+// generated by github.com/fjl/gencodec, do not edit.
+
+package types
+
+import (
+ "encoding/json"
+ "errors"
+
+ "github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/common/hexutil"
+)
+
+func (l *Log) MarshalJSON() ([]byte, error) {
+ type LogJSON struct {
+ Address *common.Address `json:"address"`
+ Topics []common.Hash `json:"topics"`
+ Data hexutil.Bytes `json:"data"`
+ BlockNumber *hexutil.Uint64 `json:"blockNumber" optional:"yes"`
+ TxHash *common.Hash `json:"transactionHash"`
+ TxIndex *hexutil.Uint `json:"transactionIndex"`
+ BlockHash *common.Hash `json:"blockHash" optional:"yes"`
+ Index *hexutil.Uint `json:"logIndex"`
+ Removed *bool `json:"removed" optional:"yes"`
+ }
+ var enc LogJSON
+ enc.Address = &l.Address
+ enc.Topics = l.Topics
+ enc.Data = l.Data
+ enc.BlockNumber = (*hexutil.Uint64)(&l.BlockNumber)
+ enc.TxHash = &l.TxHash
+ enc.TxIndex = (*hexutil.Uint)(&l.TxIndex)
+ enc.BlockHash = &l.BlockHash
+ enc.Index = (*hexutil.Uint)(&l.Index)
+ enc.Removed = &l.Removed
+ return json.Marshal(&enc)
+}
+
+func (l *Log) UnmarshalJSON(input []byte) error {
+ type LogJSON struct {
+ Address *common.Address `json:"address"`
+ Topics []common.Hash `json:"topics"`
+ Data hexutil.Bytes `json:"data"`
+ BlockNumber *hexutil.Uint64 `json:"blockNumber" optional:"yes"`
+ TxHash *common.Hash `json:"transactionHash"`
+ TxIndex *hexutil.Uint `json:"transactionIndex"`
+ BlockHash *common.Hash `json:"blockHash" optional:"yes"`
+ Index *hexutil.Uint `json:"logIndex"`
+ Removed *bool `json:"removed" optional:"yes"`
+ }
+ var dec LogJSON
+ if err := json.Unmarshal(input, &dec); err != nil {
+ return err
+ }
+ var x Log
+ if dec.Address == nil {
+ return errors.New("missing required field 'address' for Log")
+ }
+ x.Address = *dec.Address
+ if dec.Topics == nil {
+ return errors.New("missing required field 'topics' for Log")
+ }
+ x.Topics = dec.Topics
+ if dec.Data == nil {
+ return errors.New("missing required field 'data' for Log")
+ }
+ x.Data = dec.Data
+ if dec.BlockNumber != nil {
+ x.BlockNumber = uint64(*dec.BlockNumber)
+ }
+ if dec.TxHash == nil {
+ return errors.New("missing required field 'transactionHash' for Log")
+ }
+ x.TxHash = *dec.TxHash
+ if dec.TxIndex == nil {
+ return errors.New("missing required field 'transactionIndex' for Log")
+ }
+ x.TxIndex = uint(*dec.TxIndex)
+ if dec.BlockHash != nil {
+ x.BlockHash = *dec.BlockHash
+ }
+ if dec.Index == nil {
+ return errors.New("missing required field 'logIndex' for Log")
+ }
+ x.Index = uint(*dec.Index)
+ if dec.Removed != nil {
+ x.Removed = *dec.Removed
+ }
+ *l = x
+ return nil
+}