Commit Graph

13348 Commits

Author SHA1 Message Date
Oliver Gugger
e4aa32fdf7
btcwallet: prepare for supporting new signing methods 2022-05-11 10:07:49 +02:00
Oliver Gugger
0e098ed9da
mod: update to btcd/btcutil/psbt v1.1.4 2022-05-11 10:07:49 +02:00
Olaoluwa Osuntokun
630fc36dcf
multi: introduce and use new TapTweak and SignMethod fields
In this commit, we add a new field `TapTweak` to be used for key path
spends. Before this commit, we'd overload the existing `WitnessScript`
field to pass this information to the signing context. This was
confusing as for tapscript spends, this was the leaf script, which
mirrors the other script based spending types.

With this new filed, users need to set this to the script root for
keypath spends where the output key commits to a real merkle root, and
nothing when bip 86 spending is being used.

To make the signing even more explicit, we also add a new field called
sign_method with an enum type that differentiates between the different
segwit v0 and v1 signing methods.

Fixes https://github.com/lightningnetwork/lnd/issues/6446.
2022-05-11 10:07:49 +02:00
Oliver Gugger
99cda74f6a
input: define new signing method constants 2022-05-11 10:07:48 +02:00
Oliver Gugger
5395a0fe6b
rpcwallet: attempt to locate UTXO information in prev output fetcher
Since we might now be given a whole list of UTXOs in the PrevOutputs
field of the SignOutputRaw RPC, the previous output fetcher might
contain the information we require for the remote signing case. So
instead of failing if our wallet doesn't know each input that's being
spent, we fall back to the UTXO information contained in the previous
outputs.
2022-05-11 10:07:48 +02:00
Oliver Gugger
0051e39078
Merge pull request #6345 from ellemouton/bitcoind-rpc-polling
multi: bitcoind rpc polling option
2022-05-11 10:04:37 +02:00
Elle Mouton
a4bd3892d2
docs: update release notes 2022-05-11 09:02:13 +02:00
Elle Mouton
e789107e1f
multi: new bitcoind rpcpolling backend for itests 2022-05-11 09:02:13 +02:00
Orbital
7509af1a70
multi: add rpcpolling config options 2022-05-11 09:02:13 +02:00
Elle Mouton
0459ccf542
chainntnfs: test both zmq and rpc bitcoind modes 2022-05-11 09:02:13 +02:00
Elle Mouton
f766268e8c
lnwallet/test: test against bitcoind-rpc-polling backend 2022-05-11 09:02:13 +02:00
Elle Mouton
33e1f9bfa4
routing/chainview: add bitcoind rpc polling test
Add a new chainview interface test that runds the chainview tests
against a bitcoind node that we are getting block and tx notifications
from using the rpc interface.
2022-05-11 09:02:13 +02:00
Elle Mouton
c76d04ef91
multi: make ZmqReadDeadline configurable
Make the Bitcoind ZMQReadDeadline option configurable.
2022-05-11 08:45:07 +02:00
Elle Mouton
5a08788a05
multi: update btcwallet to v0.15.0
Update go.mod to point to latest btcwallet version.
2022-05-11 08:45:06 +02:00
Olaoluwa Osuntokun
5e4d349ea6
cmd/lncli: make hop hint inclusion opt-in for addinvoice
Fixes #6484.
2022-05-10 17:56:57 -07:00
Oliver Gugger
ddeccf8fcc
Merge pull request #6521 from guggero/p2tr-open-channel
chanfunding: properly support p2tr inputs in funding TX
2022-05-10 21:33:15 +02:00
Oliver Gugger
066fe07de5
docs: add release notes 2022-05-10 20:35:28 +02:00
Oliver Gugger
4fd43b4afe
itest: add new funding test with all input types 2022-05-10 20:35:28 +02:00
Oliver Gugger
fd7fe2ae5a
itest: use SendCoinsUnconfirmed in funding test 2022-05-10 18:39:45 +02:00
Oliver Gugger
e27a9fec66
lntest: rename sendCoins to SendCoinsOfType 2022-05-10 18:31:18 +02:00
Oliver Gugger
18cf06ddd1
chanfunding: fix sighash type for p2tr inputs
This commit fixes the default sighash type for p2tr channel funding
transaction inputs.
2022-05-10 18:13:00 +02:00
Oliver Gugger
631b2af818
btcwallet: support p2tr input info type detection 2022-05-10 18:03:29 +02:00
Oliver Gugger
8980471d57
chanfunding: support p2tr input fee calculation
With this commit we support fee calculation in coin selection for p2tr
inputs. We assume that coins in our UTXO selection are only BIP0086
coins. Any other input types with different spend paths won't be
selected by the wallet assembler.
2022-05-10 18:01:14 +02:00
Oliver Gugger
10f7213998
Merge pull request #6472 from tvolk131/document_confirmation_height
Document that `confirmation_height` is unset
2022-05-09 10:55:31 +02:00
Tommy Volk
a99da35fb1 gitrelease-notes: update release notes for 0.15.0 2022-05-06 17:28:51 +00:00
Tommy Volk
a2db074eec lnrpc: remove confirmation_height from PendingOpenChannel proto 2022-05-06 17:28:43 +00:00
Oliver Gugger
5d8fba6810
Merge pull request #6502 from bhandras/musig-fix
signer: fix crash in `MuSig2Combine` when the final signature isn't ready
2022-05-06 13:24:27 +02:00
Andras Banki-Horvath
bbe953d70d
docs: update release notes 0.15.0 2022-05-06 12:29:38 +02:00
Andras Banki-Horvath
c4c188f6d9
signer: fix crash when musig combine doesn't have final sig 2022-05-06 12:29:38 +02:00
Andras Banki-Horvath
ddf0571031
itest: cover musig2 combine without all signatures ready 2022-05-06 12:29:32 +02:00
Oliver Gugger
a4b486c58c
Merge pull request #6486 from sangaman/install-tags
docs/INSTALL.md: add list of build tags
2022-05-06 10:20:27 +02:00
Olaoluwa Osuntokun
8c3b9e7153
Merge pull request #6435 from ellemouton/ignoreUnknownAddressInNA
lnwire: ignore unknown addresses in NodeAnnouncement
2022-05-05 15:54:31 -07:00
Olaoluwa Osuntokun
0ec88b5346
Merge pull request #6347 from yyforyongyu/5388-rm-revc-log
lnwallet+channeldb: store minimal info in revocation log bucket
2022-05-05 15:52:59 -07:00
Daniel McNally
1b50c9ef96
add release-notes entry for #6486 2022-05-05 18:16:45 -04:00
Daniel McNally
9966960b9a
build: update release tags
This updates the list of tags used for `release` builds in the release
documentation. `peersrpc`, `kvdb_postgres`, and `kvdb_etcd` are now
automatically included in `make release` or `make release-install`
builds.
2022-05-05 18:16:44 -04:00
Daniel McNally
d9654f429b
docs/INSTALL.md: add list of build tags
This adds a list of tags that can be used when building or installing
lnd from source. Links to relevant code, protobuf definitions, or
documentation are included to illustrate the purpose of each tag.

