Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
873 commits
Select commit Hold shift + click to select a range
099bb09
Raise iteration capacity in chanmon consistency when settling state
wpaulino Jun 1, 2026
f0c4af9
Send splice_locked before reestablish commitment
wpaulino Jun 1, 2026
c58cba3
Clear stale monitor pending resends on reestablish
wpaulino Jun 1, 2026
c9260ee
Merge pull request #4654 from wpaulino/splice-locked-reestablish-fixes
TheBlueMatt Jun 10, 2026
c6099a8
Throttle LSPS5 lifecycle cooldown resets
tnull Jun 10, 2026
ccf45e4
Return P2WSH script pubkey for keyed anchor prevouts
tnull Jun 10, 2026
5e7b7d3
Account for UTXO base weight in anchor reserve checks
tnull Jun 10, 2026
c6f4d8f
Avoid repeated persisted async invoice refreshes
tnull Jun 10, 2026
6b75e5a
Release LSPS2 intercepted HTLCs on open failure
tnull Jun 10, 2026
7b36bc8
Prevent stale fs-store writes after lock cleanup
tnull Jun 10, 2026
dd32fe7
Merge pull request #4677 from tnull/2026-06-10-lsps2-channel-open-failed
wpaulino Jun 10, 2026
5b76e6b
Merge pull request #4670 from tnull/2026-06-anchor-reserve-input-weight
wpaulino Jun 10, 2026
af19ed5
Add fees value for recent payments
randomlogin Jun 10, 2026
cf30d9f
Merge pull request #4669 from tnull/2026-06-anchor-previous-utxo-p2wsh
tankyleo Jun 10, 2026
7106181
f - Prevent stale fs-store writes
tnull Jun 11, 2026
2c09a26
f - Prevent stale fs-store writes
tnull Jun 11, 2026
2344577
Merge pull request #4667 from jkczyz/2026-06-offer-quantity-check
TheBlueMatt Jun 11, 2026
404d8c6
Include payer nonce in payer metadata again
jkczyz Jun 11, 2026
c46ff88
Merge pull request #4655 from wpaulino/splice-chanmon-consistency-fixes
TheBlueMatt Jun 12, 2026
2e7cc44
Intercept onion messages for unknown SCID hops
tnull Jun 9, 2026
1a0e530
Report the sending peer in Event::OnionMessageIntercepted
jkczyz Jun 11, 2026
5049f7c
Merge pull request #4672 from tnull/2026-06-used-offer-invoice-refresh
valentinewallace Jun 12, 2026
5c83835
fuzz: model chanmon mempool mining
joostjager Jun 3, 2026
ded194f
Merge pull request #4682 from jkczyz/2026-06-onion-message-origin
TheBlueMatt Jun 15, 2026
ae62fa3
Remove unnecessary (and incorrect) `&mut` cast in net-tokio
TheBlueMatt Jun 15, 2026
9615a65
Merge pull request #4691 from TheBlueMatt/2026-06-mut-aliasing
TheBlueMatt Jun 15, 2026
b910f8e
Remove nonce from outbound payment OffersContexts
jkczyz Jun 11, 2026
a1ad1a3
Fix `Borrow`/`Hash` inconsistency on `Payment*` types
TheBlueMatt Jun 15, 2026
b48dfa0
(Actually) remove incorrect `*mut` cast in net-tokio
TheBlueMatt Jun 15, 2026
85a8cb1
Merge pull request #4685 from jkczyz/2026-06-include-payer-nonce
TheBlueMatt Jun 15, 2026
27223fd
Clear duplicate monitor-pending RAA on signer resend
wpaulino Jun 2, 2026
6aea102
Fix: reject fake scids with invalid vout
valentinewallace Jun 15, 2026
266d594
Merge pull request #4694 from TheBlueMatt/2026-06-mut-aliasing
TheBlueMatt Jun 15, 2026
facd140
Merge pull request #4692 from TheBlueMatt/2026-06-borrow-hash-inconsi…
TheBlueMatt Jun 15, 2026
b84b4cf
Merge pull request #4695 from valentinewallace/2026-06-fix-fake-scid-…
TheBlueMatt Jun 15, 2026
e560ec1
Fix underflow in blinded path amt_to_forward
valentinewallace Jun 15, 2026
f731548
Merge pull request #4657 from joostjager/chanmon-mempool-mining
joostjager Jun 15, 2026
bfaedff
Merge pull request #4674 from randomlogin/expose-fees-in-payment-details
TheBlueMatt Jun 15, 2026
8e3660a
Merge pull request #4697 from valentinewallace/2026-06-blinded-fwd-un…
tankyleo Jun 16, 2026
7cdcad2
Merge pull request #4678 from tnull/2026-06-fs-store-version-lock-cle…
tnull Jun 16, 2026
3c128ed
Reject case-varied LSPS5 replay signatures
joostjager Jun 16, 2026
c7fcdf6
Merge pull request #4701 from joostjager/fix-lsps5-case-replay
tnull Jun 16, 2026
1a875a7
Avoid leaking stale filesystem store temp files
tnull Jun 16, 2026
ce13095
Revert "Prevent stale fs-store writes after lock cleanup"
TheBlueMatt Jun 16, 2026
b18ad8b
Document that Route::route_params will be required soon
valentinewallace Jun 16, 2026
ffa804a
Merge pull request #4702 from TheBlueMatt/2026-05-revert-4678
tnull Jun 16, 2026
01f3472
Merge pull request #4704 from valentinewallace/2026-06-route-params-docs
TheBlueMatt Jun 16, 2026
55fb60b
Merge pull request #4684 from wpaulino/bogus-async-raa-regenerated
TheBlueMatt Jun 16, 2026
4636d6c
Check Electrum Merkle leaf risk by base size
tnull Jun 10, 2026
bc05d9d
Check Esplora Merkle leaf risk by base size
tnull Jun 10, 2026
1d13150
Verify Electrum transaction responses before use
tnull Jun 10, 2026
12815f3
Document LiquidityManager persist result
tnull Jun 16, 2026
a1cda95
Report LSPS2 fallback persistence
tnull Jun 16, 2026
d757191
Report LSPS5 fallback persistence
tnull Jun 16, 2026
6cd4ba6
Merge pull request #4700 from tnull/2026-06-liquidity-persist-review-…
tnull Jun 17, 2026
285cf5d
Merge pull request #4676 from tnull/2026-06-fs-store-stale-tmp-cleanup
tnull Jun 17, 2026
dce31b7
Avoid re-locking same UTXO future
tnull Jun 17, 2026
6997c88
Treat replayed LSPS2 HTLCs idempotently
Jun 2, 2026
bab66f6
Prune closed LSPS2 terminal channel state
Jun 2, 2026
68e71c2
Add LSPS2 replay regression coverage
Jun 2, 2026
00d9065
Merge pull request #4673 from tnull/2026-06-utxo-same-future-deadlock
TheBlueMatt Jun 17, 2026
0e9734c
Merge pull request #4675 from tnull/2026-06-merkle-base-size
TheBlueMatt Jun 17, 2026
77ac339
Don't panic when a composite sub-handler returns `Ok(None)`
jkczyz Jun 17, 2026
4cd3a8a
Refuse to set features at index higher than `u16::MAX` bytes
TheBlueMatt Jun 16, 2026
87c8c32
Correct deserialization of `u16::MAX` byte-Features
TheBlueMatt Jun 17, 2026
8270c7c
Add pending changelog entry for PR 4656
tnull Jun 17, 2026
54cdd85
Fix invalid dummy pubkey in send_to_route
valentinewallace Jun 17, 2026
0b81d1b
Merge pull request #4707 from valentinewallace/2026-06-fix-sendtorout…
TheBlueMatt Jun 17, 2026
e90ab9d
Rustfmt send_payment_with_route
valentinewallace Jun 15, 2026
41f0809
Require Route::route_params
valentinewallace Jun 15, 2026
d5d502a
Remove now-redundant PaymentParameters params
valentinewallace Jun 15, 2026
63fcc4f
Merge pull request #4656 from tnull/2026-06-lsps2-replayed-htlc-queue
TheBlueMatt Jun 17, 2026
8a0464c
Merge pull request #4705 from TheBlueMatt/2026-05-no-huge-features
TheBlueMatt Jun 17, 2026
31bb3de
Merge pull request #4709 from jkczyz/2026-06-composite-handler-ok-none
TheBlueMatt Jun 17, 2026
ccc8b55
Fail held HTLCs on LSPS2 abandon
joostjager Jun 18, 2026
df3a0d3
Merge pull request #4703 from joostjager/lsps2-abandon-fail-intercept…
tnull Jun 18, 2026
b81d85e
Merge pull request #4668 from tnull/2026-06-lsps5-webhook-cooldown
tnull Jun 18, 2026
5b4626f
Avoid over-allocating when reading corrupted lengths for `HashMap`s
TheBlueMatt Apr 1, 2026
7a89362
Reject RGS snapshots that leave our graph absurdly-sized
TheBlueMatt Apr 12, 2026
06393eb
Use BOLT11 invoice payee keys for payment params
tnull Jun 10, 2026
851d03f
Return optional recovered BOLT11 payee keys
tnull Jun 10, 2026
837763a
Reject pre-epoch `LSPSDateTime` at parse time
tnull May 5, 2026
ab69b33
Merge pull request #4717 from tnull/tnull/2026-06-invoice-recovery-id
TheBlueMatt Jun 18, 2026
e2f611e
Truncate logged peer message strings
tnull Mar 19, 2026
b7245c9
Merge pull request #4714 from tnull/tnull/2026-03-truncate-logs
TheBlueMatt Jun 18, 2026
61e3cab
Merge pull request #4716 from tnull/tnull/2026-05-fix-route-hint-over…
TheBlueMatt Jun 18, 2026
b7c9935
Get real rand in `possiblyrandom` on supported platforms w/o feat
TheBlueMatt Jun 16, 2026
428746a
Merge pull request #4715 from tnull/tnull/2026-05-lspsdatetime-pre-epoch
TheBlueMatt Jun 18, 2026
2aa29bb
Merge pull request #4712 from TheBlueMatt/2026-04-overalloc
TheBlueMatt Jun 18, 2026
319765b
Merge pull request #4713 from TheBlueMatt/2026-04-rgs-alloc
TheBlueMatt Jun 18, 2026
ae852b5
Fix string slicing in TXT record validation
TheBlueMatt Apr 11, 2026
0f39167
Merge pull request #4719 from TheBlueMatt/2026-06-actually-random
TheBlueMatt Jun 18, 2026
d53e574
Merge pull request #4718 from TheBlueMatt/2026-04-slice-txts
TheBlueMatt Jun 18, 2026
bc01a54
Format possiblyrandom cfg attributes
joostjager Jun 19, 2026
7b63ffa
Merge pull request #4726 from joostjager/fmt-possiblyrandom
tnull Jun 19, 2026
e9e3060
Simplify ChannelUnavailable APIError handling with let-else
Abeeujah Jun 22, 2026
b4f7416
Drop duplicate Hasher import
Abeeujah Jun 23, 2026
999ab2d
Fix stable clippy string repeat lint
joostjager Jun 19, 2026
1c1a4ad
Merge pull request #4736 from Abeeujah/let-else
valentinewallace Jun 23, 2026
87ea15c
Check metadata length for bolt11 invoices
elnosh Jun 23, 2026
6ac2cf3
Merge pull request #4727 from joostjager/fix-lint
joostjager Jun 24, 2026
deee085
Deserialize consensus objects using Read type
Abeeujah Jun 24, 2026
b582ce1
Drop the BufReader wrapper
Abeeujah Jun 24, 2026
1a80ef5
Merge pull request #4740 from elnosh/check-metadata-length
valentinewallace Jun 24, 2026
a8a4767
Pin zeroize for old Rust CI
joostjager Jun 24, 2026
ad132ea
Merge pull request #4743 from Abeeujah/drop-bufread
valentinewallace Jun 24, 2026
9df5c9d
Merge pull request #4745 from joostjager/fix-zeroize-msrv-pin
TheBlueMatt Jun 24, 2026
3cad6af
Avoid heap-allocating background processor futures
Abeeujah Jun 20, 2026
b3e2dc8
Ignore stale splice initial commitment_signed
wpaulino Jun 25, 2026
fab9595
Remove expectance of interactive-tx commitment_signed during reestablish
wpaulino Jun 25, 2026
b8a76c1
Lower strictness of pending monitor update while awaiting tx_signatures
wpaulino Jun 24, 2026
0ce7c9a
Merge pull request #4693 from valentinewallace/2026-06-sendwithroute-…
TheBlueMatt Jun 26, 2026
cc4312a
Fuzz: remove unnecessary route_params clones
valentinewallace Jun 26, 2026
47f58f3
Set max fee in route params for probes
valentinewallace Jun 26, 2026
43ea836
Merge pull request #4748 from wpaulino/tx-signatures-unrelated-pendin…
wpaulino Jun 26, 2026
93ac580
Add Forgejo Actions workflows mirroring GitHub CI
Jun 26, 2026
7c20689
Run tor in the background for the tor-connect job
Jun 27, 2026
c897a44
Use preinstalled rustup instead of curling the installer
Jun 27, 2026
3a56fcc
Pin actions/checkout + actions/cache to a full URL and commit hash
Jun 27, 2026
4f884af
Pass commit context to codecov explicitly in coverage job
Jun 27, 2026
51d0a4f
Comment the codecov report link on PRs
Jun 27, 2026
311a74c
Add workflow to assign a random reviewer on new PRs
Jun 27, 2026
b86d2b3
For now disable all windows + macos CI runs until we have runners
TheBlueMatt Jun 27, 2026
5b29f83
Merge pull request 'Avoid heap-allocating background processor future…
Jun 28, 2026
1ff2247
Merge pull request 'Address feedback post- requiring `RouteParams` in…
Jun 28, 2026
cc05200
Merge pull request 'Ignore stale splice initial commitment_signed' (#…
Jun 29, 2026
759378c
Merge pull request 'Add forgejo-compatible actions config' (#4757)
Jun 29, 2026
fbc2205
Fix lightning-invoice bitcoin dependency version
Ademan Jun 29, 2026
693c478
Tweak default merge message somewhat
TheBlueMatt Jun 29, 2026
05c9ef0
Explicitly state rust toolchain in forgejo actions
TheBlueMatt Jun 29, 2026
7b11520
Merge pull request 'Fix lightning-invoice bitcoin dependency version'…
Jun 30, 2026
6ae2634
fuzz: add chanmon holder signer fuzz ops
joostjager Jun 4, 2026
a4d8301
fuzz: factor chanmon finish cleanup helper
joostjager Jun 5, 2026
c468bb8
fuzz: inline chanmon finish invariants
joostjager Jun 29, 2026
28f00d1
Merge pull request 'Trivial Forgejo nits' (#4762) from matt/rust-ligh…
Jun 30, 2026
2ede721
fuzz: add explicit local force-close ops
joostjager Jun 29, 2026
179f2ca
Merge PR 'fuzz: cover explicit chanmon force-closes' (#4761)
Jul 1, 2026
773c08a
Reduce LSPS5 reset cooldown
tnull Jul 2, 2026
9fb74a1
Merge PR 'Reduce LSPS5 reset cooldown' (#4772)
Jul 2, 2026
57c84bc
Use Forgejo OIDC for review requests
tnull Jul 2, 2026
ade3b6b
Fix Joost's Forgejo username
tnull Jul 2, 2026
53ce559
ln/refactor: use amount_msat and counterparty_skimmed_fee_msat vars
carlaKC Apr 14, 2026
816b866
ln: remove incoming trampoline secret from HTLCSource
carlaKC Mar 12, 2026
a1260ed
ln: store incoming mpp data in PendingHTLCRouting
carlaKC Jan 27, 2026
3e162db
ln: use total_msat to calculate the amount for our next trampoline
carlaKC Feb 25, 2026
c58d1d8
ln: use outer onion values in PendingHTLCInfo for trampoline
carlaKC May 12, 2026
e14a28d
ln: store next trampoline amount and cltv in PendingHTLCRouting
carlaKC May 12, 2026
52f2394
ln: use outer onion values for trampoline NextPacketDetails
carlaKC Feb 12, 2026
bfb4acb
ln: add awaiting_trampoline_forwards to accumulate inbound MPP
carlaKC Mar 30, 2026
2334a20
Only emit Event::SpliceNegotiated when contributing
wpaulino Jun 17, 2026
367c657
Always emit SpliceNegotiationFailed when contributing
wpaulino Jun 16, 2026
68c1f21
Allow invalid contribution error upon quiescence
wpaulino Jun 17, 2026
a5d5992
Prefer tx_abort over disconnection for splice negotiation errors
wpaulino Jun 16, 2026
ff3d388
Prefer tx_abort over disconnection for inability to RBF
wpaulino Jun 17, 2026
43c0fc7
Check channel is live while handling counterparty tx_init_rbf
wpaulino Jun 17, 2026
13b19c8
Make SpliceFundingFailed::contribution non-optional
wpaulino Jun 30, 2026
1afd35e
ln: add trampoline mpp accumulation with rejection on completion
carlaKC Apr 10, 2026
c6adebf
ln: double encrypt errors received from downstream failures
carlaKC Mar 12, 2026
4f2429e
ln: handle DecodedOnionFailure for local trampoline failures
carlaKC Mar 12, 2026
4329fe9
ln: process added trampoline htlcs with CLTV validation in tests
carlaKC Jul 2, 2026
19eefde
ln/tests: return BlindedPaymentPath from trampoline helper
carlaKC Jul 2, 2026
b975ff3
ln/test: add test coverage for MPP trampoline
carlaKC Jul 2, 2026
b90152b
ln/test: add tests for mpp accumulation of trampoline forwards
carlaKC Jul 2, 2026
dedf2b5
Merge PR 'Fix forgejo review assignment' (#4775)
Jul 2, 2026
3d9a10d
fuzz: sync reloaded monitors from their own best block
joostjager Jul 3, 2026
48b2db7
fuzz: factor chanmon broadcast relay helper
joostjager Jul 2, 2026
05abdc5
fuzz: settle chanmon force-closes on chain
joostjager Jul 2, 2026
24651a1
ci: don't double-assign reviewers, support manual assignment runs
Jul 3, 2026
055d334
Fix assign-reviewer's auth by setting the authorized integration audi…
TheBlueMatt Jul 3, 2026
3d2c5b8
Merge PR 'Splice with mempool fuzz fixes' (#4708)
Jul 5, 2026
19741bf
Add upgrade test for legacy post-close monitor update persistence
GideonBature Jun 27, 2026
b9f55b6
Upload new fuzz corpus entries as a short-lived CI artifact
Jul 5, 2026
2bd9266
refactor(offers): extract payer key derivation helpers
vincenzopalazzo Feb 24, 2026
da6e0bb
offers: add merkle selective-disclosure primitives
vincenzopalazzo Jun 15, 2026
5747866
offers: add BOLT 12 payer proof primitives
vincenzopalazzo Jun 15, 2026
580c9bc
ln: persist the paid BOLT 12 invoice and build payer proofs
vincenzopalazzo Jun 15, 2026
1817d62
fuzz: add a payer proof deserialization target
vincenzopalazzo Jun 15, 2026
f6b1557
Merge PR 'trampoline: accumulate inbound trampoline htlcs' (#4493)
Jul 6, 2026
0d6aadd
Merge PR 'Improve auto-assignment and prepare it for using as second-…
Jul 7, 2026
4f0c6a5
Merge PR 'Add BOLT 12 payer proof primitives' (#4297)
Jul 7, 2026
796ab22
Merge PR 'fuzz: drive chanmon force-closes through on-chain settlemen…
Jul 7, 2026
13c97eb
Tolerate stale STFU warnings in chanmon fuzz
joostjager Jul 7, 2026
53b399c
Filter stale closed hop sends in chanmon fuzz
joostjager Jul 7, 2026
ed250c0
Use a builder for sign_interactive_funding_tx arguments
jkczyz Jun 26, 2026
40957aa
Require `htlc_value_satoshis` in [pending] `HTLCUpdate`s
TheBlueMatt Jul 7, 2026
eb70921
Merge PR 'Require `htlc_value_satoshis` in [pending] `HTLCUpdate`s' (…
Jul 7, 2026
707d65c
Store splice contributions with their negotiated candidates
jkczyz Jun 12, 2026
3b46ec9
Panic on unexpected chanmon monitor events
joostjager Jul 7, 2026
588054e
Add amounts to HTLC locators
benthecarman Jun 30, 2026
47a090a
Remove redundant witness program check
Abeeujah Jul 8, 2026
4512570
Merge PR 'Add amounts to HTLC locators' (#4767)
Jul 8, 2026
2027c2f
Merge PR 'Remove redundant witness program check' (#4795)
Jul 8, 2026
5b25d5d
Merge PR 'fuzz: handle stale closed-channel paths in chanmon fuzz' (#…
Jul 9, 2026
cb77c1c
Expose pending splice details in ChannelDetails
jkczyz Jun 12, 2026
0beadb3
Test cross-version serialization of pending splices
jkczyz Jun 16, 2026
1127a38
Queue a splice on a channel with an inherited splice until it locks
jkczyz Jun 17, 2026
5137c12
Compute the minimum splice RBF feerate via PendingFunding
jkczyz Jul 8, 2026
0af1ebb
Add pending changelog entry for PR 4687
jkczyz Jun 18, 2026
5cd499e
Bump esplora-client to 0.13 to switch from `reqwest` to `bitreq`
TheBlueMatt Jul 9, 2026
a464140
Pin jobserver to 0.1.34 on pre-1.85 rustc
TheBlueMatt Jul 9, 2026
98adb8a
Merge PR 'Bump esplora-client to 0.13 to switch from `reqwest` to `bi…
Jul 9, 2026
d4ff59d
Merge PR 'Add pending `SpliceDetails` to `ChannelDetails`' (#4687)
Jul 9, 2026
56b0c2e
Increase no-channel peer limit
saidalaoui-sq Jul 9, 2026
6a3c22f
Merge PR 'Increase no-channel peer limit' (#4797)
Jul 16, 2026
81a7b82
Remove taproot build check
elnosh Jul 16, 2026
5183065
Merge PR 'Remove taproot build check' (#4810)
Jul 16, 2026
2981487
Merge PR 'Add upgrade test for legacy post-close monitor update persi…
Jul 17, 2026
c37b0dc
Add infrastructure for handling `DNSSECError` onion messages
TheBlueMatt Jul 17, 2026
a705abd
Handle `DNSSECError` messages when attempting DNSSEC resolution
TheBlueMatt Jul 17, 2026
feb838d
Expose sources for pending outbound HTLCs
joostjager Jul 14, 2026
687b851
Increase probabilistic scorer defaults 5x
benthecarman Jul 16, 2026
f734d1e
Change assign-reviewer authorized integration token to a bot acct
TheBlueMatt Jul 20, 2026
31adcb5
Merge PR 'Increase probabilistic scorer defaults 5x' (#4811)
Jul 20, 2026
16528c3
Merge PR 'Change assign-reviewer authorized integration token to a bo…
Jul 20, 2026
bce5ef2
channelmanager: upgrade best_block_updated log from trace to info
Alkamal01 Jul 21, 2026
00aabf8
offers: Allow disabling invoice response MPP
tnull Jul 16, 2026
19635f0
Merge PR 'offers: Control invoice response MPP' (#4819)
Jul 23, 2026
f93a7f0
Handle missing splice tx_signatures on reestablish
wpaulino Jul 6, 2026
1f64175
Merge PR 'Handle missing splice tx_signatures on reestablish' (#4790)
Jul 23, 2026
a6964ab
Correct + update scoring attempts right at the maximum amounts
TheBlueMatt Jul 24, 2026
6812387
Report the used success probabilities in scorer accessor methods
TheBlueMatt Jul 24, 2026
05ce420
Format changed functions
TheBlueMatt Jul 24, 2026
081a8e1
f names in test lookups
TheBlueMatt Jul 24, 2026
204134c
Expose DNS query failure on invalid proofs or bad BIP 353 records
Jul 18, 2026
a2fe23f
f note that only one resolution will fail at a time
TheBlueMatt Jul 24, 2026
1a4694b
Generate `DNSSECError` messages when DNSSEC resolution fails
TheBlueMatt Jul 18, 2026
d14c22a
Correct DNSSEC proof validity time gap applied to header time
TheBlueMatt Jul 18, 2026
0460fda
Rename `OMNameResolver::resolve_name` to `initiate_resolution`
TheBlueMatt Jul 24, 2026
dc77c00
Merge PR 'channelmanager: improve block connection logging' (#4813)
Jul 25, 2026
43eb9ce
Merge PR 'Generate and handle `DNSSECError` Messages in BIP 353 OM-ba…
Jul 27, 2026
0c352c5
blinded_path: only compact introduction nodes via channels enabled bo…
vincenzopalazzo Jul 26, 2026
b252b3a
Merge PR 'Surface inbound HTLC references in OutboundHTLCDetails' (#4…
Jul 27, 2026
5b8a8bf
fuzz: derive routes from payment paths
joostjager Jul 9, 2026
671ccb0
fuzz: centralize payment send tracking
joostjager Jul 10, 2026
fed08b4
fuzz: track payment send resolutions
joostjager Jul 10, 2026
e704b74
fuzz: prepare payment failure tracking
joostjager Jul 13, 2026
a01754d
fuzz: retain channel ids in payment paths
joostjager Jul 14, 2026
090181b
fuzz: require expected payment failures
joostjager Jul 10, 2026
dbb1250
fuzz: allow empty-channel force close with in-flight payments
joostjager Jul 9, 2026
5057809
Correct docs on `ChannelSigner::get_per_commitment_point`
TheBlueMatt Jul 27, 2026
38dd9c9
Merge PR 'blinded_path: only compact introduction nodes via channels …
Jul 28, 2026
825be55
Merge PR 'Correct docs on `ChannelSigner::get_per_commitment_point`' …
Jul 28, 2026
f99725c
Merge PR 'Correct debug assertion reachable from scorer probability a…
Jul 28, 2026
e665223
Include to_self_delay size in DelayedPaymentOutput weight calculation
morehouse Jul 28, 2026
0802707
Merge PR 'Include to_self_delay size in DelayedPaymentOutput weight c…
Jul 29, 2026
c68801b
Merge PR 'fuzz: HTLC-free force closes with payments in flight' (#4800)
Jul 29, 2026
5cf053f
expose some internals
erickcestari Dec 17, 2025
a7dfc1c
feat: expose next_hop_pubkey
erickcestari Jan 13, 2026
acf60fc
feat: expose AttributionData fields
erickcestari Jan 13, 2026
de5a0aa
feat: add a custom error to skip some specific cases
erickcestari Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .forgejo/default_merge_message/MERGE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Merge PR '${PullRequestTitle}' (${PullRequestReference})
from ${HeadBranch} into ${BaseBranch}

${ReviewedOn}
${ReviewedBy}
119 changes: 119 additions & 0 deletions .forgejo/workflows/assign-reviewer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
name: Assign a random reviewer

# Forgejo has no built-in random/round-robin reviewer assignment (only
# path-based CODEOWNERS), so pick a random developer for each newly opened
# pull request and request their review via the API.
#
# Runs automatically when a PR is opened, and can also be run manually
# (workflow_dispatch) against any PR number to pick an additional reviewer.
# * Someone already requested as a reviewer, or who has already submitted a
# review, is never picked.
# * On automatic runs (including re-runs), nothing is done at all if anyone
# from the REVIEWERS pool has already reviewed or been requested (reviews
# from people outside the pool don't count). Manual runs skip this check
# and always add a reviewer if an eligible candidate remains.

on:
pull_request_target:
types: [opened]
workflow_dispatch:
inputs:
pr:
description: "Pull request number to assign a reviewer to"
required: true

enable-openid-connect: true

jobs:
assign:
runs-on: debian-trixie
permissions:
id-token: write
steps:
- name: Fetch Authorized Integration token
id: jwt
run: |
set -eu
jwt="$(curl -fsS -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=u:88:1a17a83c-eae2-4258-8b7f-34a9c9408cec" | jq -r '.value')"
echo "::add-mask::$jwt"
echo "jwt=$jwt" >> "$FORGEJO_OUTPUT"
- name: Request review from a random developer
# This never checks out or runs any PR code -- it only makes API
# calls -- so running in the base-repo context (pull_request_target,
# which is what grants the token write access even for fork PRs) is safe.
env:
API: ${{ github.server_url }}/api/v1
REPO: ${{ github.repository }}
EVENT_NAME: ${{ github.event_name }}
EVENT_PR: ${{ github.event.pull_request.number }}
INPUT_PR: ${{ github.event.inputs.pr }}
# Space-separated pool of candidate reviewers.
REVIEWERS: "matt val wpaulino joostjager jkczyz benthecarman tankyleo tnull"
run: |
set -eu
AUTH="Authorization: bearer ${{ steps.jwt.outputs.jwt }}"

if [ "$EVENT_NAME" = "workflow_dispatch" ]; then
PR="$INPUT_PR"
else
PR="$EVENT_PR"
fi
case "$PR" in
''|*[!0-9]*) echo "Invalid PR number: '$PR'"; exit 1 ;;
esac

PR_JSON="$(curl -fsS -H "$AUTH" "$API/repos/$REPO/pulls/$PR")"
AUTHOR="$(printf '%s' "$PR_JSON" | jq -r '.user.login')"

# Everyone already on the PR: currently-requested reviewers plus
# anyone who has submitted a review. PENDING (unsubmitted draft) and
# REQUEST_REVIEW (the open-request marker rows in the reviews list)
# are not submitted reviews, so they are not counted as "reviewed".
REQUESTED="$(printf '%s' "$PR_JSON" |
jq -r '(.requested_reviewers // [])[] | .login? // empty')"
REVIEWED="$(
page=1
while :; do
CHUNK="$(curl -fsS -H "$AUTH" "$API/repos/$REPO/pulls/$PR/reviews?limit=50&page=$page")"
printf '%s' "$CHUNK" | jq -r '.[]
| select(.state == "APPROVED" or .state == "REQUEST_CHANGES" or .state == "COMMENT")
| .user.login? // empty'
if [ "$(printf '%s' "$CHUNK" | jq 'length')" -lt 50 ]; then break; fi
page=$((page + 1))
done
)"
# The author self-reviewing (commenting on their own PR) doesn't
# count as someone being on the PR.
INVOLVED="$(printf '%s\n%s\n' "$REQUESTED" "$REVIEWED" |
awk -v author="$AUTHOR" '$0 != "" && $0 != author' | sort -u)"

# On automatic runs, if a pool member is already on the PR there is
# nothing to do. Manual runs go ahead and add another reviewer.
if [ "$EVENT_NAME" != "workflow_dispatch" ]; then
for d in $REVIEWERS; do
if printf '%s\n' "$INVOLVED" | grep -qxF "$d"; then
echo "$d has already reviewed or been requested on PR #$PR; nothing to do."
exit 0
fi
done
fi

# Build the candidate pool, excluding the PR author and anyone
# already requested or reviewing.
POOL=""
for d in $REVIEWERS; do
if [ "$d" = "$AUTHOR" ]; then continue; fi
if printf '%s\n' "$INVOLVED" | grep -qxF "$d"; then continue; fi
POOL="$POOL $d"
done

REVIEWER="$(printf '%s\n' $POOL | shuf -n1)"
if [ -z "$REVIEWER" ]; then
echo "No eligible reviewer left in the pool; skipping."
exit 0
fi

echo "Requesting review from $REVIEWER on PR #$PR"
curl -fsS -H "$AUTH" -H 'Content-Type: application/json' \
-X POST "$API/repos/$REPO/pulls/$PR/requested_reviewers" \
-d "$(jq -n --arg r "$REVIEWER" '{reviewers: [$r]}')" >/dev/null
24 changes: 24 additions & 0 deletions .forgejo/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Security Audit
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'

jobs:
audit:
runs-on: debian-trixie
steps:
- name: Checkout source code
uses: https://data.forgejo.org/actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Rust stable toolchain
run: |
rustup default stable
- name: Install cargo-audit
run: cargo install cargo-audit --locked
- name: Run cargo audit
# RUSTSEC-2021-0145 pertains `atty`, which is a depencency of
# `criterion`. While the latter removed the depencency in its
# newest version, it would also require a higher `rustc`. We
# therefore avoid bumping it to allow benchmarking with our
# `rustc` 1.63 MSRV.
run: cargo audit --ignore RUSTSEC-2021-0145
Loading
Loading