htlcswitch: keep final htlc outcome

This commit is contained in:
Joost Jager committed 2022-10-27 16:42:36 +02:00
1 parent b85cda2a1d
commit 28256b7ea8
20 files changed
+466 -111

No files matched your search

+39 -1
View File
@@ -641,7 +641,7 @@ func TestChannelStateTransition(t *testing.T) {
},
}
err = channel.UpdateCommitment(&commitment, unsignedAckedUpdates)
_, err = channel.UpdateCommitment(&commitment, unsignedAckedUpdates)
require.NoError(t, err, "unable to update commitment")
// Assert that update is correctly written to the database.
@@ -1457,3 +1457,41 @@ func TestKeyLocatorEncoding(t *testing.T) {
// version are equal.
require.Equal(t, keyLoc, decodedKeyLoc)
}
// TestFinalHtlcs tests final htlc storage and retrieval.
func TestFinalHtlcs(t *testing.T) {
t.Parallel()
fullDB, err := MakeTestDB(t)
require.NoError(t, err, "unable to make test database")
cdb := fullDB.ChannelStateDB()
chanID := lnwire.ShortChannelID{
BlockHeight: 1,
TxIndex: 2,
TxPosition: 3,
}
// Test offchain final htlcs.
const offchainHtlcID = 1
err = kvdb.Update(cdb.backend, func(tx kvdb.RwTx) error {
bucket, err := fetchFinalHtlcsBucketRw(
tx, chanID,
)
require.NoError(t, err)
return putFinalHtlc(bucket, offchainHtlcID, FinalHtlcInfo{
Settled: true,
Offchain: true,
})
}, func() {})
require.NoError(t, err)
// Test onchain final htlcs.
const onchainHtlcID = 2
err = cdb.PutOnchainFinalHtlcOutcome(chanID, onchainHtlcID, true)
require.NoError(t, err)
}