github.com/elastos/Elastos.ELA.SideChain.ETH@v0.2.2/chainbridge-core/dpos_msg/feedbackArbitersSignature.go (about) 1 package dpos_msg 2 3 import ( 4 "io" 5 6 elaCom "github.com/elastos/Elastos.ELA/common" 7 "github.com/elastos/Elastos.ELA/p2p" 8 ) 9 10 // Ensure FeedBackArbitersSignature implement p2p.Message interface. 11 var _ p2p.Message = (*FeedBackArbitersSignature)(nil) 12 13 type FeedBackArbitersSignature struct { 14 Producer []byte 15 Signature []byte 16 } 17 18 func (m *FeedBackArbitersSignature) CMD() string { 19 return CmdFeedbackArbiterSignature 20 } 21 22 23 func (m *FeedBackArbitersSignature) MaxLength() uint32 { 24 return 33 + 65 + 2 25 } 26 27 func (m *FeedBackArbitersSignature) Serialize(w io.Writer) error { 28 if err := elaCom.WriteVarBytes(w, m.Producer); err != nil { 29 return err 30 } 31 if err := elaCom.WriteVarBytes(w, m.Signature); err != nil { 32 return err 33 } 34 35 return nil 36 } 37 38 func (m *FeedBackArbitersSignature) Deserialize(r io.Reader) error { 39 signer, err := elaCom.ReadVarBytes(r, 33, "Signer") 40 if err != nil { 41 return err 42 } 43 m.Producer = signer 44 45 sig, err := elaCom.ReadVarBytes(r, 65, "Signature") 46 if err != nil { 47 return err 48 } 49 m.Signature = sig 50 51 return nil 52 } 53 54