lnd/lnwire/single_funding_complete_test.go
Olaoluwa Osuntokun fd02c1c1aa
lnwire: update single funder workflow to use revocation keys
This commit updates the messages sent during a single funder workflow
to utilize revocation keys rather than revocation hashes. This now
matches the latest updates to the commitment transaction.

The changes to the workflow are as follows:
  * the response message now carries the responder’s revocation key
  * the complete message now carries the initiator’s revocation key

Once the initiator receives the response message, it can construct both
versions of the commitment transaction as it now knows the responder’s
commitment key. The initiator then sends their initial revocation key
over to the responder allowing it to construct the commitment
transactions and give the initiator a sig for their version.
2016-06-30 11:50:27 -07:00

31 lines
776 B
Go

package lnwire
import (
"bytes"
"reflect"
"testing"
)
func TestSingleFundingCompleteWire(t *testing.T) {
// First create a new SFC message.
sfc := NewSingleFundingComplete(22, outpoint1, commitSig1, pubKey)
// Next encode the SFC message into an empty bytes buffer.
var b bytes.Buffer
if err := sfc.Encode(&b, 0); err != nil {
t.Fatalf("unable to encode SingleFundingComplete: %v", err)
}
// Deserialize the encoded SFC message into a new empty struct.
sfc2 := &SingleFundingComplete{}
if err := sfc2.Decode(&b, 0); err != nil {
t.Fatalf("unable to decode SingleFundingComplete: %v", err)
}
// Assert equality of the two instances.
if !reflect.DeepEqual(sfc, sfc2) {
t.Fatalf("encode/decode error messages don't match %#v vs %#v",
sfc, sfc2)
}
}