Closes #3598.
2022-05-05 18:15:20 -04:00
Oliver Gugger
f8dd032de5
Merge pull request #6465 from Roasbeef/bitcoind23
build: update CI to build against bitcoind 23
2022-05-05 13:24:50 +02:00
Oliver Gugger
bdd1c5c4e1
Merge pull request #6423 from tvolk131/fix_typos
Typo fixes and code cleanup
2022-05-05 09:42:39 +02:00
Olaoluwa Osuntokun
dec389d54f
build: update CI to build against bitcoind 23 2022-05-04 15:24:22 -07:00
Oliver Gugger
48695dd801
Merge pull request #6495 from guggero/musig2-session-cleanup
MuSig2: Add session cleanup RPC
2022-05-04 21:30:52 +02:00
Oliver Gugger
17e0f990ac
docs: add release notes 2022-05-04 19:23:59 +02:00
Oliver Gugger
52e42fc107
lnrpc+itest: implement MuSig2Cleanup RPC 2022-05-04 19:23:58 +02:00
Oliver Gugger
7e11f64650
rpcwallet: only shut down on RPC error 2022-05-04 19:23:58 +02:00
Oliver Gugger
95ff670c0e
multi: add MuSig2Cleanup method to MuSig2 signer 2022-05-04 19:23:58 +02:00
Oliver Gugger
771d77d875
signrpc: add MuSig2Cleanup RPC 2022-05-04 19:23:57 +02:00
Elle Mouton
fa5d4195e0
docs/release-notes: update release notes 2022-05-04 11:06:46 +02:00
Elle Mouton
f40e2687ac
lnwire: add randOpaqueAddrs for fuzz test
Let TestLightningWireProtocol also include random OpaqueAddrs.
2022-05-04 11:06:11 +02:00
Elle Mouton
1477c754f5
lnwire: store unknown address type as OpaqueAddrs
Instead of erroring out with encountering an address with an unknown
type, we just store the remainder of the addrBytes as OpaqueAddrs so
that we are able to rewrite them to the wire when we re-propagate the
message.
2022-05-04 11:06:11 +02:00
Elle Mouton
fa0512f62f
lnwire: add new type OpaqueAddrs
In this commit, a new net.Addr implementation called OpaqueAddrs is
added along with a WriteOpaqueAddrs func that is called in
WriteNetAddrs. It will be used to store any address bytes that we cannot
parse due to us not being aware of the address type.
2022-05-04 11:06:11 +02:00
Elle Mouton
f77388e072
lnwire: add TestDecodeUnknownAddressType
Add a test to demonstrate that if a NodeAnnouncement includes an address
with an unknown type, then we incorrectly return an error. This will be
fixed in the following commit.
2022-05-04 11:06:10 +02:00