Commit graph

14427 commits

Author SHA1 Message Date
yyforyongyu
1f636ad275
itest: add readme 2023-02-23 21:56:12 +08:00
yyforyongyu
b5fab8232a
github: increase parallelism in windows build 2023-02-23 21:56:12 +08:00
yyforyongyu
d319ff9eda
travis: update build config
This commit removes the linter job from travis, and sets a memory limit.
2023-02-23 21:56:12 +08:00
yyforyongyu
268be87abe
github: refactor github action yaml files
This commit refactors the github action yaml files by putting the common
steps into an action file, and upgrades the tools used.
2023-02-23 21:56:12 +08:00
yyforyongyu
5bea444b6d
golangci: remove linter exceptions for itest 2023-02-23 21:56:12 +08:00
yyforyongyu
95738351f5
test: increase itest timeout to be 180m 2023-02-23 21:56:11 +08:00
yyforyongyu
d5af76cb29
itest+lntest: add a dedicated timeout for sending payments
This commit adds a new timeout `PaymentTimeout` that's used when sending
payments. A potential bug is also marked in the test.
2023-02-23 21:56:11 +08:00
yyforyongyu
ae6e109f35
lntest: catch window conn error in EnsureConnected
This commit also removes the first connection attempt inside
`SetupStandbyNodes` as the nodes are always connected inside each
subtest. The error returned from connection is now logged for debugging.
2023-02-23 21:56:11 +08:00
yyforyongyu
f55f9dcb87
itest: increase sleep time when closing channels in mpp setup 2023-02-23 21:56:11 +08:00
yyforyongyu
92a2da52c5
itest: fix testGraphTopologyNtfns and mark a bug in disconnectpeer 2023-02-23 21:56:11 +08:00
yyforyongyu
25a2e0f716
itest: temp fix testAddPeerConfig 2023-02-23 21:56:11 +08:00
yyforyongyu
05c82d918e
itest: remove file log_error_whitelist.txt 2023-02-23 21:56:11 +08:00
yyforyongyu
29b7903a28
lntest: use rpc-graph-cache-duration=100ms in itest 2023-02-23 21:56:10 +08:00
yyforyongyu
17f08a87db
lntest+itest: remove assertion while iterating mempool 2023-02-23 21:56:10 +08:00
yyforyongyu
28203fc77c
lntest+itest: fix testDataLossProtection 2023-02-23 21:56:10 +08:00
yyforyongyu
8288d3da8e
itest: add missing topology check in tests
This commit adds the missing topology checks.
2023-02-23 21:56:10 +08:00
yyforyongyu
d97f52d12a
lntest: shutdown running nodes when test fails
Fixes the zip log files failure we see.
2023-02-23 21:56:10 +08:00
yyforyongyu
0e8a525f94
lntest: change wait timeout values 2023-02-23 21:56:10 +08:00
yyforyongyu
2bc6aabf96
itest: fix make lint
This commit fixes the issues reported by the linter.
2023-02-23 21:56:10 +08:00
yyforyongyu
a080375b7d
itest: remove unnecessary shutdown 2023-02-23 21:56:09 +08:00
yyforyongyu
8b9ccfe310
itest: fix test async_bidirectional_payments 2023-02-23 21:56:09 +08:00
yyforyongyu
9d1d629001
itest+lntest: migrate lntemp to lntest
This commit performs the takeover that `lntemp` is now promoted to be
`lntest`, and the scaffolding is now removed as all the refactoring is
finished!
2023-02-23 21:56:09 +08:00
yyforyongyu
ee0790493c
itest+lntemp: move calculation functions into lntemp
Functions that can be useful to other tests are now moved into the
package `lntemp`.
2023-02-23 21:56:09 +08:00
yyforyongyu
4a9c3449a6
lntemp+itest: move utils function into lntemp 2023-02-23 21:56:09 +08:00
yyforyongyu
edba938996
multi: add new build tag integration
This commit adds a new build tag `integration` and removes the old tag
`rpctest` for clarity. Multiple unnecessary usages of `build !rpctest`
is also removed.
2023-02-23 21:56:09 +08:00
yyforyongyu
d730797880
itest: remove unused flag goroutineDump 2023-02-23 21:56:08 +08:00
yyforyongyu
94c64a886e
lntemp+itest: remove unused code to prepare lntemp's takeover
This commit removes the old code living in `lntest` to prepare
`lntemp`'s takeover.
2023-02-23 21:56:08 +08:00
yyforyongyu
106fbeae85
multi: move timeouts into package wait
This commit moves the definition of timeout values into package `wait`,
preparing the incoming merging of `lntemp` and `lntest`.
2023-02-23 21:56:08 +08:00
yyforyongyu
0bc86a3b4b
multi: move itest out of lntest
This commit moves all the test cases living in `itest` out of `lntest`,
further making `lntest` an independent package for general testing.
2023-02-23 21:56:08 +08:00
yyforyongyu
142b00711f
itest+github: remove flag temptest
This commit removes flag `temptest` and all its usage, marking the start
of promoting our `lntemp` to be `lntest`!
2023-02-23 21:56:08 +08:00
yyforyongyu
e500074017
itest: refactor testBidirectionalAsyncPayments 2023-02-23 21:56:08 +08:00
yyforyongyu
6618ab493a
multi: enhance loggings and fix logging format
Also adds TODO for a possible bug.
2023-02-23 21:56:08 +08:00
Olaoluwa Osuntokun
d793a53bba
Merge pull request #7406 from Roasbeef/gossip-cache-fix
multi: bump neutrino+btcwallet versions, use new generic lru cache
2023-02-22 15:49:49 -08:00
Oliver Gugger
b3e27f9ba7
Merge pull request #7415 from bitromortac/2302-max-htlc
routing+discovery: fail non-maxHTLC channel updates in validation
2023-02-22 08:45:56 +01:00
Olaoluwa Osuntokun
a15c45231e
multi: bump neutrino+btcwallet versions, use new generic lru cache 2023-02-21 17:28:48 -08:00
Olaoluwa Osuntokun
f4fdd82327
Merge pull request #7264 from yyforyongyu/gossip-resend-messages
discovery: fix message order in batch sending
2023-02-21 17:10:13 -08:00
bitromortac
6459385dfd
discovery: skip non-maxHTLC updates in gossip sync
We skip syncing channel updates that don't conform to the spec.
2023-02-21 14:03:51 +01:00
bitromortac
6aac2762b3
routing: stricter maxHTLC checks
We require channel updates to have the max HTLC message flag set.

