node/p2p: move createSignedHeartbeat to separate function
This commit is contained in:
parent
c84e37e403
commit
f4ec4bfde9
|
@ -263,29 +263,15 @@ func Run(
|
||||||
if gov != nil {
|
if gov != nil {
|
||||||
gov.CollectMetrics(heartbeat, gossipSendC, gk, ourAddr)
|
gov.CollectMetrics(heartbeat, gossipSendC, gk, ourAddr)
|
||||||
}
|
}
|
||||||
|
|
||||||
b, err := proto.Marshal(heartbeat)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
DefaultRegistry.mu.Unlock()
|
DefaultRegistry.mu.Unlock()
|
||||||
|
|
||||||
// Sign the heartbeat using our node's guardian key.
|
msg := gossipv1.GossipMessage{
|
||||||
digest := heartbeatDigest(b)
|
Message: &gossipv1.GossipMessage_SignedHeartbeat{
|
||||||
sig, err := ethcrypto.Sign(digest.Bytes(), gk)
|
SignedHeartbeat: createSignedHeartbeat(gk, heartbeat),
|
||||||
if err != nil {
|
},
|
||||||
panic(err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := gossipv1.GossipMessage{Message: &gossipv1.GossipMessage_SignedHeartbeat{
|
b, err := proto.Marshal(&msg)
|
||||||
SignedHeartbeat: &gossipv1.SignedHeartbeat{
|
|
||||||
Heartbeat: b,
|
|
||||||
Signature: sig,
|
|
||||||
GuardianAddr: ourAddr.Bytes(),
|
|
||||||
}}}
|
|
||||||
|
|
||||||
b, err = proto.Marshal(&msg)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -472,6 +458,28 @@ func Run(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createSignedHeartbeat(gk *ecdsa.PrivateKey, heartbeat *gossipv1.Heartbeat) *gossipv1.SignedHeartbeat {
|
||||||
|
ourAddr := ethcrypto.PubkeyToAddress(gk.PublicKey)
|
||||||
|
|
||||||
|
b, err := proto.Marshal(heartbeat)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sign the heartbeat using our node's guardian key.
|
||||||
|
digest := heartbeatDigest(b)
|
||||||
|
sig, err := ethcrypto.Sign(digest.Bytes(), gk)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return &gossipv1.SignedHeartbeat{
|
||||||
|
Heartbeat: b,
|
||||||
|
Signature: sig,
|
||||||
|
GuardianAddr: ourAddr.Bytes(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func processSignedHeartbeat(from peer.ID, s *gossipv1.SignedHeartbeat, gs *node_common.GuardianSet, gst *node_common.GuardianSetState, disableVerify bool) (*gossipv1.Heartbeat, error) {
|
func processSignedHeartbeat(from peer.ID, s *gossipv1.SignedHeartbeat, gs *node_common.GuardianSet, gst *node_common.GuardianSetState, disableVerify bool) (*gossipv1.Heartbeat, error) {
|
||||||
envelopeAddr := common.BytesToAddress(s.GuardianAddr)
|
envelopeAddr := common.BytesToAddress(s.GuardianAddr)
|
||||||
idx, ok := gs.KeyIndex(envelopeAddr)
|
idx, ok := gs.KeyIndex(envelopeAddr)
|
||||||
|
|
Loading…
Reference in New Issue