Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: create branch for v0.18.4-beta.rc1 #9174

Closed

Conversation

ProofOfKeags and others added 30 commits October 11, 2024 11:42
This commit introduces a new type Dual[A] to make it easier to
manage symmetric configurations or state for lightning channels.
In this commit, we add a new abstract message router. Over time, the
goal is that this message router replaces the logic we currently have in
the readHandler (the giant switch for each message).

With this new abstraction, can reduce the responsibilities of the
readHandler to *just* reading messages off the wire and handing them off
to the msg router. The readHandler no longer needs to know *where* the
messages should go, or how they should be dispatched.

This will be used in tandem with the new `protofsm` module in an
upcoming PR implementing the new rbf-coop close.
Over time with this, we should be able to significantly reduce the size
of the peer.Brontide struct as we only need all those deps as the peer
needs to recognize and handle each incoming wire message itself.
With this commit, we allow the `MsgRouter` to be available in the
`ImplementationCfg`. With this, programs outside of lnd itself are able
to now hook into the message processing flow to direct handle custom
messages, and even normal wire messages.
In this commit, we fix a bug that would cause a global message router to
be stopped anytime a peer disconnected. The global msg router only
allows `Start` to be called once, so afterwards, no messages would
properly be routed.
Go 1.23 was released this week, so with this PR we update the build
system to officially support the last two releases.
In this commit, we rename the files as assembler.go houses the primary
interfaces/abstractions of the package. In the rest of the codebase,
this file is near uniformly called interface.go, so we rename the file
to make the repo more digestible at a scan.
This commit introduces the `CustomRecords` type in the `lnwire` package,
designed to hold arbitrary byte slices. Each entry in this map can
associate with TLV type values that are greater than or equal to 65536.
This'll be useful for new interface definitions that use the contents of the package.
This lets us get rid of the mutex usage there. We also shift the algo slightly to increment by 1, then use that as the next value, which plays nicer with the atomics.
We want to export some of our CLI code to re-use in other projects. But
in Golang you cannot import code from a `main` package.
So we need to move the actual code into its own package and only have
the `func main()` in the `main` package.
In this commit, we consolidate the root bucket TLVs into a new struct.
This makes it easier to see all the new TLV fields at a glance. We also
convert TLV usage to use the new type param based APis.
This'll allow us to create a funding output that uses musig2, but uses a tapscript tweak rather than a normal BIP 86 tweak.
Roasbeef and others added 21 commits October 11, 2024 14:22
In this commit, we start to use the AuxSweeper (if present) to obtain a
new extra change addr we should add to the sweeping transaction. With
this, we'll take the set of inputs and our change addr, and then maybe
gain a new change addr to add to the sweep transaction.

The extra change addr will be treated as an extra required tx out,
shared across all the relevant inputs. This'll also be used in
NeedWalletInput to make sure that we add an extra input if needed to be
able to pay for the change addr.
This is a hold over until the aux resolution is finalized for HTLC
outputs.
For the upcoming aux sweeper integration, the internal key is needed for
the call backs.
Similar to the sweeper, when we're about to make a new breach
transaction, we ask the sweeper for a new change address, if it has one.
Then when we go to publish, we notify broadcast.
This bit will be false by default in current production deployments.
We also add a sanity check to make sure they can't be signaled without
the aux interfaces.
The new SignCompact return values had to be adopted across the
code base.
@guggero guggero added golang/build system Related to the go language and compiler releases no-changelog labels Oct 11, 2024
@guggero guggero linked an issue Oct 11, 2024 that may be closed by this pull request
@guggero guggero changed the base branch from master to 0-18-4-branch October 11, 2024 12:56
@guggero
Copy link
Collaborator Author

guggero commented Oct 14, 2024

Closing in favor of PR that is against upstream branch: #9183

@guggero guggero closed this Oct 14, 2024
@guggero guggero deleted the 0-18-4-branch-rc1 branch October 14, 2024 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
golang/build system Related to the go language and compiler no-changelog releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[release]: Cherry Pick Commits for LND v0.18.4 Release
8 participants