17203 Commits

Author SHA1 Message Date
Elle Mouton
d95e2f3f6d
docs: update release notes 2024-09-02 14:12:44 +02:00
Elle Mouton
6e8d8e147d
discovery: start sending block heights in range query 2024-09-02 14:12:44 +02:00
Elle Mouton
332cad3c1d
discovery: update UpdatesInHorizon 2024-09-02 14:12:44 +02:00
Elle Mouton
c248f60cbd
channeldb: Update ChanUpdatesInHorizon
So that a start block and end block can also be passed in.
2024-09-02 14:12:44 +02:00
Elle Mouton
deb4c2ba11
discovery: Filter ChanUpdate2 messages 2024-09-02 14:12:44 +02:00
Elle Mouton
e1b873e4f3
docs: add release notes 2024-09-02 14:12:44 +02:00
Elle Mouton
fc4e28f9fa
discovery: use ChannelUpdate interface in handleChanUpdate 2024-09-02 14:12:44 +02:00
Elle Mouton
58d45188fe
discovery+routing: update to use ChanUpdate interface
In the IsKeepAlive and IsStaleEdgePolicy functions
2024-09-02 14:12:44 +02:00
Elle Mouton
cdcf0ac16b
multi: use ChannelUpdate interface in various places 2024-09-02 14:12:44 +02:00
Elle Mouton
ad0de06319
netann: use ChannelUpdate interface in ExtractChannelUpdate 2024-09-02 14:12:44 +02:00
Elle Mouton
77df8347de
htlcswitch: use ChannelUpdate interface in FetchLastChannelUpdate 2024-09-02 14:12:43 +02:00
Elle Mouton
e749a44d7e
htlcswitch: let failAliasUpdate return lnwire.ChannelUpdate 2024-09-02 14:12:43 +02:00
Elle Mouton
40981dfdab
multi: use ChannelUpdate interface for failure messages 2024-09-02 14:12:43 +02:00
Elle Mouton
72e8b900db
multi: let some netann funcs use lnwire.ChannelUpdate
...interface instead of ChannelUpdate1.
2024-09-02 14:12:43 +02:00
Elle Mouton
43de450156
routing: update to use lnwire.ChannelUpdate interface 2024-09-02 14:12:43 +02:00
Elle Mouton
0b964d8e93
multi: update SignAliasUpdate to take ChannelUpdate interface 2024-09-02 14:12:43 +02:00
Elle Mouton
a5afcd21b7
netann: let SignChannelUpdate take ChannelUpdate interface 2024-09-02 14:12:43 +02:00
Elle Mouton
c4ad342405
netann: update ChanUpdate modifiers to use interface
Update the ChannelUpdate modifiers to use the lnwire.ChannelUpdate
interface instead of *lnwire.ChannelUpdate1.
2024-09-02 14:12:43 +02:00
Elle Mouton
dbbf84a1b1
multi: use MessageSignerRing where needed
In this commit, we pass the MessageSignerRing around in places where
Schnorr signing will be needed to sign Gossip 1.75 messages.
2024-09-02 14:12:43 +02:00
Elle Mouton
62a2f64eb7
netann: give ChanStatusManager access to BestBlockView 2024-09-02 14:12:43 +02:00
Elle Mouton
183d18447a
docs: update release notes 2024-09-02 14:12:42 +02:00
Elle Mouton
fdcfc45862
multi: use lnwire.AnnouncementSigs interface throughout 2024-09-02 14:12:42 +02:00
Elle Mouton
2767c4e8a5
discovery: let handlAnnSig take lnwire.AnnounceSigs interface 2024-09-02 14:12:42 +02:00
Elle Mouton
c0b66d76df
channeldb: prep waiting proof store for taproot proofs
With a migration to migrate existing entries in the waiting proof store
to use a type byte prefix.
2024-09-02 14:12:42 +02:00
Elle Mouton
2a4f36397d
multi: use ChannelEdgePolicy interface where possible 2024-09-02 14:12:42 +02:00
Elle Mouton
505fa7b5b6
multi: use lnwire.ChannelAnnouncement interface where possible 2024-09-02 14:12:42 +02:00
Elle Mouton
aa60675d18
netann: update Ann creation funcs to take interfaces 2024-09-02 14:12:42 +02:00
Elle Mouton
dcf72014a2
multi: use models.ChannelAuthProof interface where possible 2024-09-02 14:12:42 +02:00
Elle Mouton
fea428daba
docs: update release notes 2024-09-02 14:12:42 +02:00
Elle Mouton
1763517287
multi: updates to HasChannelPolicy 2024-09-02 14:12:42 +02:00
Elle Mouton
135888d0c7
channeldb: write to new update index for ChannelEdgePolicy2 2024-09-02 14:12:41 +02:00
Elle Mouton
b6410bf65d
channeldb: update reject cache
To take block heights too.
2024-09-02 14:12:41 +02:00
Elle Mouton
84abc0a311
multi: use models.ChannelEdgeInfo throughout 2024-09-02 14:12:41 +02:00
Elle Mouton
74d03e7658
rpcserver: marshal new DB types for lnrpc 2024-09-02 12:47:21 +02:00
Elle Mouton
3a8e7cc2df
lnrpc: update in preparation for G175
Add a new ChannelUpdate2 message which can be returned with a Failure.
Also add a block_height member to the RoutingPolicy which will be
populated when the last_update field is not.
2024-09-02 12:47:21 +02:00
Elle Mouton
fe595b18ec
channeldb: update GraphCache to use interfaces where possible
Update the graph cache to use the new ChannelEdgePolicy and
ChannelEdgeInfo interfaces where possible.
2024-09-02 12:47:21 +02:00
Elle Mouton
674ff32a60
routing+channeldb: update CachedEdgePolicy
In preparation for CachedEdgePolicy being used to represent
ChannelEdgePolicy1 or ChannelEdgePolicy2, we update it to have
IsDisabled and HasMaxHTLC booleans (which can be extracted from both
messages) instead of having the MessageFlags and ChannelFlags which only
applies to ChannelEdgePolicy1.
2024-09-02 12:47:21 +02:00
Elle Mouton
12d21062d1
docs: update release notes 2024-09-02 12:45:22 +02:00
Elle Mouton
18445db7fa
channeldb: add encoding for ChannelEdgePolicy2
Similarly to the previous commit, here we add the encoding for the new
ChannelEdgePolicy2. This is done in the same was as for
ChannelEdgeInfo2:
- a 0xff prefix
- followed by a type-byte
- followed by the TLV encoding of the ChannelEdgePolicy2.
2024-09-02 12:45:22 +02:00
Elle Mouton
7c9b38bcc6
channeldb: add encoding for ChannelEdgeInfo2
In this commit, we update the `putChanEdgeInfo` function to take in the
models.ChannelEdgeInfo interface. If the passed value is the legacy
models.ChannelEdgeInfo1, then the encoding and decoding remains the same
but if it is the new models.ChannelEdgeInfo2 then:
- the encoding will be prefixed with a 0xff byte. This should not clash
  with the encoding of the legacy struct since that encoding will always
  start with a pub key (of node 1) which means it will always start with
  0x02 or 0x03.
