aboutsummaryrefslogblamecommitdiffstats
path: root/whisper/whisperv6/gen_criteria_json.go
blob: 1a428d6df7306303df147aac05e7aa6e28ee56ca (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                                          
                                                      


















                                                                
                                                          

                                                      





                                                                 











                                                           
                                











                                          
// Code generated by github.com/fjl/gencodec. DO NOT EDIT.

package whisperv6

import (
    "encoding/json"

    "github.com/ethereum/go-ethereum/common/hexutil"
)

var _ = (*criteriaOverride)(nil)

// MarshalJSON marshals type Criteria to a json string
func (c Criteria) MarshalJSON() ([]byte, error) {
    type Criteria struct {
        SymKeyID     string        `json:"symKeyID"`
        PrivateKeyID string        `json:"privateKeyID"`
        Sig          hexutil.Bytes `json:"sig"`
        MinPow       float64       `json:"minPow"`
        Topics       []TopicType   `json:"topics"`
        AllowP2P     bool          `json:"allowP2P"`
    }
    var enc Criteria
    enc.SymKeyID = c.SymKeyID
    enc.PrivateKeyID = c.PrivateKeyID
    enc.Sig = c.Sig
    enc.MinPow = c.MinPow
    enc.Topics = c.Topics
    enc.AllowP2P = c.AllowP2P
    return json.Marshal(&enc)
}

// UnmarshalJSON unmarshals type Criteria to a json string
func (c *Criteria) UnmarshalJSON(input []byte) error {
    type Criteria struct {
        SymKeyID     *string        `json:"symKeyID"`
        PrivateKeyID *string        `json:"privateKeyID"`
        Sig          *hexutil.Bytes `json:"sig"`
        MinPow       *float64       `json:"minPow"`
        Topics       []TopicType    `json:"topics"`
        AllowP2P     *bool          `json:"allowP2P"`
    }
    var dec Criteria
    if err := json.Unmarshal(input, &dec); err != nil {
        return err
    }
    if dec.SymKeyID != nil {
        c.SymKeyID = *dec.SymKeyID
    }
    if dec.PrivateKeyID != nil {
        c.PrivateKeyID = *dec.PrivateKeyID
    }
    if dec.Sig != nil {
        c.Sig = *dec.Sig
    }
    if dec.MinPow != nil {
        c.MinPow = *dec.MinPow
    }
    if dec.Topics != nil {
        c.Topics = dec.Topics
    }
    if dec.AllowP2P != nil {
        c.AllowP2P = *dec.AllowP2P
    }
    return nil
}