Commit graph

16719 commits

Author SHA1 Message Date
yyforyongyu
9ae4511a6f
itest: make sure invoice is settled in multi hop htlc test 2023-05-24 02:38:40 +08:00
Oliver Gugger
7dacf5edb9
Merge pull request #7709 from morehouse/fuzz_require
lnwire,wtwire: use require package for fuzz tests
2023-05-23 19:55:06 +02:00
Oliver Gugger
15525ff74c
Merge pull request #7618 from morehouse/derandomize_brontide_fuzz
brontide: deterministic fuzz targets
2023-05-23 16:36:38 +02:00
Matt Morehouse
c38bb899bb
docs: release note for #7709 2023-05-23 08:38:17 -05:00
Matt Morehouse
4c2e712581
wtwire: use require package for fuzz tests
Simplify code by using the require package instead of t.Fatal().
2023-05-23 08:37:22 -05:00
Matt Morehouse
460ba4ad82
lnwire: use require package for fuzz tests
Simplify code by using the require package instead of t.Fatal().
2023-05-23 08:37:22 -05:00
Matt Morehouse
354133e41e
docs: release note for #7618 2023-05-23 08:34:36 -05:00
Matt Morehouse
bad4a66279
brontide: derandomize fuzz tests
It is best to have deterministic fuzz targets, so that if a failure
occurs, it can be easily reproduced.

This commit swaps the cryptographically secure RNG for a deterministic
one seeded from fuzzer input.
2023-05-23 08:32:13 -05:00
Matt Morehouse
eb31d47094
brontide: remove handshake helper function
Move the functionality directly into completeHandshake instead. If a
failure does happen at any point during the handshake, it is beneficial
to know which line it happens on for debugging. The helper function was
hiding this information.
2023-05-23 08:32:13 -05:00
Matt Morehouse
6397497bb6
brontide: s/nilAndPanic/dumpAndFail
The nilAndPanic function does not actually nil the Curve fields as it
claims. dumpAndFail is a more descriptive name.
2023-05-23 08:32:10 -05:00
yyforyongyu
775032de29
docs: add release note for payment stream fix 2023-05-23 21:26:09 +08:00
yyforyongyu
de01e412d6
routing+lnrpc: subscribe payment stream before sending it
This commit moves the subscription of a given payment before it's been
sent so we won't miss any events.
2023-05-23 21:26:09 +08:00
Oliver Gugger
b95faaba45
Merge pull request #7720 from ellemouton/updateReleaseNotes
docs: move entry for 7705 to 0.16.3
2023-05-23 09:07:40 +02:00
Elle Mouton
dbc83f4e9e
docs: move entry for 7705 to 0.16.3 2023-05-23 06:55:36 +02:00
Oliver Gugger
8c58730c34
Merge pull request #7693 from gcaracuel/lncli_env_global_flags
lncli: Global flags to accept ENV vars overrides
2023-05-22 22:15:57 +02:00
gcaracuel
12e7c24520
lncli: Global flags to accept ENV vars overrides. 2023-05-22 17:13:18 +02:00
Oliver Gugger
a043cca77a
Merge pull request #7712 from ErikEk/neutrinorpc-deprecate-getblockhash
Neutrinorpc: deprecate getblockhash
2023-05-22 12:16:04 +02:00
erik
eff055e464 docs: release notes 2023-05-22 16:26:18 +07:00
erik
9ce02b96fe neutrinorpc: deprecate getblockhash 2023-05-22 16:26:10 +07:00
Oliver Gugger
3d53d6909a
Merge pull request #7681 from yyforyongyu/btcwallet-mempool
mod: update btcwallet's version
2023-05-22 10:24:17 +02:00
Oliver Gugger
d5f5565e50
Merge pull request #7494 from morehouse/fuzz_ci
github: run fuzz tests with unit tests
2023-05-22 10:14:44 +02:00
Matt Morehouse
59bd7b0538
docs: release note for #7494 2023-05-19 15:51:19 -05:00
Matt Morehouse
acace4d330
github: run fuzz tests with unit tests
We download and extract the fuzzing seed corpora into the LND tree so
that "make unit" automatically runs the fuzz tests on the seeds.
2023-05-19 15:48:11 -05:00
yyforyongyu
403b937dca
docs: add release notes 0.16.3 2023-05-20 00:33:56 +08:00
yyforyongyu
0b64ba94c0
itest: cleanup channels for testSwitchOfflineDeliveryOutgoingOffline 2023-05-20 00:33:56 +08:00
yyforyongyu
931481c4fe
itest: make sure edges are updated in mpp tests 2023-05-20 00:33:56 +08:00
yyforyongyu
c6cfc425a0
lntest+itest: clean mempool in testHtlcTimeoutResolverExtractPreimageRemote 2023-05-20 00:33:04 +08:00
Oliver Gugger
ac3e7be9a0
Merge pull request #7668 from shaurya947/open-channel-memo
multi: accept memo note when opening channel
2023-05-19 16:13:13 +02:00
Oliver Gugger
0a2d6b61aa
Merge pull request #7707 from ellemouton/wtclientFixes
watchtower: miscellaneous fixes
2023-05-19 12:22:04 +02:00
yyforyongyu
7f4bf7ce2b
mod: update btcwallet's version 2023-05-19 16:36:21 +08:00
shaurya947
be820919f0
docs: update release notes for 0.17.0 2023-05-18 13:02:30 -04:00
shaurya947
84fff6e0a7
itest: update channel creation itest with Memo field logic
We test both the happy path (valid memo is returned when querying),
as well as the unhappy path (invalid memo rejects the open action).
To accomplish this, we update the OpenChannelParams struct inside
the harness to accept the Memo.
2023-05-18 13:02:30 -04:00
shaurya947
c8e4d8e69b
rpcserver: attach channel Memo to *lnrpc.Channel struct
This allows us the memo to be returned in responses such as
listchannels.
2023-05-18 13:02:30 -04:00
shaurya947
396a4cb6c4
channeldb: persist channel Memo field and read it when fetching
We add a Memo field to the OpenChannel DB struct. We also persist
it using a tlv record. We then pass the Memo value from the
InitFundingReserveMsg when creating a new reservation for the channel.
Finally, we also read Memo field when fetching channel from DB.
2023-05-18 13:02:30 -04:00
shaurya947
db44924c5a
lnwallet: add Memo to InitFundingReserveMsg
We also pass the value of Memo from funding/manager.go.
2023-05-18 13:02:30 -04:00
shaurya947
7c6faa4c98
funding: add Memo to InitFundingMsg struct
We add byte-array field called Memo to the InitFundingMsg struct.
We also provide a value for this from
rpcserver.go#parseOpenChannelReq().
2023-05-18 13:02:30 -04:00
shaurya947
1724409647
rpcserver: enforce memo length is less than 500 characters
In this commit we ensure that the string length of the memo field
specified as part of the OpenChannelRequest is no longer than 500.
2023-05-18 13:02:24 -04:00
shaurya947
373e445cdc
lncli: add optional memo flag to openchannel cmd
This commit simply adds a new memo flag to the openchannel command.
Memo could be any note-to-self kind of useful information to go
along with the channel. The value isn't used yet, will be in the
next commit.
2023-05-18 12:51:18 -04:00
shaurya947
9feb3dd920
lnrpc: add memo field to OpenChannelRequest and ListChannelsResponse
This commit adds the memo field to the protobuf message and generates
the new go files.
2023-05-18 12:50:19 -04:00
Elle Mouton
8abe2f89e1
watchtower: use a stable blob identifier
In this commit, we add an Identifier method to the blob.Type struct
which returns a unique identifier for a given blob type. This identifier
is then used for initialising the disk overflow queue of the given
client.
2023-05-18 15:17:22 +02:00
Elle Mouton
db145bfd8e
wtclient: check un-checked errors
Some errors are not checked during startup and shutdown of the tower
client. These are checked now.
2023-05-18 15:13:24 +02:00
Matt Morehouse
c50d7048d6
docs: release note for #7177 2023-05-17 11:31:21 -05:00
Matt Morehouse
a8a50f32f5
funding: fix channel type negotiation bug
The bug manifests when a nil ChannelType is passed to the funding
manager in InitFundingMsg. A default value for ChannelType is selected
and sent in the OpenChannel message. However, a nil ChannelType is
stored in the reservation context. This causes our ChannelType checks in
handleFundingAccept to be bypassed.

