Repository navigation
Follow the BLAKE2b BOLT changes, and apply a one-hop blinded path's CLTV delta - #3
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
follow_blake2bin line with the BOLT changes just merged into lightning-blake2b/bolts, and fixes a BOLT 12 interop failure with Core Lightning.channel_typeor a trustedminimum_depthof 0), and we do not fund a channel from a coinbase ourselves. A spend of a coinbase output does not relay for far longer than its maturity on this network, so the channel's commitment transactions could not be broadcast while its HTLCs expire.option_unified_sigs.splice_channelandfunding_contributedrefuse, and an inboundsplice_initortx_init_rbfis answered withtx_abortafter the usual validation, leaving quiescence as any abort does. Together with the existing refusal on unified channels, no channel is spliced whilefollow_blake2bis set.payinfo.cltv_expiry_delta. BOLT 4 has the recipient fold itsmin_final_cltv_expiry_deltainto that value; LDK ignored it, so a payment to Core Lightning, which advertises 10, failed whenever LDK's random CLTV padding was smaller.simple_blinded_route_hintsasserted the old value for one hop and now asserts the advertised one.No public API changes beyond the existing
follow_blake2b: no new variants, and the changedsplice_init/tx_init_rbfsignatures are crate-private.Tests:
cargo test --workspacepasses, every commit builds, fuzz tests pass, andc_bindings,taprootand no-std check clean. New tests inblake2b_tests.rsandscid_utils.rs. Against Core Lightning v26.06.9 on Knots regtest with BLAKE2b active, a Lampo node built on this stack opens a unified channel, pays and is paid over BOLT 11 and BOLT 12, and closes cooperatively, in 5 of 5 runs.