fd02c1c1aa
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.
31 lines
776 B
Go
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)
|
|
}
|
|
}
|