Several flows need to pass that check before channel updates are
forwarded to peers:
* after channel funding: `addToRouterGraph`
* after receiving channel updates from a peer:
  `ProcessRemoteAnnouncement`
* after we update channel policies: `PropagateChanPolicyUpdate`
2023-02-21 14:03:51 +01:00
Oliver Gugger
d44823f6e8
Merge pull request #7431 from Crypt-iQ/remove_res_ids
lnwallet: remove from reservationIDs
2023-02-21 12:36:10 +01:00
bitromortac
dd5273c88c
multi: rename due to required maxHTLC bit
We rename `ChanUpdateOptionMaxHtlc` to `ChanUpdateRequiredMaxHtlc`
as with the latest changes it is now required.

Similarly, rename `validateOptionalFields` to
`ValidateChannelUpdateFields`, export it to use it in a later commit.
2023-02-21 11:10:39 +01:00
Olaoluwa Osuntokun
748461cba4
Merge pull request #7379 from ellemouton/addFieldsToRevocationLog
multi: add local and remote amount fields to revocation log
2023-02-20 17:57:08 -08:00
eugene
2c7f118d4e
lnwallet: remove from reservationIDs 2023-02-20 12:47:45 -05:00
Oliver Gugger
0f079729c1
Merge pull request #7418 from lightningnetwork/dependabot/go_modules/kvdb/golang.org/x/net-0.7.0
build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 in /kvdb
2023-02-20 08:35:45 +01:00
dependabot[bot]
ded9fb87d2
build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 in /kvdb
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.4.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-17 16:03:17 +00:00
Oliver Gugger
581e195bfe
Merge pull request #7414 from guggero/merge-queue-fix
github: fix merge group directive
2023-02-17 16:59:44 +01:00
Oliver Gugger
a257e6203d
github: fix merge group directive 2023-02-17 11:14:38 +01:00
Oliver Gugger
4d7ac82773
Merge pull request #7412 from Roasbeef/merge-queue-fix
build: use the new merge_group selector for the merge queue
2023-02-17 11:08:51 +01:00
Oliver Gugger
ccb00741df
Merge pull request #7324 from hieblmi/openchannel-fix-line-length
lncli: fix line length issues
2023-02-17 09:30:00 +01:00
yyforyongyu
9b61e09ca7
docs: update release notes for gossip fix
This commit also puts relevant docs closer to each other.
2023-02-17 14:16:31 +08:00
yyforyongyu
e34a088608
discovery: send both local and remote anns in the same goroutine
This commit changes the sending of anns from using separate goroutines
to always sending both local and remote announcements in the same
goroutine. In addition, the local announcements are always sent first.
This change is to fix the following case:

1. Alice and Bob have a channel
2. Alice receives Bob's NodeAnnouncement
3. Alice goes to broadcast the channel
4. The broadcast is split into a local and remote broadcast due to PR
   #7239. Bob's NodeAnnouncement is in the remote batch. Everything else
   (ChannelAnnouncement, ChannelUpdate x2, and Alice's NodeAnnouncement)
   is in the local batch.
5. The remote batch (containing Bob's NodeAnnouncement) runs before the
   local batch since they are spawned in separate goroutines. This means
   that Alice sends Carol the NodeAnnouncement before Carol knows of the
   channel.

In step 2), Bob's NodeAnnouncement (isRemote = true) replaces Bob's
NodeAnnouncement that Alice was going to relay (isRemote = false) after
processing the AnnouncementSignatures.
2023-02-17 14:10:19 +08:00