Commit Graph

12166 Commits

Author SHA1 Message Date
Turtle
147c7dc94c
router: fix 'out of order block error' by retrieving missing blocks in router
Fixes an issue where an out of order block error occurs in the router. When this occurs, the change uses the chain notifier to catch up on missed blocks and uses those blocks to fully update the routing graph with closed channels. Fixes #4710, #5132
2021-09-13 21:15:49 -04:00
yyforyongyu
63bb77082e
docs: update release notes for 0.14 2021-09-14 07:34:38 +08:00
yyforyongyu
c4913e6f4a
itest: require server being started when creating node
We now require the lnd to be fully started when creating a new node
using newNode.
2021-09-14 07:34:10 +08:00
yyforyongyu
286ca35bf4
rpcserver: check server is started in ExportAllChannelBackups 2021-09-14 07:34:10 +08:00
yyforyongyu
f5bac969e3
rpcperms+rpc: add ServerActive state and set it when server started 2021-09-14 07:34:09 +08:00
yyforyongyu
acdcf322b1
lnd: require blocks to be synced in regtest/simnet 2021-09-14 07:34:09 +08:00
Olaoluwa Osuntokun
b0f3a08f2d
Merge pull request #5465 from Crypt-iQ/spend_height_0702
chainntnfs: populate spendsByHeight during historical dispatch
2021-09-13 11:58:49 -07:00
eugene
868958d2bc
docs: update release notes for 0.14 2021-09-13 13:29:51 -04:00
eugene
aeaa009e92
peer+chancloser: tryLinkShutdown during cooperative close process
Adds a new Brontide struct method tryLinkShutdown that attempts to
fetch the target link and calls ShutdownIfChannelClean on it. This
allows the coop close process to guarantee atomicity of the underlying
channel state. Also removes the UnregisterChannel method from the
chancloser's config as the link is shut down before the chancloser
is created.
2021-09-13 13:29:51 -04:00
eugene
608d11dcbc
peer: add mockUpdateHandler for use in mockMessageSwitch 2021-09-13 13:29:50 -04:00
eugene
b2e90480ed
htlcswitch: extend ChannelLink interface with ShutdownIfChannelClean
This allows a caller to ensure to optimistically shut down the link
if the channel is clean. If the channel is not clean, an error is
returned and the link continues functioning as normal. The caller
should also call RemoveLink to ensure that the link isn't seen as
usable within the switch.
2021-09-13 13:29:50 -04:00
eugene
7621d7f902
lnwallet: add IsChannelClean method and related tests
Adds a method to the LightningChannel struct called IsChannelClean
that returns a boolean telling the caller whether the channel state
is clean or not. Clean in this case means there are no lingering
updates to be signed for, no HTLC's active on either sides commitment
transaction, and no pending commitments on either side. This can be
used for dynamic commitments or during a strict cooperative close
process that ensures atomicity of the channel.
2021-09-13 13:29:43 -04:00
Oliver Gugger
777abe5ff0
Merge pull request #5716 from guggero/fix-unit-tests
cluster: fix kvdb unit test
2021-09-13 15:59:31 +02:00
Oliver Gugger
55b3802387
cluster: fix kvdb unit test
It looks like #5702 was merged prematurely and broke the kvdb unit
tests.
2021-09-13 14:57:42 +02:00
Oliver Gugger
45343e4454
Merge pull request #5660 from LN-Zap/upstream/feat/delete-payment
add DeletePayment that allows to delete a specific payment or its failed HTLCs
2021-09-13 14:56:51 +02:00
Bjarne Magnussen
91c3fb59ec
docs: release notes for 0.14 2021-09-13 12:50:40 +02:00
Bjarne Magnussen
7f53656753
lnd: add DeletePayment to the RPC
The RPC DeletePayment allows deleteing  single payment from its ID. When calling with `FailedHtlcsOnly` set in the request only failed HTLCs of this payment will be deleted.
2021-09-13 12:50:40 +02:00
Bjarne Magnussen
a5641c5351
channeldb: add ability to delete a single payment from its ID
Adds `DeletePayment` to the channeldb, which allows to delete a single payment. If only failed HTLCs for this payment should be deleted it can be specified by the bool `failedHtlcsOnly`.
2021-09-13 12:50:40 +02:00
Bjarne Magnussen
d5a87f8b5b
channeldb: refactor fetching failed HTLC IDs inside DeletePayments 2021-09-13 12:16:17 +02:00
Oliver Gugger
25a53f04f7
Merge pull request #5702 from bhandras/itest_etcd_logs
itest: save etcd logs along node logs in separate files
2021-09-13 11:50:35 +02:00
Olaoluwa Osuntokun
27b416935e
Merge pull request #5695 from ErikEk/lncli-remove-error-log
lncli: remove error logs
2021-09-10 16:50:34 -07:00
Andras Banki-Horvath
400cc0eb96
docs: update release-notes-0.14.0.md 2021-09-10 14:40:58 +02:00
Andras Banki-Horvath
9bf04f9870
itest+etcd: save etcd logs along the node logs 2021-09-10 14:40:57 +02:00
Andras Banki-Horvath
6c2d8bb176
etcd: enable optional log file for embedded etcd log output
In this commit we add an extra config for enabling logging to an
external file when using embedded etcd. This can be useful when running
integration tests to see more details about etcd related issues.
2021-09-10 14:40:54 +02:00
Oliver Gugger
cc939cfa5d
Merge pull request #5706 from Liongrass/patch-1
trivial: link from readme to builder's guide [skip ci]
2021-09-10 10:23:44 +02:00
Leonhard Weese
368fa02543
trivial: link from readme to builder's guide
This PR changes a link in the section Developer Resources from dev.lightning.community (unmaintained) to docs.lightning.engineering.
It also specifies more clearly what readers can expect to find there.
2021-09-10 05:42:26 +08:00
Oliver Gugger
4337116bce
Merge pull request #5697 from arshbot/export-selectHopHints
invoicesrpc: expose selectHopHints
2021-09-08 10:27:36 +02:00
Olaoluwa Osuntokun
75f5b407ea
Merge pull request #5635 from bhandras/flatten-htlc-bucket
channeldb: flatten the htlc attempts bucket
2021-09-07 20:10:12 -07:00
Harsha Goli
8720b8f657
docs: update release-notes-0.14.0.md 2021-09-07 14:45:35 -07:00
Andras Banki-Horvath
f2cc783043
docs: update release-notes-0.14.0.md 2021-09-07 10:46:50 +02:00
Andras Banki-Horvath
204966db40
channeldb: migration to flatten the htlc attempts bucket 2021-09-07 10:46:49 +02:00
Andras Banki-Horvath
63d7f5fca7
channeldb: flatten the payment-htlcs-bucket 2021-09-07 10:46:46 +02:00
Oliver Gugger
d50ee834e1
Merge pull request #5688 from bhandras/recovery_itest_flake
itest: fix on-chain recovery flake caused by short timeout/btcd on ARM
2021-09-07 10:44:43 +02:00
Harsha Goli
e4891a98fd
invoicesrpc: expose selectHopHints
selectHopHints is the function which constructs hophints otherwise found
in an invoice created with the private flag.

