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

multi: create v0.14.2-beta-rc1 branch #6201

Merged

Conversation

Roasbeef
Copy link
Member

This PR packages up the set of PRs part of the v0.14.2 milestone into a new branch that will serve as the first release candidate for v0.14.2.

guggero and others added 30 commits January 25, 2022 16:56
We use a GitHub Action for sending the coverage to coveralls.io and
don't need the goveralls binary anymore.
Instead of hard coding a commit to use for a binary tool that we use
during the build process, we now only use "go install" to install the
binaries and the golang builtin versioning system to pin the exact
version/commit we want to use in go.mod.
when payment_hash or final_cltv_delta and payment_request was set, the error message showed that the parameters shouldn't be set with dest instead of payment_request

[skip ci]
Since bbolt returns references to internally stored data when storing
locally it's best to copy the byte slices returned or alternatively
convert them to string (which also makes a copy) to avoid crashes casued
by memory corruption.
This commit exposes the ChanStatusFlags inside waitingCloseResp such
that the channel close type is exposed.
This change avoids enforcing new reserved value when PSBT funding is not
finished yet as new inputs and outputs may still be added that could
change the outcome of the check.

This originally failed in the scenario when funding a channel from
external wallet *and depositing to on-chain wallet* was done
simultaneously in a single transaction. If such transaction confirms
then reserved UTXO is guaranteed to be available but the check didn't
take it into account.

The enforcement still occurs in the final step of PSBT funding flow, so
it is safe. It also occurs in case of non-PSBT funding.
This adds an integration test that makes sure channel can be funded from
empty wallet using PSBT if the funding transaction contains an output
belonging to the wallet, satisfying the reserve.
The minimum relay fee is always ensured to be above our fee floor except
in the very first min relay fee query to bitcoind. This commit ensures
that the fee floor is respected in this first query.
In this commit, we switch to always sending a channel type when we're in
explicit mode. This is compatible with prior versions of lnd as they
won't send a channel type, and we'll just arrive at the same type via
the existing implicit funding.

Fixes lightningnetwork#6067
joostjager and others added 19 commits January 25, 2022 17:44
Preparation for efficient graph cache loading where we don't iterate
over the channels of each node in the network individually.
Allows for pure deserialization without depending on a database connection.
In this commit, we modify the implementation of ForEachChannel to
utilize the new kvdb method ForAll. This greatly reduces the number of
round-trips to the database needed to iterate over all channels
in the graph.
Allows cacheableNode to be used outside of the callback. This is a
preparation for optimization of the graph cache population.
Use the optimized ForEachChannel method to reduce the graph cache
loading time.
This adds a `GetCustomCaveatCondition` function that returns the custom
caveat condition for a given macaroon and caveat name. Previously there
was no function for getting the custom caveat condition from a macaroon,
only for setting one.
This sets the `CustomCaveatCondition` value on rpc middleware requests
if one exists. Previously, this value was always blank even if the
macaroon had a value set for its custom caveat condition.
…iter

Introduces a breachResolver that subscribes to the breacharbiter to
determine if the final justice transaction has confirmed and can
clean itself up.
Also transitions to the proper state based on if this is a legacy
breach in the channel arbitrator or a modern breach with a resolver.
This also changes the chain_watcher and breacharbiter handoff. The
new logic ensures that the channel is only marked as pending closed
when the channel arbitrator has persisted the resolutions and commit
set.
When updating the channel routing policy, we encounter an inaccurate
precision error when calculating the routing fee. The issue stems from
the way the IEEE 754 standard works.

The solution here is to add a uint64 parameter (as mentioned in the
issue) and keep the float64 fee_rate parameter but rounding the product
of the base and fee rate.
@Roasbeef
Copy link
Member Author

Some of our newer linters are failing, we haven't done a minor release like this since they were added.

@Roasbeef Roasbeef added this to the v0.14.2 milestone Jan 26, 2022
@guggero
Copy link
Collaborator

guggero commented Jan 26, 2022

Ran the unit race tests locally and did a quick check that all PRs from the milestone are included.

Included PRs with an explicit branch and merge commit:

PRs with commits cherry-picked:

Not included (as it was superseded): #6050

The only PR missing (I think) is #6088, but that has the 0.15.0 milestone. @arshbot aren't we depending on that one in another project? Don't we need this to be in 0.14.2?

@Roasbeef
Copy link
Member Author

PRs with commits cherry-picked:

Yeah I had a small bug in my script that led to these, I was wondering why I had to always do the rebase conflicts twice, but then realized it was against the wrong branch. Anything else from here out will be more uniform.

@Roasbeef
Copy link
Member Author

@arshbot aren't we depending on that one in another project? Don't we need this to be in 0.14.2?

Yeah this wasn't clear, but we can always sneak it into the final RC.

@Roasbeef Roasbeef merged commit 824c2a7 into lightningnetwork:v0-14-2-branch-rc1 Jan 26, 2022
@arshbot
Copy link
Contributor

arshbot commented Jan 27, 2022

@Roasbeef @guggero Yes, loopserver master is dependant that PR, but the changes are only necessary for the integration tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.