Commit Graph

13479 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
cdb15e77d5
lnrpc/chainrpc: include the block in the conf ntfn if specified 2022-08-01 19:59:28 -07:00
Olaoluwa Osuntokun
08f1c2e93a
chainntfns: add new option for conf notifications to send block
In this commit, we add a new option for the existing confirmation
notification system that optionally allows the caller to specify that a
block should be included as well.

The only quirk w/ the implementation here is the neutrino backend:
usually we get filtered blocks, we so need to first fetch the block
again so we can deliver the full block to the notifier. On the notifier
end, it'll only be checking for the transactions we care about, to
sending a full block doesn't affect the correctness.

We also extend the `testBatchConfirmationNotification` test to assert
that a block is only included if the caller specifies it.
2022-08-01 19:59:21 -07:00
Olaoluwa Osuntokun
046aa7fe4a
docs/release-notes: add entry for 0.15.1 2022-07-26 17:23:21 -07:00
Olaoluwa Osuntokun
1e556aa189
multi: thread through the new max fee field for co-op close
In this commit, we parse the new max fee field, and pass it through the
switch, all the way to the peer where it's ultimately passed into the
chan closer state machine.
2022-07-26 17:23:16 -07:00
Olaoluwa Osuntokun
c791b18cc0
lnrpc: add a new max_fee field to the CloseChannel RPC call
In this commit, we add a new max_fee field that we'll use to decide when
to bail out of a co-op close dance as the initiator.
2022-07-26 17:23:13 -07:00
Olaoluwa Osuntokun
9eb1e8721a
lnwallet/chancloser: add tests for the new max fee behavior 2022-07-26 17:23:11 -07:00
Olaoluwa Osuntokun
106912b015
lnwallet/chancloser: remove raw state machine pointer, add channel interface
In this commit, we remove the raw channel state machine pointer from the
chan closer and instead replace that with an interface that captures
*just* the methods we need in order to do the co-op close dance.

This is a preparatory refactoring for some upcoming unit tests.
2022-07-26 17:23:08 -07:00
Olaoluwa Osuntokun
4a997bfdd2
lnwallet: add new AbsoluteThawHeight method
This lets callers get the thaw height without needing to first obtain a
snapshot of the channel state.
2022-07-26 17:23:05 -07:00
Olaoluwa Osuntokun
c140da8f49 lnwallet/chancloser: remove the commit fee clamp, introduce max fee
In this commit, we stop clamping the ideal fee rate to the commitment
fee of the channel. This catches us up to this PR of the spec:
https://github.com/lightning/bolts/pull/847.

We also do away with the old 3x ideal fee "max fee", and replace that
with an explicit max fee. This new max fee will either be the default
multiplier of the ideal fee, or a new user specified max fee value.
2022-07-26 17:20:23 -07:00
Olaoluwa Osuntokun
fec8fd9c63
Merge pull request #6754 from ellemouton/ensureRpcRegistrationOrder
multi: synchronous rpc middleware registration
2022-07-26 19:05:30 -05:00
Oliver Gugger
87f4f03fca
Merge pull request #6763 from theborakompanioni/patch-2
fix: go version in ARMv6 section of INSTALL.md
2022-07-25 19:22:38 +02:00
Thebora Kompanioni
a4ae57f9e9
fix: go version in ARMv6 section of INSTALL.md 2022-07-23 17:55:06 +02:00
Oliver Gugger
2d093ac183
Merge pull request #6741 from morehouse/fix_sign_psbt
itest: fix sign_psbt failure
2022-07-22 15:27:12 +02:00
Elle Mouton
25acb51ba3
multi: registration complete MW interceptor msg
In this commit, we change the flow of the rpc middleware registration
a bit. In order to allow a client to add rpc middleware interceptors in
a deterministic order, we now make the server send a "registration
complete" message to the client after compeleting the registration
process so that the client knows when it can go ahead and register the
next client.
2022-07-20 14:58:47 -05:00
Matt Morehouse
f3c0dd1d05
doc: update release notes 2022-07-20 10:15:40 -05:00
Matt Morehouse
7a05f07634
itest: fix sign_psbt failure
Ensure the wallet has synced the blockchain before attempting to spend
funds.

Prior to this fix, I get the following error:
  rpc error: code = Unknown desc = wallet couldn't fund PSBT: error
      creating funding TX: insufficient funds available to construct
      transaction