In this commit, we expose that functionality a little more to workaround
needing to create an invoice to retrieve routing hints. Of course, this
is not a perfect solution as the functionality is exposed exclusively to
go users.
2021-09-06 15:39:53 -07:00
Andras Banki-Horvath
b1288ae233
docs: update release-notes-0.14.0.md 2021-09-06 21:46:23 +02:00
Andras Banki-Horvath
b07bcde482
ci: switch Travis ARM integration test to use bitcoind 2021-09-06 21:46:20 +02:00
ErikEk
195e57025b lncli: remove error logs 2021-09-06 19:12:43 +02:00
Oliver Gugger
f901d450a5
Merge pull request #5692 from guggero/migration-guide-arm
docs: update safety warning in migration guide [skip ci]
2021-09-06 11:57:26 +02:00
Oliver Gugger
8d7f5314a8
docs: update safety warning in migration guide [skip ci]
Fixes #5691.
With this commit we update the safety guidelines for migrating lnd data
between 32bit ARM and 64bit ARM devices.
2021-09-06 11:00:36 +02:00
Oliver Gugger
e76c4c0e9b
Merge pull request #5356 from guggero/batch-channel-open
Atomic batch channel funding
2021-09-03 19:56:56 +02:00
Oliver Gugger
180fba056f
docs: add BatchOpenChannel to PSBT doc and release notes 2021-09-03 18:39:45 +02:00
Oliver Gugger
7a9ee48cf1
itest: add batch funding test 2021-09-03 18:39:45 +02:00
Oliver Gugger
bb079f746b
lncli: add batchopenchannel command 2021-09-03 18:39:44 +02:00
Andras Banki-Horvath
c5c956bbef
lnrpc: add BatchOpenChannel RPC 2021-09-02 12:13:47 +02:00
Oliver Gugger
37d0d651c4
rpcserver: extract abandonChan method
We'll want to re-use the abandon channel functionality for the batch
funding, as a cleanup in case the funding is aborted before publishing
any transaction.
2021-09-02 12:13:46 +02:00
Oliver Gugger
ae2e9541a4
walletrpc: export wallet kit sub server name
We'll want to re-use the PSBT funding functionality from the wallet kit
sub server in the main RPC server. To be able to dynamically obtain an
instance of the wallet kit server we need to know its name under which
it registers itself in the list of sub server. We export the name so we
don't have to hard code it in the main server.
2021-09-02 12:13:46 +02:00
Oliver Gugger
84035f1fb2
funding: add batch funding function 2021-09-02 12:13:42 +02:00
Oliver Gugger
7c41d4b349
lnrpc: add batch channel open RPC types 2021-09-02 12:11:10 +02:00
eugene
74693ed491
docs: update release notes for 0.14.0 2021-09-01 16:49:28 -04:00
eugene
2fbee31c6e
chainntnfs: populate spendsByHeight during historical dispatch
This commit fixes a buggy scenario where:
- a spend of the desired outpoint occurs
- RegisterSpend is called, not immediately notifying
- caller performs a historical dispatch, calling UpdateSpendDetails
- caller is notified on the Spend channel
- re-org occurs
- caller is not notified of the re-org
We fix this by correctly populating the spendsByHeight map when
dispatchSpendDetails is called. This mirrors the confirmation case.
2021-09-01 16:45:13 -04:00