Commit Graph
100 Commits
Author SHA1 Message Date
Yong 0c1746a093 Merge pull request #10174 from hexcow/patch-1
chore(ci): upgrade checkout to v5
2025-09-15 15:29:55 +08:00
Yong 5082566ed7 Merge pull request #9677 from NishantBansal2003/conf-count
Expose confirmation count for pending 'channel open' transactions
2025-09-11 22:36:05 +08:00
Yong d1d3a82010 Merge pull request #9884 from ellemouton/relaxFeatureBitCheck
multi: use relaxed feature bit `Set` method for peer features
2025-09-10 17:22:16 +08:00
Yong 67880c557e Merge pull request #10149 from Roasbeef/estimate-route-fee-docs
docs: add docs for `EstimateRouteFee`
2025-09-10 13:26:00 +08:00
Yong 6c9e0f348c Merge pull request #10196 from ziggie1984/refactor-payment-part-6
refactor payments part 6
2025-09-08 15:40:36 +08:00
Yong c02e94e767 Merge pull request #10187 from Roasbeef/skip-labels-green-check
build: make special label checks auto-pass instead of skip
2025-09-06 04:36:48 +08:00
Yong ab924be037 Merge pull request #10197 from bhandras/wallet-create-warning
commands: add extra warning on wallet creation
2025-09-05 08:08:03 +08:00
Yong e46c676894 Merge pull request #10162 from ellemouton/graphMigUnwrapDNSAddrs
graph/db: unwrap dns addresses from opaque ones during migration
2025-09-04 22:29:49 +08:00
Yong d08afa3ea6 Merge pull request #10185 from ellemouton/renameLightningNode
multi: Rename LightningNode to Node
2025-09-04 10:01:10 +08:00
Yong f51684dd0f Merge pull request #10103 from yyforyongyu/rate-limit-peer
Rate limit outgoing gossip bandwidth by peer
2025-09-02 23:31:29 +08:00
yyforyongyu 86a915a772 docs: update release notes 2025-09-02 21:23:08 +08:00
yyforyongyu 6d14370e8e lncfg: validate msg-burst-bytes 2025-09-02 21:23:08 +08:00
yyforyongyu 5bc4666efc multi: add new config peer-msg-rate-bytes 2025-09-02 21:23:07 +08:00
yyforyongyu 778456769a discovery: rate limiting sending msgs per peer
We now add another layer of rate limiting before sending the messages
inside `GossipSyncer`.
2025-09-02 21:23:07 +08:00
yyforyongyu 6826703c77 discovery: introduce rate limiter to GossipSyncer 2025-09-02 21:13:46 +08:00
yyforyongyu 19bc941cbd discovery: create common helper methods for rate limiter
This allows us to reuse them in the upcoming commits where we introduce
a rate limiter to the gossip syncer.
2025-09-02 21:13:46 +08:00
Yong 1666764690 Merge pull request #10136 from yyforyongyu/use-btcwallet-interface
lnwallet: use btcwallet's new interface
2025-09-02 20:46:56 +08:00
Yong 84b2c20ea0 Merge pull request #10167 from starius/go124
multi: bump Go to 1.24.6
2025-09-01 20:03:54 +08:00
yyforyongyu 48f88248b8 docs: update release notes 2025-08-26 20:36:22 +08:00
yyforyongyu b10aca5c1b lnwallet: use the wallet interface 2025-08-26 20:36:21 +08:00
yyforyongyu 2403313443 gomod: update btcwallet 2025-08-26 20:36:21 +08:00
yyforyongyu 596d969881 btcwallet: fix duplicate import
The `wallet` has already imported using `base`.
2025-08-26 20:36:21 +08:00
Yong 0c2f045f5d Merge pull request #10102 from yyforyongyu/fix-UpdatesInHorizon
Catch bad gossip peer and fix `UpdatesInHorizon`
2025-08-20 22:35:31 +08:00
Yong 8f489d0f12 Merge pull request #10153 from ziggie1984/refactor-payments-code-05
Refactor Payment PR 5
2025-08-20 21:18:04 +08:00
Yong 9a4968656a Merge pull request #8825 from Abdulkbk/restore-node-announcement
lnd: use persisted node announcement settings across restarts
2025-08-18 18:21:00 +08:00
Yong 3841d55549 Merge pull request #10112 from GustavoStingelin/check-pgp-keys-expiry
CI: add pgp keys expiry check
2025-08-15 12:12:33 +08:00
Yong dfc29b3f71 Merge pull request #9847 from ziggie1984/refactor-payments-code-04
Refactor Payment PR 4
2025-08-15 12:03:33 +08:00
Yong c6a9116e3a Merge pull request #9844 from ziggie1984/refactor-payments-code-03
Refactor Payment PR 3
2025-08-13 06:05:01 -04:00
Yong f3e1f2f351 Merge pull request #10141 from ziggie1984/fix-stuck-payment
fix stuck payment
2025-08-11 19:44:12 +08:00
Yong 3db93f5b29 Merge pull request #10117 from yyforyongyu/keep-exclusive
contractcourt+sweep: make anchor inputs exclusive
2025-08-05 14:57:26 +08:00
Yong 21726f0179 Merge pull request #9826 from ziggie1984/refactor-payments-code-02
Refactor Payment PR 2
2025-08-04 17:01:30 +08:00
yyforyongyu 4d7622ab05 docs: add and update release notes for 0.19.3 2025-08-04 16:50:34 +08:00
yyforyongyu ab8e0354ab sweep: fix typos 2025-08-04 16:50:34 +08:00
yyforyongyu 3da4093012 itest: fix tests re the new anchor behavior 2025-08-04 16:50:31 +08:00
yyforyongyu 5ee54b34ce sweep: only remove the other input from the exclusive group
We now make sure when removing inputs identified by the exclusive group
ID, we only remove the other one, not the one that invoked the removal.
2025-08-04 16:20:25 +08:00
yyforyongyu ae08a75410 contractcourt+sweep: make anchor inputs exclusive
We now make sure to sweep each anchor input in its own sweeping tx, if
economically feasible.
2025-08-04 16:07:33 +08:00
yyforyongyu 7c46ba19ca docs: update gossip rate limiting doc 2025-08-04 15:55:11 +08:00
yyforyongyu fc11e48585 discovery: fix make lint 2025-08-04 15:47:12 +08:00
yyforyongyu 84532e27f9 docs: add release notes for ban-threshold 2025-08-04 15:46:17 +08:00
yyforyongyu 60603f0854 multi: allow disable banning peers
When users set `gossip.ban-threshold` to 0, it's now treated as setting
the ban score to max uint64, which effectively disables the banning. We
still want to record the peer's ban score in case we need it for future
debugging.
2025-08-04 15:46:16 +08:00
yyforyongyu a6f8617e7c multi: add new config ban-threshold 2025-08-04 15:45:47 +08:00
yyforyongyu 3109a8f3fe discovery: pass banThreshold to banman
So we can configure it via gossip's config in a following commit.
2025-08-04 15:44:35 +08:00
yyforyongyu 343418cfdf docs: update release notes 2025-08-04 15:44:34 +08:00
yyforyongyu 11c53b7212 discovery: increase peer's ban score when received skewed channel_update 2025-08-04 15:44:34 +08:00
yyforyongyu c3780a230c discovery: use handleBadPeer to increase peer's ban score 2025-08-04 15:44:34 +08:00
yyforyongyu f1b2a47717 discovery: add new method handleBadPeer
So we can use the same piece of code elsewhere.
2025-08-04 15:44:34 +08:00
yyforyongyu 9cae62dcd7 discovery: only send node_announcement associated with channels
If a node doesn't have any channels, there's little point to send its
node_announcement as it cannot be used for routing.
2025-08-04 15:44:34 +08:00
yyforyongyu f00073e62c discovery: skip sending channel_announcement with no channel_updates
Base on BOLT07:
> If a channel_announcement has no corresponding channel_updates:
>   - MUST NOT send the channel_announcement.
2025-08-04 15:44:33 +08:00
Yong 6c39b9a3d4 Merge pull request #10097 from Roasbeef/gossip-block-fix
multi: make gossip filter sends non-blocking, only allow a single backlog catch up goroutine per peer
2025-08-04 15:43:33 +08:00
Yong 149a81911a Merge pull request #10087 from starius/estimate-feerate-allow-1
walletrpc: allow conf_target=1 in EstimateFee and FundPsbt
2025-08-04 14:08:42 +08:00
yyforyongyu d0c07d76d2 docs: update release notes 2025-07-25 17:45:02 +08:00
yyforyongyu 03bf1974a3 lncfg: update docs about msg-rate-bytes and msg-burst-bytes 2025-07-25 17:41:00 +08:00
yyforyongyu cadf870dcb discovery: increase default msg rates to 1MB 2025-07-25 17:40:59 +08:00
yyforyongyu 19a6358a3e docs: add release notes 2025-07-25 17:13:44 +08:00
yyforyongyu 10b4ed6c28 contractcourt: replace MarkChannelClosed with NotifyChannelResolved 2025-07-25 17:13:43 +08:00
yyforyongyu d3501197be contractcourt: add a new chan resolvedChan to handle resolved channels
Thus we can mark channels as resolved in an async way to avoid deadlock.
2025-07-25 17:13:43 +08:00
yyforyongyu af2f935ab7 .github: add timeout when sending coverage reports
We also make it cancelable.
2025-07-18 15:41:46 +08:00
yyforyongyu f2e1c11593 .github: remove github.job from the cache key and update docs
This commit adds a more descriptive docs about the caching process. In
addition, the `github.job` is now removed from the cache key
construction to allow jobs sharing the same cache. In addition, given we
now use `inputs.key-prefix`, the `github.job` is no longer relevant as
the `key-prefix` already creates a unique name for the cache.

