Commit graph

12098 commits

Author SHA1 Message Date
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
Olaoluwa Osuntokun
d263a01a2d
Merge pull request #5669 from Roasbeef/explicit-chan-type
lnwire+funding: introduce new protocol extension for explicit commitment type negotiation
2021-08-31 19:28:59 -07:00
Olaoluwa Osuntokun
26169e8e16
Merge pull request #5627 from Zero-1729/patch-3
trivial: minor grammar and typo fix [skip ci]
2021-08-30 19:23:43 -07:00
Wilmer Paulino
61a0112765
docs: add explicit channel negotiation text to release notes 2021-08-30 19:17:51 -07:00
Wilmer Paulino
3299af7919
lncli: add channel type flag to openchannel command 2021-08-30 19:17:45 -07:00
Wilmer Paulino
523eef5cf4
lntest: use explicit channel commitment negotiation for multi-hop itests 2021-08-30 19:17:42 -07:00
Wilmer Paulino
449f207217
lntest: replace commitType type with rpc alternative 2021-08-30 19:17:39 -07:00
Olaoluwa Osuntokun
ad758d8499
funding: use explicit commitment type negotiation when possible
In this commit, we modify the existing logic that defaults to implicit
commitment type negotiation to support explicit negotiation if the new
feature bit is set. This change allows us to ditch the notion of a
"default" commitment type, as we'll now use feature bits to signal our
understanding of a commiment type, but allow peers to select which
commitment type they actually wish to use.

In addition, this explicit negotiation removes the need for using the
required bit of any commitment types. Instead, if an implementation
wishes to no longer support a commitment type, they should simply stop
advertising the optional bit.
2021-08-30 19:17:37 -07:00
Wilmer Paulino
e7885f2bde
funding: add explicit commitment type negotiation support
This commit adds the ability for a channel initiator/responder to
determine whether the channel to be opened can use a specific commitment
type through explicit negotiation. It also includes the existing
implicit negotiation logic to fall back on if explicit negotiation is
not supported.
2021-08-30 19:17:34 -07:00
Wilmer Paulino
031d7b1d55
lnwire: extend RawFeatureVector with helper methods 2021-08-30 19:17:31 -07:00
Olaoluwa Osuntokun
5a9f499dd5
rpc: add new commitment_type field to OpenChannelRequest
This field will be examined later down the stack along with the set of
feature bits to determine if explicit channel commitment type
negotiation is possible or not.
2021-08-30 19:17:28 -07:00
Olaoluwa Osuntokun
d0779e2ec2
lnwire: add new feature bits for explicit channel type negotiation
If these bits are present, then both sides can examine the new
CommitmentType TLV field that's present and use this in place of the
existing implicit commiment type negotiation. With this change, it's now
possible to actually deprecate old unsupported commitment types
properly.
2021-08-30 19:17:24 -07:00
Olaoluwa Osuntokun
57b7a668c0
lnwire: add new ChannelType field as TLV record to Open/AcceptChannel
In this commit, we add a new ChannelType field as a new TLV record to
the OpenChannel message. During this change, we make a few tweaks to the
generic TLV encode/decode methods for the ExtraOpaqueData struct to have
it work on the level of tlv.RecordProducer instead of tlv.Record, as
this reduces line noise a bit.

We also partially undo existing logic that would attempt to "prepend"
any new TLV records to the end of the ExtraOpaqueData if one was already
present within the struct. This is based on the assumption that if we've
read a message from disk to order to re-send/transmit it, then the
ExtraOpaqueData is fully populated so we'll write that as is. Otherwise,
a message is being encoded for the first time, and we expect all fields
that are known TLV fields to be specified within the struct itself.

This change required the unit tests to be modified slightly, as we'll
always encode a fresh set of TLV records if none was already specified
within the struct.
2021-08-30 19:17:21 -07:00
Olaoluwa Osuntokun
988d01de0d
lnwire: introduce new explicit ChannelType TLV record
In this commit, we add a new TLV record that's intended to be used as an
explicit channel commitment type for a new form of funding negotiation,
and later on a dynamic commitment upgrade protocol. As defined, we have
3 channel types: base (the OG), tweakless, and anchors w/ zero fee
HTLCs. We omit the original variant of anchors as it was never truly
deployed from the PoV of lnd.
2021-08-30 19:17:19 -07:00
Olaoluwa Osuntokun
3b026c401c
chainntnfs/neutrinonotify: fix rebase Conflict compilation issue 2021-08-30 19:16:33 -07:00
Olaoluwa Osuntokun
844874252f
Merge pull request #5676 from ErikEk/chainnotifier-remove-error-log
chainnotifier: remove error logs
2021-08-30 18:35:12 -07:00
Olaoluwa Osuntokun
480a111c54
Merge pull request #5453 from Crypt-iQ/neutrino_conf_0629
chainntnfs: neutrinonotify patches
2021-08-30 16:04:57 -07:00
Olaoluwa Osuntokun
b9231ced2b
Merge pull request #5622 from Roasbeef/wire-serdes-optimization
peer+brontide: when decrypting re-use the allocated ciphertext buf & ensure buf pool buf doesn't escape
2021-08-30 11:45:57 -07:00
Olaoluwa Osuntokun
8339b285e7
docs/release-notes: add new brontide optimization to 0.14 notes 2021-08-27 16:57:21 -07:00