From d227f6184e9d8ce21d40d032dedc910b2bd25f89 Mon Sep 17 00:00:00 2001
From: zelig <viktor.tron@gmail.com>
Date: Sun, 18 Jan 2015 09:44:49 +0000
Subject: [PATCH] fix protocol to accomodate  privkey

---
 p2p/protocol.go      |  4 ++++
 p2p/protocol_test.go | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/p2p/protocol.go b/p2p/protocol.go
index 1d121a885..62ada929d 100644
--- a/p2p/protocol.go
+++ b/p2p/protocol.go
@@ -64,6 +64,10 @@ func (h *handshake) Pubkey() []byte {
 	return h.NodeID
 }
 
+func (h *handshake) PrivKey() []byte {
+	return nil
+}
+
 // Cap is the structure of a peer capability.
 type Cap struct {
 	Name    string
diff --git a/p2p/protocol_test.go b/p2p/protocol_test.go
index b1d10ac53..6804a9d40 100644
--- a/p2p/protocol_test.go
+++ b/p2p/protocol_test.go
@@ -11,7 +11,7 @@ import (
 )
 
 type peerId struct {
-	pubkey []byte
+	privKey, pubkey []byte
 }
 
 func (self *peerId) String() string {
@@ -27,6 +27,15 @@ func (self *peerId) Pubkey() (pubkey []byte) {
 	return
 }
 
+func (self *peerId) PrivKey() (privKey []byte) {
+	privKey = self.privKey
+	if len(privKey) == 0 {
+		privKey = crypto.GenerateNewKeyPair().PublicKey
+		self.privKey = privKey
+	}
+	return
+}
+
 func newTestPeer() (peer *Peer) {
 	peer = NewPeer(&peerId{}, []Cap{})
 	peer.pubkeyHook = func(*peerAddr) error { return nil }
-- 
GitLab