We also update the lint and check commits job to use the same cache from
the unit test, given they are running in the same environment.
2025-07-18 15:41:46 +08:00
yyforyongyu 4b1a68778e .github: use title case in job names
To unify the format used in job names.
2025-07-18 15:41:46 +08:00
yyforyongyu a83dcaffae .github: add new action cleanup-space 2025-07-18 15:41:44 +08:00
yyforyongyu 81ce5aad94 .github: run PR review stats only for side branches 2025-07-17 20:42:24 +08:00
yyforyongyu db0927fb95 .github: auto clean caches older than 12 hours 2025-07-17 20:42:24 +08:00
yyforyongyu 4f98a0313a .github: add write permission to delete caches 2025-07-17 20:42:24 +08:00
yyforyongyu da2b3469dd .github: move small tasks onto the same machine
Thus saving us from the overhead cost, also they can share the same
cache file.
2025-07-17 20:42:21 +08:00
yyforyongyu 77380debbc .github: replace the aggressive cleanup with a more targeted one
This follows GitHub's official recommendation to avoid re-downloading
essential tools that setup-go might depend on
2025-07-17 16:02:35 +08:00
yyforyongyu 583b8562ab .github: use module cache only whenever possible 2025-07-17 16:02:33 +08:00
yyforyongyu 9039cd1396 walletunlocker: assert new password can be used to open the store 2025-07-16 02:21:13 +08:00
yyforyongyu c643c47288 walletunlocker: fix typos in the tests 2025-07-16 01:28:52 +08:00
yyforyongyu 3a6e656faa walletunlocker: wait for goroutine to finish before exit
Make sure we wait for `doChangePassword` goroutine to finish before
exiting the test. We also remove the `openOrCreateTestMacStore` call
inside `doChangePassword` as it was never finished.
2025-07-16 01:28:52 +08:00
yyforyongyu da277482bb walletunlocker: add missing return and wrong password
We are missing a return here, and we are testing opening the macaroon db
using the new password, not the old one.
2025-07-16 01:28:51 +08:00
yyforyongyu 5d5e635c48 invoices: fix typos 2025-07-14 13:48:10 +08:00
yyforyongyu 5d0c787856 invoices: remove the global mock htlcModifierMock
This can create race in the tests.
2025-07-14 13:44:45 +08:00
yyforyongyu 18916daa0c docs: update release notes 2025-07-11 04:11:31 +03:00
yyforyongyu 7a9f197de8 lnwire: simplify dyn decode methods
Remove the unnecessary convertions as suggested by Gemini.
2025-07-11 04:11:31 +03:00
yyforyongyu 91797ad1d2 lnwire: patch test and fix extra data in DynCommit 2025-07-11 04:11:31 +03:00
yyforyongyu e6ab37305c lnwire: add missing record LocalNonce
This record was never added to the `DynCommit`, but it's inherited from
the embedding msg `DynAck`.
2025-07-11 04:11:30 +03:00
yyforyongyu f39c3679f2 lnwire: make LocalNonce an optional tlv record and fix extra data
It should be an optional record instead of an fn option. In addition,
its tlv type is bumped to be 14 as this record is also included in the
`DynCommit`. If we use tlv type 0, it will create a conflict in the msg
`DynCommit`, which is fixed in the following commit.
2025-07-11 04:11:30 +03:00
yyforyongyu b7d2f68ed0 lnwire: patch uint test for DynAck 2025-07-11 04:11:30 +03:00
yyforyongyu 5961f7a1bd lnwire: add method ParseAndExtractExtraData
Similar to `ParseAndExtractCustomRecords`, we now add this helper method
to make sure the extra data is parsed correctly.
2025-07-11 04:11:30 +03:00
yyforyongyu e94ca84449 lnwire: fix encoding of MilliSatoshi
`MilliSatoshi` itself is already a `BigSize`, we just need to change the
decoding and encoding types to use that.
2025-07-11 04:11:29 +03:00
yyforyongyu 5e9365552c lnwire: fix encoding ExtraData in DynPropose
Previously we encode all the fields plus extra data to the field
`ExtraData`, this is now fixed by encoding only unknown data to extra
data. For known records, they are already encoded into the message
fields.
2025-07-11 04:11:29 +03:00
yyforyongyu 61ef83e9c2 lnwire: patch unit test for DynPropose 2025-07-11 04:09:11 +03:00
yyforyongyu 0f1cb54eb2 lnwire: use BigSize for encoding btc amount 2025-07-11 04:09:11 +03:00
yyforyongyu 52d963bae0 itest+lntest: fix flake in testListSweeps
We now make sure we assert the `ListSweeps` results in a wait closure.
2025-07-09 20:52:02 +03:00
yyforyongyu 9fb0f77d8c docs: update release docs 2025-07-07 16:01:04 +03:00
yyforyongyu 2b4c28204a contractcourt: only close quit in Stop
Make sure we don't prematurely close the `quit` chans.
2025-07-07 15:46:47 +03:00
Yong ff32e90d1d Merge pull request #10035 from ziggie1984/fix-switch-deadlock
fix switch deadlock
2025-07-04 16:35:20 +03:00
yyforyongyu bac8c51076 docs: update release notes 2025-07-04 04:20:00 +08:00
yyforyongyu c4c519a3ae itest+lncfg: test the quiescence timeout behaivor 2025-07-04 04:20:00 +08:00
yyforyongyu 56fd8eeb43 lntest: add RPC SubscribePeerEvents
And a few assertion helpers.
2025-07-04 04:19:59 +08:00
yyforyongyu d44b480977 lnd: fix notifying peer online event too early
We need to notify the peer is online only when it has been started
successfully.
2025-07-04 04:19:59 +08:00
yyforyongyu 2a45e8a0fa itest: fix testQuiescence
The original test lets Bob send an HTLC to Alice, but Bob doesn't have
any balance to begin with. This commit now fixes it by explicitly
checking sending payment is allowed before quiescence, and forbidden
after.
2025-07-04 04:19:59 +08:00
yyforyongyu 463f51d371 lncfg: enable quiescence in non-dev environment 2025-07-04 04:19:59 +08:00
yyforyongyu 127b0e9f41 multi: add new config QuiescenceTimeout
This commit makes removes the `defaultQuiescenceTimeout` and makes it
configurable as different nodes have different network environment. In
addition the default timeout has been increased from 30s to 60s.
2025-07-04 04:19:59 +08:00
Yong ffd944e8b7 Merge pull request #10012 from ziggie1984/fix-goroutine-leak
multi: prevent goroutine leak in brontide
2025-07-03 20:11:31 +08:00
yyforyongyu 240593a399 htlcswitch: log the error returned from SendMessage 2025-07-03 19:51:35 +08:00
yyforyongyu d6c3400e4e docs: update release notes 2025-07-03 19:51:35 +08:00
yyforyongyu d9369ae1a8 htlcswitch: remove unnecessary prand.Seed 2025-07-03 19:51:35 +08:00
yyforyongyu 1b6ca8827e htlcswitch: fix linters
Fix a few linter errors - these were not caught before as they were
configured to be ignored.
2025-07-03 19:51:33 +08:00
yyforyongyu 2bb8b90afd htlcswitch: fix error not checked
As required by the linter.
2025-07-03 19:50:58 +08:00