Commit Graph
100 Commits
Author SHA1 Message Date
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
yyforyongyu 31e166a6b3 htlcswitch: add processLocalUpdateFaillHTLC 2025-07-03 19:50:30 +08:00
yyforyongyu 765714e750 htlcswitch: add processLocalUpdateFulfillHTLC 2025-07-03 19:50:29 +08:00
yyforyongyu c42bf9b545 htlcswitch: log err in the end in handleUpstreamMsg 2025-07-03 19:50:29 +08:00
yyforyongyu 87b490dfc4 htlcswitch: add processRemoteError and processRemoteUpdateFee 2025-07-03 19:50:29 +08:00
yyforyongyu 4017104475 htlcswitch: add processRemoteRevokeAndAck 2025-07-03 19:50:29 +08:00
yyforyongyu 04abf96f60 htlcswitch: add processRemoteCommitSig 2025-07-03 19:50:29 +08:00
yyforyongyu ad1566ee3f htlcswitch: add processRemoteUpdateFailHTLC 2025-07-03 19:50:29 +08:00
yyforyongyu e883a51a63 htlcswitch: add processRemoteUpdateFailMalformedHTLC 2025-07-03 19:50:28 +08:00
yyforyongyu f9df5a9f51 htlcswitch: add processRemoteUpdateFulfillHTLC 2025-07-03 19:50:28 +08:00
yyforyongyu 212262bf88 htlcswitch: add processRemoteUpdateAddHTLC 2025-07-03 19:50:28 +08:00
yyforyongyu 83f658f714 htlcswitch: remove TODO and nolint
This old TODO is no longer relevant.
2025-07-03 19:50:28 +08:00
yyforyongyu 3af8281370 htlcswitch: add handler resumeLink 2025-07-03 19:50:25 +08:00
yyforyongyu ca770bb4af htlcswitch: notify channel active after reforwarding
The channel should only be considered active when its pending tasks are
finished, which includes,
1. sync channel state via reestablish.
2. send previous shutdown msg.
3. reset the mailbox's packets.
4. reforwarding logs loaded from restart.

When the above tasks are finished, the channel can be considered as
fully resumed from its previous disconnection.
2025-07-03 18:31:13 +08:00
yyforyongyu 09022b5f56 htlcswitch: add handler toggleBatchTicker 2025-07-03 18:31:12 +08:00
yyforyongyu cccb447439 htlcswitch: add handler handleUpdateFee 2025-07-03 18:31:12 +08:00
yyforyongyu e8b2035484 htlcswitch: add handler handleQuiescenceReq 2025-07-03 18:31:12 +08:00
yyforyongyu 30f9257a6b htlcswitch: add handler handleHtlcResolution 2025-07-03 18:31:12 +08:00
yyforyongyu 43ea309f2c lnrpc: update description for RoutingPolicy.CustomRecords 2025-07-01 19:59:51 +08:00
yyforyongyu 9ed32bddf3 docs: update release notes for 0.20 2025-07-01 19:59:50 +08:00
yyforyongyu 650e72518c rpcserver: remove duplicate info from RoutingPolicy
We remove the inbound fee record from `RoutingPolicy.CustomRecords` as
we already have fields `InboundFeeBaseMsat` and `InboundFeeRateMilliMsat`.
2025-07-01 19:59:50 +08:00
yyforyongyu 624dc6c26a lntest: assert CustomRecords fields on channel policy
Make sure the `CustomRecords` field is asserted.
2025-07-01 19:59:50 +08:00
yyforyongyu bef90c6a84 watchtower: fix logging and add comments 2025-06-27 19:01:33 +08:00
yyforyongyu c64e3a6c34 lnwire: fix linter 2025-06-25 14:53:22 +08:00
yyforyongyu 828486e35a lnwire: fix unit test for DynCommit 2025-06-25 14:53:20 +08:00
yyforyongyu 8456aef9eb gitignore: ignore test data from rapid 2025-06-25 02:50:51 +08:00
yyforyongyu 42089b19d6 lnwire: add DynCommit message to match spec 2025-06-25 01:10:54 +08:00
yyforyongyu 0e247641d7 itest: document and fix a wallet utxo flake 2025-06-23 22:18:54 +08:00
yyforyongyu 2c73a3fa7c itest: remove extra UTXO used in sweeping tests
Given #8786 is now fixed, we no longer need extra UTXOs in these tests.
2025-06-23 22:18:31 +08:00
Yong 09df5894d0 Merge pull request #9947 from yyforyongyu/export-itest-db
lntest: add a flag to export data generated during the test
2025-06-23 21:33:31 +08:00
yyforyongyu 3b84088d4a multi: enable passing flag basedir to make itest 2025-06-23 17:29:26 +08:00
yyforyongyu 343ae963b0 lntest: add a new basedir flag to keep test data 2025-06-23 17:29:26 +08:00
yyforyongyu 0d20e96e96 lntest: create GenBaseDir to generate the base dir 2025-06-23 17:28:48 +08:00
Yong 5ebb29309e Merge pull request #9977 from starius/itest-bitcoind-neutrino
lntest: enable neutrino testing with bitcoind
2025-06-23 17:08:18 +08:00
Yong a3209a5bfa Merge pull request #9950 from starius/describegraph-authproofs2
lnrpc: add auth_proof to graph APIs
2025-06-20 14:54:03 +08:00
yyforyongyu e47091063a config: update docs for num-restricted-slots 2025-06-19 20:29:38 +08:00
yyforyongyu 250a61af6d lnd: remove peer from peerChanInfo when necessary
We now remove the peer from `peerChanInfo` if this peer doesn't have
channels with us. Also patched a unit test for `removePeerAccess`.
2025-06-19 20:23:46 +08:00
yyforyongyu 32d8e2123d channeldb+lnd: rename peerCounts to peerChanInfo for clarity 2025-06-19 16:48:13 +08:00
yyforyongyu 03de0f9e4b funding+lnd: make sure accessman won't interrupt funding flow
If there's an error occured when updating the peer's status after the
channel status is changed, we now make sure we log the error instead of
letting it interrupt the channel open/close flow.
2025-06-19 16:05:59 +08:00
yyforyongyu 0dc10ba692 accessman+lnd: rename checkIncomingConnBanScore for clarity 2025-06-19 16:05:59 +08:00
yyforyongyu 869e541b7c docs: add release notes for improved accessman 2025-06-19 16:05:59 +08:00
yyforyongyu 9caa5f220d itest+lntest: add more itest for accessman 2025-06-19 16:05:59 +08:00