github.com/myafeier/go-ethereum@v1.6.8-0.20170719123245-3e0dbe0eaa72/whisper/whisperv5/gen_newmessage_json.go (about)

     1  // Code generated by github.com/fjl/gencodec. DO NOT EDIT.
     2  
     3  package whisperv5
     4  
     5  import (
     6  	"encoding/json"
     7  
     8  	"github.com/ethereum/go-ethereum/common/hexutil"
     9  )
    10  
    11  func (n NewMessage) MarshalJSON() ([]byte, error) {
    12  	type NewMessage struct {
    13  		SymKeyID   string        `json:"symKeyID"`
    14  		PublicKey  hexutil.Bytes `json:"pubKey"`
    15  		Sig        string        `json:"sig"`
    16  		TTL        uint32        `json:"ttl"`
    17  		Topic      TopicType     `json:"topic"`
    18  		Payload    hexutil.Bytes `json:"payload"`
    19  		Padding    hexutil.Bytes `json:"padding"`
    20  		PowTime    uint32        `json:"powTime"`
    21  		PowTarget  float64       `json:"powTarget"`
    22  		TargetPeer string        `json:"targetPeer"`
    23  	}
    24  	var enc NewMessage
    25  	enc.SymKeyID = n.SymKeyID
    26  	enc.PublicKey = n.PublicKey
    27  	enc.Sig = n.Sig
    28  	enc.TTL = n.TTL
    29  	enc.Topic = n.Topic
    30  	enc.Payload = n.Payload
    31  	enc.Padding = n.Padding
    32  	enc.PowTime = n.PowTime
    33  	enc.PowTarget = n.PowTarget
    34  	enc.TargetPeer = n.TargetPeer
    35  	return json.Marshal(&enc)
    36  }
    37  
    38  func (n *NewMessage) UnmarshalJSON(input []byte) error {
    39  	type NewMessage struct {
    40  		SymKeyID   *string       `json:"symKeyID"`
    41  		PublicKey  hexutil.Bytes `json:"pubKey"`
    42  		Sig        *string       `json:"sig"`
    43  		TTL        *uint32       `json:"ttl"`
    44  		Topic      *TopicType    `json:"topic"`
    45  		Payload    hexutil.Bytes `json:"payload"`
    46  		Padding    hexutil.Bytes `json:"padding"`
    47  		PowTime    *uint32       `json:"powTime"`
    48  		PowTarget  *float64      `json:"powTarget"`
    49  		TargetPeer *string       `json:"targetPeer"`
    50  	}
    51  	var dec NewMessage
    52  	if err := json.Unmarshal(input, &dec); err != nil {
    53  		return err
    54  	}
    55  	if dec.SymKeyID != nil {
    56  		n.SymKeyID = *dec.SymKeyID
    57  	}
    58  	if dec.PublicKey != nil {
    59  		n.PublicKey = dec.PublicKey
    60  	}
    61  	if dec.Sig != nil {
    62  		n.Sig = *dec.Sig
    63  	}
    64  	if dec.TTL != nil {
    65  		n.TTL = *dec.TTL
    66  	}
    67  	if dec.Topic != nil {
    68  		n.Topic = *dec.Topic
    69  	}
    70  	if dec.Payload != nil {
    71  		n.Payload = dec.Payload
    72  	}
    73  	if dec.Padding != nil {
    74  		n.Padding = dec.Padding
    75  	}
    76  	if dec.PowTime != nil {
    77  		n.PowTime = *dec.PowTime
    78  	}
    79  	if dec.PowTarget != nil {
    80  		n.PowTarget = *dec.PowTarget
    81  	}
    82  	if dec.TargetPeer != nil {
    83  		n.TargetPeer = *dec.TargetPeer
    84  	}
    85  	return nil
    86  }