channeldb: BigSize migration, store zero-conf, scid-alias bits
This introduces a BigSize migration that is used to expand the width of the ChannelStatus and ChannelType fields. Three channel "types" are added - ZeroConfBit, ScidAliasChanBit, and ScidAliasFeatureBit. ScidAliasChanBit denotes that the scid-alias channel type was negotiated for the channel. ScidAliasFeatureBit denotes that the scid-alias feature bit was negotiated during the *lifetime* of the channel. Several helper functions on the OpenChannel struct are exposed to aid callers from different packages. The RefreshShortChanID has been renamed to Refresh. A new function BroadcastHeight is used to guard access to the mutable FundingBroadcastHeight member. This prevents data races.
This commit is contained in:
13 files changed
+503
-28
No files matched your search
@@ -1148,10 +1148,10 @@ func TestFetchWaitingCloseChannels(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestRefreshShortChanID asserts that RefreshShortChanID updates the in-memory
|
||||
// state of another OpenChannel to reflect a preceding call to MarkOpen on a
|
||||
// different OpenChannel.
|
||||
func TestRefreshShortChanID(t *testing.T) {
|
||||
// TestRefresh asserts that Refresh updates the in-memory state of another
|
||||
// OpenChannel to reflect a preceding call to MarkOpen on a different
|
||||
// OpenChannel.
|
||||
func TestRefresh(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
fullDB, cleanUp, err := MakeTestDB()
|
||||
@@ -1209,8 +1209,8 @@ func TestRefreshShortChanID(t *testing.T) {
|
||||
state.Packager.(*ChannelPackager).source)
|
||||
}
|
||||
|
||||
// Now, refresh the short channel ID of the pending channel.
|
||||
err = pendingChannel.RefreshShortChanID()
|
||||
// Now, refresh the state of the pending channel.
|
||||
err = pendingChannel.Refresh()
|
||||
require.NoError(t, err, "unable to refresh short_chan_id")
|
||||
|
||||
// This should result in both OpenChannel's now having the same
|
||||
|
||||
Reference in new issue
Block a user