From f022810f8b8e0ec040185909cd7017be11d590c8 Mon Sep 17 00:00:00 2001 From: "Johan T. Halseth" Date: Thu, 23 May 2019 20:05:26 +0200 Subject: [PATCH] channeldb/codec: add privateKey serialization --- channeldb/codec.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/channeldb/codec.go b/channeldb/codec.go index ca5cfeedb..e9afe0e15 100644 --- a/channeldb/codec.go +++ b/channeldb/codec.go @@ -148,6 +148,12 @@ func WriteElement(w io.Writer, element interface{}) error { return err } + case *btcec.PrivateKey: + b := e.Serialize() + if _, err := w.Write(b); err != nil { + return err + } + case *btcec.PublicKey: b := e.SerializeCompressed() if _, err := w.Write(b); err != nil { @@ -320,6 +326,15 @@ func ReadElement(r io.Reader, element interface{}) error { *e = lnwire.MilliSatoshi(a) + case **btcec.PrivateKey: + var b [btcec.PrivKeyBytesLen]byte + if _, err := io.ReadFull(r, b[:]); err != nil { + return err + } + + priv, _ := btcec.PrivKeyFromBytes(btcec.S256(), b[:]) + *e = priv + case **btcec.PublicKey: var b [btcec.PubKeyBytesLenCompressed]byte if _, err := io.ReadFull(r, b[:]); err != nil {