diff options
author | Bas van Kervel <basvankervel@gmail.com> | 2017-06-21 18:58:00 +0800 |
---|---|---|
committer | Bas van Kervel <basvankervel@gmail.com> | 2017-06-21 18:58:00 +0800 |
commit | c62d5422bb24cfa53ee480330f9d355f68c071a4 (patch) | |
tree | 4bfb3e6a2149e89509e999a60f3066fb3acf87f4 /whisper/whisperv5/topic.go | |
parent | a4e4c76cb30f34f8a06431802fdc3b9ba0643d47 (diff) | |
download | dexon-c62d5422bb24cfa53ee480330f9d355f68c071a4.tar.gz dexon-c62d5422bb24cfa53ee480330f9d355f68c071a4.tar.zst dexon-c62d5422bb24cfa53ee480330f9d355f68c071a4.zip |
whisper: use hexutil.UnmarshalFixedText for topic parsing
Diffstat (limited to 'whisper/whisperv5/topic.go')
-rw-r--r-- | whisper/whisperv5/topic.go | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/whisper/whisperv5/topic.go b/whisper/whisperv5/topic.go index 5fea2f28b..d1996c460 100644 --- a/whisper/whisperv5/topic.go +++ b/whisper/whisperv5/topic.go @@ -19,9 +19,6 @@ package whisperv5 import ( - "encoding/json" - "fmt" - "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" ) @@ -47,19 +44,12 @@ func (topic *TopicType) String() string { return string(common.ToHex(topic[:])) } -func (t *TopicType) MarshalJSON() ([]byte, error) { - return json.Marshal(hexutil.Bytes(t[:])) +// MarshalText returns the hex representation of t. +func (t TopicType) MarshalText() ([]byte, error) { + return hexutil.Bytes(t[:]).MarshalText() } -// UnmarshalJSON parses a hex representation to a topic. -func (t *TopicType) UnmarshalJSON(input []byte) error { - var data hexutil.Bytes - if err := json.Unmarshal(input, &data); err != nil { - return err - } - if len(data) != TopicLength { - return fmt.Errorf("unmarshalJSON failed: topic must be exactly %d bytes(%d)", TopicLength, len(input)) - } - *t = BytesToTopic(data) - return nil +// UnmarshalText parses a hex representation to a topic. +func (t *TopicType) UnmarshalText(input []byte) error { + return hexutil.UnmarshalFixedText("Topic", input, t[:]) } |