f3849f5c10
* Structs and wire messages for HTLCs * Wire protocol for a state machine with no blocking(!!!) (I will write the state machine) TL;DR: Can do multiple HTLC modifications in-flight, dead simple wire protocol. Both sides can update their Commitments unliaterally without waiting for the other party's signature. Will have basic/preliminary notes in the README * Added **swp to .gitignore because of vim annoyances
37 lines
1.4 KiB
Go
37 lines
1.4 KiB
Go
package lnwire
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
var (
|
|
//Need to to do this here
|
|
_ = copy(revocationHash[:], revocationHashBytes)
|
|
|
|
commitRevocation = &CommitRevocation{
|
|
ChannelID: uint64(12345678),
|
|
CommitmentHeight: uint64(12345),
|
|
RevocationProof: revocationHash, //technically it's not a hash... fix later
|
|
}
|
|
commitRevocationSerializedString = "0000000000bc614e00000000000030394132b6b48371f7b022a16eacb9b2b0ebee134d41"
|
|
commitRevocationSerializedMessage = "0709110b000007da000000240000000000bc614e00000000000030394132b6b48371f7b022a16eacb9b2b0ebee134d41"
|
|
)
|
|
|
|
func TestCommitRevocationEncodeDecode(t *testing.T) {
|
|
//All of these types being passed are of the message interface type
|
|
//Test serialization, runs: message.Encode(b, 0)
|
|
//Returns bytes
|
|
//Compares the expected serialized string from the original
|
|
s := SerializeTest(t, commitRevocation, commitRevocationSerializedString, filename)
|
|
|
|
//Test deserialization, runs: message.Decode(s, 0)
|
|
//Makes sure the deserialized struct is the same as the original
|
|
newMessage := NewCommitRevocation()
|
|
DeserializeTest(t, s, newMessage, commitRevocation)
|
|
|
|
//Test message using Message interface
|
|
//Serializes into buf: WriteMessage(buf, message, uint32(1), wire.TestNet3)
|
|
//Deserializes into msg: _, msg, _ , err := ReadMessage(buf, uint32(1), wire.TestNet3)
|
|
MessageSerializeDeserializeTest(t, commitRevocation, commitRevocationSerializedMessage)
|
|
}
|