gen_criteria_json.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // Code generated by github.com/fjl/gencodec. DO NOT EDIT.
  2. package whisperv5
  3. import (
  4. "encoding/json"
  5. "github.com/ethereum/go-ethereum/common/hexutil"
  6. )
  7. var _ = (*criteriaOverride)(nil)
  8. func (c Criteria) MarshalJSON() ([]byte, error) {
  9. type Criteria struct {
  10. SymKeyID string `json:"symKeyID"`
  11. PrivateKeyID string `json:"privateKeyID"`
  12. Sig hexutil.Bytes `json:"sig"`
  13. MinPow float64 `json:"minPow"`
  14. Topics []TopicType `json:"topics"`
  15. AllowP2P bool `json:"allowP2P"`
  16. }
  17. var enc Criteria
  18. enc.SymKeyID = c.SymKeyID
  19. enc.PrivateKeyID = c.PrivateKeyID
  20. enc.Sig = c.Sig
  21. enc.MinPow = c.MinPow
  22. enc.Topics = c.Topics
  23. enc.AllowP2P = c.AllowP2P
  24. return json.Marshal(&enc)
  25. }
  26. func (c *Criteria) UnmarshalJSON(input []byte) error {
  27. type Criteria struct {
  28. SymKeyID *string `json:"symKeyID"`
  29. PrivateKeyID *string `json:"privateKeyID"`
  30. Sig *hexutil.Bytes `json:"sig"`
  31. MinPow *float64 `json:"minPow"`
  32. Topics []TopicType `json:"topics"`
  33. AllowP2P *bool `json:"allowP2P"`
  34. }
  35. var dec Criteria
  36. if err := json.Unmarshal(input, &dec); err != nil {
  37. return err
  38. }
  39. if dec.SymKeyID != nil {
  40. c.SymKeyID = *dec.SymKeyID
  41. }
  42. if dec.PrivateKeyID != nil {
  43. c.PrivateKeyID = *dec.PrivateKeyID
  44. }
  45. if dec.Sig != nil {
  46. c.Sig = *dec.Sig
  47. }
  48. if dec.MinPow != nil {
  49. c.MinPow = *dec.MinPow
  50. }
  51. if dec.Topics != nil {
  52. c.Topics = dec.Topics
  53. }
  54. if dec.AllowP2P != nil {
  55. c.AllowP2P = *dec.AllowP2P
  56. }
  57. return nil
  58. }