- The 0xff is then followed by a type-byte which will be used to
  identify the encoding that follows (this is to make it future proof).
  For now, there is only one possible type-byte here.
- This is then followed by the TLV encoding of ChannelEdgeInfo2.
2024-09-02 12:45:22 +02:00
Elle Mouton
de799f2525
channeldb+refactor: move ser/deser funcs to separate files
This commit moves the serialisation, deserialisation and update
functions for ChannelEdgePolicy1 and ChannelEdgeInfo1 into their own
files.
2024-09-02 12:45:22 +02:00
Elle Mouton
d3a88547a3
channeldb: add ChannelEdgePolicy2
And ensure that it implements the ChannelEdgePoicy interface.
2024-09-02 12:45:21 +02:00
Elle Mouton
66aa12bc13
channeldb: add ChannelEdgeInfo2
And ensure that it implements the ChannelEdgeInfo interface.
2024-09-02 12:45:21 +02:00
Elle Mouton
2f8b1c12f8
channeldb: add ChannelAuthProof2 2024-09-02 12:45:21 +02:00
Elle Mouton
9a167fcf1c
channeldb: add ChannelEdgePolicy interface
And ensure that ChannelEdgePolicy1 implements it.
2024-09-02 12:45:21 +02:00
Elle Mouton
81418fe473
channeldb: add ChanneEdgeInfo and ChannelAuthProof interfaces
Add new ChannelEdgeInfo and ChannelAuthProof interfaces and ensure that
they are implemented by ChannelEdgeInfo1 and ChannelAuthProof
respectively.
2024-09-02 12:45:21 +02:00
Elle Mouton
ec332086cd
multi: rename ChannelEdgeInfo
In preparaion for adding ChannelEdgeInfo2 and a ChannelEdgeInfo
interface, rename ChannelEdgeInfo to ChannelEdgeInfo1.
2024-09-02 12:40:02 +02:00
Elle Mouton
8ac489d9bb
multi: rename ChannelEdgePolicy
In preparation for the addition of ChannelEdgePolicy2 and a
ChannelEdgePolicy interface, rename ChannelEdgePolicy to
ChannelEdgePolicy1.
2024-09-02 12:40:02 +02:00
Elle Mouton
70ec8ca2a5
multi: rename ChannelAuthProof
To prepare for the addition of ChannelAuthProof2 along with a
ChannelAuthProof interface, rename ChannelAuthProof to
ChannelAuthProof1.
2024-09-02 12:40:02 +02:00
Elle Mouton
093462bc73
docs: update release notes 2024-09-02 12:39:12 +02:00