2022-07-19 12:41:34 -05:00
Olaoluwa Osuntokun
d9f4b36cb9
Merge pull request #6742 from Symphonic3/master
Fix typo in lncli abandonchannel description
2022-07-19 09:45:11 -07:00
Oliver Gugger
0ac421907a
Merge pull request #6739 from ellemouton/indexOutOfRange
rpcperms: re-init mw lookup map after removal of one
2022-07-19 16:59:45 +02:00
Symphonic3
40790e1f6a
Fix typo in abandonchannel description
i_know_what_im_doing --> i_know_what_i_am_doing
2022-07-15 19:31:08 -06:00
Oliver Gugger
f7b7442680
Merge pull request #6545 from yyforyongyu/5746-sendtoroute
routing: enable skipping failing payments upon temporary error
2022-07-15 14:34:56 +02:00
Elle Mouton
cc2fbd18b1
rpcperms: re-init mw lookup map after removal of one
After removing a registered middlware from the slice, we need to update
the index lookup map with the updated index for each middleware.
2022-07-15 14:25:54 +02:00
yyforyongyu
edf647222c
docs: add release note for skip_temp_err 2022-07-15 19:03:38 +08:00
yyforyongyu
07e9adfd8c
routerrpc+cmd: use skip_temp_err when sending to route 2022-07-15 19:03:12 +08:00
yyforyongyu
46ca28fe22
routerrpc: add new field skip_temp_err in SendToRouteRequest 2022-07-15 19:03:12 +08:00
yyforyongyu
39ac4ca92c
routing: fix unit test for SendToRoute
This commit removes the old multi shards test for `SendToRoute` as the
method doesn't support sending MPP. The original test passed due to a
flawed mocking method, where the mockers bypassed the public interfaces
to maintain their internal state, which caused a non-exsiting situation
that a temp error wouldn't fail the payment. A new unit test is added to
demonstrate the actual case.
2022-07-15 19:03:12 +08:00
yyforyongyu
d9915723dd
routing: add unit test for SendToRouteSkipTempErr 2022-07-15 19:03:12 +08:00
yyforyongyu
e99c63c804
routing: add SendToRouteSkipTempErr to skip temp error failure
This commit adds a new method `SendToRouteSkipTempErr` that skips
failing the payment unless a terminal error occurred. This is
accomplished by demoting the original `SendToRoute` to a private method
and creating two new methods on top of it to minimize code change.
2022-07-15 19:03:12 +08:00
Carsten Otto
c6fffeb1c2
router: fix typos 2022-07-15 19:03:12 +08:00
Oliver Gugger
e6b25309bd
Merge pull request #6731 from guggero/linter-upgrade
tools: upgrade linter version to v1.46.2
2022-07-15 11:25:25 +02:00
Oliver Gugger
af97b8f877
Merge pull request #6722 from guggero/sign-schnorr-tweaked
signrpc: add Schnorr signatures to sign and verify message
2022-07-14 14:51:47 +02:00
Oliver Gugger
1e02d8910f
Merge pull request #6718 from hieblmi/chan-point-for-updatechanstatus
lncli: chan_point option for abandonchannel
2022-07-14 10:32:40 +02:00
ErikEk
98abaf266c
doc: release notes 2022-07-14 10:29:29 +02:00
ErikEk
14453ea7db
itest: cover sign and verify msg 2022-07-14 10:29:29 +02:00
ErikEk
b5af0ce327
signrpc: add schnorr sig to sign and validate msg 2022-07-14 10:29:29 +02:00
Oliver Gugger
9d568cc119
Merge pull request #6630 from guggero/rpc-middleware-replace-request
RPC middleware: allow replacing request messages and response errors too
2022-07-14 10:24:19 +02:00
Oliver Gugger
f649c6fd47
docs: update release notes 2022-07-14 09:36:50 +02:00
Oliver Gugger
9774db614b
itest: add integration test for error interception 2022-07-14 09:36:50 +02:00
Oliver Gugger
e1efb39177
itest: add integration test for request replacement 2022-07-14 09:36:50 +02:00
Oliver Gugger
b1d8767a0c
rpcperms: intercept errors too 2022-07-14 09:36:50 +02:00
Oliver Gugger
502542da60
lnrpc: add is_error to intercept message 2022-07-14 09:36:48 +02:00
Oliver Gugger
d604055ccc
lnrpc: describe request replacement in API docs
This commit updates the comments in the proto file to mention the new
behavior of also being able to replace request messages.
2022-07-14 09:36:36 +02:00
Oliver Gugger
86c64abfe6
rpcperms: allow requests to be replaced as well
With this commit we allow a replacement message to be sent by the
middleware for a request type as well as the response type. This allows
an incoming RPC request to be modified before it is forwarded to lnd.
2022-07-14 09:36:36 +02:00
Oliver Gugger
dc32ca61f8
rpcperms: add replaceProtoMsg
Because of the way the gRPC Receive() method is designed, we need a way
to replace a proto message with the content of another one without
replacing the original instance itself (e.g. overwrite all values in the
existing struct instance).
2022-07-14 09:36:36 +02:00
Oliver Gugger
66258ee7b5
lnrpc: enable RPC middleware in REST WebSockets
If we don't flag the /v1/middleware call as request streaming, it can't
be used properly with REST WebSockets because the proxy would close the
connection after the first request message.
2022-07-14 09:36:36 +02:00
Oliver Gugger
b0d85c41a5
docs: add release notes 2022-07-14 09:33:50 +02:00
Oliver Gugger
850330a34e
multi: fix linter issues
Fix some issues found by the new nonamedreturn rule and rename some
nolint comment to the new rule name.
2022-07-14 09:30:53 +02:00
Oliver Gugger
da75619245
golangci: disable new exhauststruct rule
A new linter rule was added in the latest version that wants all fields
in a struct to be declared, even if the default value is used. Because
that would mean a large diff for us, we disable the rule for now.
2022-07-14 09:29:34 +02:00
Oliver Gugger
7d7ab4da3a
tools: upgrade linter to latest version 2022-07-14 09:29:16 +02:00
Olaoluwa Osuntokun
af47943f52
Merge pull request #6714 from guggero/remote-signer-fix
lnwallet: don't create BIP044 key scope by default
2022-07-13 17:17:56 -07:00
Slyghtning
2f5192012e lncli: chan_point option for abandonchannel [skip ci] 2022-07-13 10:20:55 -04:00