Commit Graph
14867 Commits
Author SHA1 Message Date
Oliver Gugger bbbf7d33fb Merge pull request #7722 from yyforyongyu/fix-payment-stream
routing+lnrpc: subscribe payment stream before sending it
2023-05-24 16:51:16 +02:00
Olaoluwa Osuntokun b9b20acd41 Merge pull request #7711 from Roasbeef/commit-dance-stall-disconnect
htlcswitch+peer: actually actually disconnect if we detect a stalled remote channel state machine
2023-05-23 14:17:07 -07:00
Olaoluwa Osuntokun 4d633f04e3 htlcswitch: add new LinkFailureDisconnect action
In this commit, we add a new LinkFailureDisconnect action that'll be
used if we detect that the remote party hasn't sent a revoke and ack
when it actually should.

Before this commit, we would log our action, tear down the link, but
then not actually force a connection recycle, as we assumed that if the
TCP connection was actually stale, then the read/write timeout would
expire.

In practice this doesn't always seem to be the case, so we make a strong
action here to actually force a disconnection in hopes that either side
will reconnect and keep the good times rollin' 🕺.
2023-05-23 12:25:11 -07:00
Olaoluwa Osuntokun cb5fc71659 htlcswitch: add new LinkFailureAction enum
In this commit, we add a new LinkFailureAction enum to take over the old
force close bool. Force closing isn't the only thing we might want to do
when we decide to fail the link, so this is a prep refactoring for an
upcoming change.
2023-05-23 12:24:55 -07:00
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
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
Elle Mouton 5ffe5552db macaroons: demo ChangePassword bug
This commits uses TestStoreChangePassword to demonstrate that currently
the ChangePassword function only changes the password of the default
root key and not that of other root keys. This will be fixed in an
upcoming commit.
2023-05-17 14:42:29 +02:00
Elle Mouton d43ef314d3 macaroons: Let GenerateNewRootKey be applied to all root keys
With this commit, GenerateNewRootKey will regenerate the Default root
key and will then also check if any other root keys exist and regenerate
those as well.
2023-05-17 14:06:32 +02:00