watchtower/wtdb+wtserver: pass properly sized blob in unit tests
This commit is contained in:
parent
29009fdc34
commit
dce24d1d47
@ -1,6 +1,7 @@
|
|||||||
package wtdb_test
|
package wtdb_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
@ -16,6 +17,10 @@ import (
|
|||||||
"github.com/lightningnetwork/lnd/watchtower/wtpolicy"
|
"github.com/lightningnetwork/lnd/watchtower/wtpolicy"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
testBlob = make([]byte, blob.Size(blob.TypeAltruistCommit))
|
||||||
|
)
|
||||||
|
|
||||||
// dbInit is a closure used to initialize a watchtower.DB instance and its
|
// dbInit is a closure used to initialize a watchtower.DB instance and its
|
||||||
// cleanup function.
|
// cleanup function.
|
||||||
type dbInit func(*testing.T) (watchtower.DB, func())
|
type dbInit func(*testing.T) (watchtower.DB, func())
|
||||||
@ -137,6 +142,9 @@ func testInsertSession(h *towerDBHarness) {
|
|||||||
session := &wtdb.SessionInfo{
|
session := &wtdb.SessionInfo{
|
||||||
ID: id,
|
ID: id,
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 100,
|
MaxUpdates: 100,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{0x01, 0x02, 0x03},
|
RewardAddress: []byte{0x01, 0x02, 0x03},
|
||||||
@ -155,8 +163,9 @@ func testInsertSession(h *towerDBHarness) {
|
|||||||
|
|
||||||
// Insert a state update to fully commit the session parameters.
|
// Insert a state update to fully commit the session parameters.
|
||||||
update := &wtdb.SessionStateUpdate{
|
update := &wtdb.SessionStateUpdate{
|
||||||
ID: id,
|
ID: id,
|
||||||
SeqNum: 1,
|
SeqNum: 1,
|
||||||
|
EncryptedBlob: testBlob,
|
||||||
}
|
}
|
||||||
h.insertUpdate(update, nil)
|
h.insertUpdate(update, nil)
|
||||||
|
|
||||||
@ -176,6 +185,9 @@ func testMultipleMatches(h *towerDBHarness) {
|
|||||||
session := &wtdb.SessionInfo{
|
session := &wtdb.SessionInfo{
|
||||||
ID: id,
|
ID: id,
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -183,9 +195,10 @@ func testMultipleMatches(h *towerDBHarness) {
|
|||||||
h.insertSession(session, nil)
|
h.insertSession(session, nil)
|
||||||
|
|
||||||
update := &wtdb.SessionStateUpdate{
|
update := &wtdb.SessionStateUpdate{
|
||||||
ID: id,
|
ID: id,
|
||||||
SeqNum: 1,
|
SeqNum: 1,
|
||||||
Hint: hint, // Use same hint to cause multiple matches
|
Hint: hint, // Use same hint to cause multiple matches
|
||||||
|
EncryptedBlob: testBlob,
|
||||||
}
|
}
|
||||||
h.insertUpdate(update, nil)
|
h.insertUpdate(update, nil)
|
||||||
}
|
}
|
||||||
@ -267,6 +280,9 @@ func testDeleteSession(h *towerDBHarness) {
|
|||||||
session0 := &wtdb.SessionInfo{
|
session0 := &wtdb.SessionInfo{
|
||||||
ID: *id0,
|
ID: *id0,
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -285,6 +301,9 @@ func testDeleteSession(h *towerDBHarness) {
|
|||||||
session1 := &wtdb.SessionInfo{
|
session1 := &wtdb.SessionInfo{
|
||||||
ID: *id1,
|
ID: *id1,
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -297,13 +316,13 @@ func testDeleteSession(h *towerDBHarness) {
|
|||||||
ID: *id0,
|
ID: *id0,
|
||||||
Hint: hint,
|
Hint: hint,
|
||||||
SeqNum: 1,
|
SeqNum: 1,
|
||||||
EncryptedBlob: []byte{},
|
EncryptedBlob: testBlob,
|
||||||
}
|
}
|
||||||
update1 := &wtdb.SessionStateUpdate{
|
update1 := &wtdb.SessionStateUpdate{
|
||||||
ID: *id1,
|
ID: *id1,
|
||||||
Hint: hint,
|
Hint: hint,
|
||||||
SeqNum: 1,
|
SeqNum: 1,
|
||||||
EncryptedBlob: []byte{},
|
EncryptedBlob: testBlob,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Insert both updates should succeed.
|
// Insert both updates should succeed.
|
||||||
@ -414,7 +433,7 @@ func runStateUpdateTest(test stateUpdateTest) func(*towerDBHarness) {
|
|||||||
var stateUpdateNoSession = stateUpdateTest{
|
var stateUpdateNoSession = stateUpdateTest{
|
||||||
session: nil,
|
session: nil,
|
||||||
updates: []*wtdb.SessionStateUpdate{
|
updates: []*wtdb.SessionStateUpdate{
|
||||||
{ID: *id(0), SeqNum: 1, LastApplied: 0},
|
updateFromInt(id(0), 1, 0),
|
||||||
},
|
},
|
||||||
updateErrs: []error{
|
updateErrs: []error{
|
||||||
wtdb.ErrSessionNotFound,
|
wtdb.ErrSessionNotFound,
|
||||||
@ -425,6 +444,9 @@ var stateUpdateExhaustSession = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -444,6 +466,9 @@ var stateUpdateSeqNumEqualLastApplied = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -463,6 +488,9 @@ var stateUpdateSeqNumLTLastApplied = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -481,6 +509,9 @@ var stateUpdateSeqNumZeroInvalid = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -497,6 +528,9 @@ var stateUpdateSkipSeqNum = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -513,6 +547,9 @@ var stateUpdateRevertSeqNum = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -531,6 +568,9 @@ var stateUpdateRevertLastApplied = stateUpdateTest{
|
|||||||
session: &wtdb.SessionInfo{
|
session: &wtdb.SessionInfo{
|
||||||
ID: *id(0),
|
ID: *id(0),
|
||||||
Policy: wtpolicy.Policy{
|
Policy: wtpolicy.Policy{
|
||||||
|
TxPolicy: wtpolicy.TxPolicy{
|
||||||
|
BlobType: blob.TypeAltruistCommit,
|
||||||
|
},
|
||||||
MaxUpdates: 3,
|
MaxUpdates: 3,
|
||||||
},
|
},
|
||||||
RewardAddress: []byte{},
|
RewardAddress: []byte{},
|
||||||
@ -710,12 +750,14 @@ func updateFromInt(id *wtdb.SessionID, i int,
|
|||||||
copy(hint[:4], id[:4])
|
copy(hint[:4], id[:4])
|
||||||
binary.BigEndian.PutUint16(hint[4:6], uint16(i))
|
binary.BigEndian.PutUint16(hint[4:6], uint16(i))
|
||||||
|
|
||||||
|
blobSize := blob.Size(blob.TypeAltruistCommit)
|
||||||
|
|
||||||
return &wtdb.SessionStateUpdate{
|
return &wtdb.SessionStateUpdate{
|
||||||
ID: *id,
|
ID: *id,
|
||||||
Hint: hint,
|
Hint: hint,
|
||||||
SeqNum: uint16(i),
|
SeqNum: uint16(i),
|
||||||
LastApplied: lastApplied,
|
LastApplied: lastApplied,
|
||||||
EncryptedBlob: []byte{byte(i)},
|
EncryptedBlob: bytes.Repeat([]byte{byte(i)}, blobSize),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,8 @@ var (
|
|||||||
addrScript, _ = txscript.PayToAddrScript(addr)
|
addrScript, _ = txscript.PayToAddrScript(addr)
|
||||||
|
|
||||||
testnetChainHash = *chaincfg.TestNet3Params.GenesisHash
|
testnetChainHash = *chaincfg.TestNet3Params.GenesisHash
|
||||||
|
|
||||||
|
testBlob = make([]byte, blob.Size(blob.TypeAltruistCommit))
|
||||||
)
|
)
|
||||||
|
|
||||||
// randPubKey generates a new secp keypair, and returns the public key.
|
// randPubKey generates a new secp keypair, and returns the public key.
|
||||||
@ -300,8 +302,9 @@ func testServerCreateSession(t *testing.T, i int, test createSessionTestCase) {
|
|||||||
peer = wtmock.NewMockPeer(localPub, peerPub, nil, 0)
|
peer = wtmock.NewMockPeer(localPub, peerPub, nil, 0)
|
||||||
connect(t, s, peer, test.initMsg, timeoutDuration)
|
connect(t, s, peer, test.initMsg, timeoutDuration)
|
||||||
update := &wtwire.StateUpdate{
|
update := &wtwire.StateUpdate{
|
||||||
SeqNum: 1,
|
SeqNum: 1,
|
||||||
IsComplete: 1,
|
IsComplete: 1,
|
||||||
|
EncryptedBlob: testBlob,
|
||||||
}
|
}
|
||||||
sendMsg(t, update, peer, timeoutDuration)
|
sendMsg(t, update, peer, timeoutDuration)
|
||||||
|
|
||||||
@ -323,8 +326,8 @@ func testServerCreateSession(t *testing.T, i int, test createSessionTestCase) {
|
|||||||
// Ensure that the server's reply matches our expected response for a
|
// Ensure that the server's reply matches our expected response for a
|
||||||
// duplicate send.
|
// duplicate send.
|
||||||
if !reflect.DeepEqual(reply, test.expDupReply) {
|
if !reflect.DeepEqual(reply, test.expDupReply) {
|
||||||
t.Fatalf("[test %d] expected reply %v, got %d",
|
t.Fatalf("[test %d] expected reply %v, got %v",
|
||||||
i, test.expReply, reply)
|
i, test.expDupReply, reply)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finally, check that the server tore down the connection.
|
// Finally, check that the server tore down the connection.
|
||||||
@ -355,10 +358,10 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 1},
|
{SeqNum: 2, LastApplied: 1, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 3, LastApplied: 2},
|
{SeqNum: 3, LastApplied: 2, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 3, LastApplied: 3},
|
{SeqNum: 3, LastApplied: 3, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -385,7 +388,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 2, LastApplied: 0},
|
{SeqNum: 2, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{
|
{
|
||||||
@ -409,9 +412,9 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 0},
|
{SeqNum: 2, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -437,10 +440,10 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 1},
|
{SeqNum: 2, LastApplied: 1, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 3, LastApplied: 2},
|
{SeqNum: 3, LastApplied: 2, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 4, LastApplied: 1},
|
{SeqNum: 4, LastApplied: 1, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -465,11 +468,11 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 1},
|
{SeqNum: 2, LastApplied: 1, EncryptedBlob: testBlob},
|
||||||
nil, // Wait for read timeout to drop conn, then reconnect.
|
nil, // Wait for read timeout to drop conn, then reconnect.
|
||||||
{SeqNum: 3, LastApplied: 2},
|
{SeqNum: 3, LastApplied: 2, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 4, LastApplied: 3},
|
{SeqNum: 4, LastApplied: 3, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -495,11 +498,11 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 0},
|
{SeqNum: 2, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
nil, // Wait for read timeout to drop conn, then reconnect.
|
nil, // Wait for read timeout to drop conn, then reconnect.
|
||||||
{SeqNum: 3, LastApplied: 0},
|
{SeqNum: 3, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 4, LastApplied: 3},
|
{SeqNum: 4, LastApplied: 3, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -525,12 +528,12 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 0},
|
{SeqNum: 2, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
nil, // Wait for read timeout to drop conn, then reconnect.
|
nil, // Wait for read timeout to drop conn, then reconnect.
|
||||||
{SeqNum: 2, LastApplied: 0},
|
{SeqNum: 2, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 3, LastApplied: 0},
|
{SeqNum: 3, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 4, LastApplied: 3},
|
{SeqNum: 4, LastApplied: 3, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -556,10 +559,10 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 1, LastApplied: 0},
|
{SeqNum: 1, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 2, LastApplied: 1},
|
{SeqNum: 2, LastApplied: 1, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 3, LastApplied: 2},
|
{SeqNum: 3, LastApplied: 2, EncryptedBlob: testBlob},
|
||||||
{SeqNum: 4, LastApplied: 3},
|
{SeqNum: 4, LastApplied: 3, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{Code: wtwire.CodeOK, LastApplied: 1},
|
{Code: wtwire.CodeOK, LastApplied: 1},
|
||||||
@ -586,7 +589,7 @@ var stateUpdateTests = []stateUpdateTestCase{
|
|||||||
SweepFeeRate: 1,
|
SweepFeeRate: 1,
|
||||||
},
|
},
|
||||||
updates: []*wtwire.StateUpdate{
|
updates: []*wtwire.StateUpdate{
|
||||||
{SeqNum: 0, LastApplied: 0},
|
{SeqNum: 0, LastApplied: 0, EncryptedBlob: testBlob},
|
||||||
},
|
},
|
||||||
replies: []*wtwire.StateUpdateReply{
|
replies: []*wtwire.StateUpdateReply{
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user