Usually this makes us end up in the "peer unexpectedly sent explicit
ChannelType" case, where we can still recover by reselecting a default
ChannelType and verifying it matches the one the peer sent. But if the
peer sends a nil ChannelType, we miss it.

While fixing the bug, I also tried to simplify the negotiation logic, as
the complexity is likely what hid the bug in the first place.

Now negotiateCommitmentType only returns the ChannelType to be used in
OpenChannel/AcceptChannel and the CommitmentType to pass to the wallet.
It will even return a nil ChannelType when we're supposed to use implicit
negotiation, so we don't need to manually set it to nil for OpenChannel
and AcceptChannel.
2023-05-17 11:28:40 -05:00
Matt Morehouse
0ae9c63d64
funding: make expectsChanType a pointer
This allows us to expect chanType to be nil, which will be possible
after the next commit.
2023-05-17 11:27:41 -05:00
Matt Morehouse
34186dee19
funding: remove incorrect and repetitive comments
We don't actually do the logging described in the first comment, and the
second comment block repeats much of the first comment block.
2023-05-17 11:27:41 -05:00
Matt Morehouse
e59cd7f91d
funding: stop naming commit types chanType
negotiateCommitmentType returns both a chanType and a commitType, so it
is really confusing when the commitType is called chanType instead.
2023-05-17 11:27:41 -05:00
Matt Morehouse
ec85b5be72
funding: rename channelType parameter
This prevents us from confusing the channelType parameter with the
chanType local.
2023-05-17 11:27:41 -05:00
Oliver Gugger
2fd40d16f1
Merge pull request #7705 from ellemouton/macStoreRootKeyReEncyption
macaroons: ensure all root keys are re-encrypted or regenerated
2023-05-17 16:30:48 +02:00
Elle Mouton
0787cb1178
docs: add release note for 7705 2023-05-17 14:44:17 +02:00
Elle Mouton
f9d99153e0
macaroons: let ChangePassword re-encrypt all root keys
The ChangePasswords method should re-encrypt all the root keys found
in the store, not just the default root key.
2023-05-17 14:44:15 +02:00