Commit Graph
100 Commits
Author SHA1 Message Date
Oliver Gugger 7f4e977073 lntest+rpcwallet: support remote p2tr key spend signing 2022-05-11 10:07:50 +02:00
Oliver Gugger 35dd2d25ea btcwallet: support taproot script signing in PSBT 2022-05-11 10:07:50 +02:00
Oliver Gugger 0f32a4456d btcwallet: support taproot key spend signing in PSBT 2022-05-11 10:07:50 +02:00
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
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
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
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
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
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
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
Oliver Gugger 05fd4f9e0e Merge pull request #6463 from guggero/num-payments
ListPayments: add new optional count_total_payments flag
2022-05-03 16:23:58 +02:00
Oliver Gugger cd21918c5d Merge pull request #6483 from ErikEk/remove-zmq-check
zmq: remove port checker
2022-05-03 09:51:59 +02:00
Oliver Gugger 68fad0cd53 Merge pull request #6478 from bufo24/master
fix typo comment for scanInvoicesOnStart function
2022-05-03 09:51:32 +02:00
Oliver Gugger bf03d112a9 docs: add release notes 2022-05-02 12:32:07 +02:00
Oliver Gugger ab6e1012e4 cmd/lncli: add --count_total_payments flag 2022-05-02 12:32:07 +02:00
Oliver Gugger a44e56b51a lnrpc: add new request/response fields for payment count 2022-05-02 12:32:06 +02:00
Oliver Gugger c42330d9c5 channeldb: add CountTotal option to payment query 2022-05-02 12:32:06 +02:00
Oliver Gugger 63f02c2bd8 Merge pull request #6250 from Crypt-iQ/resolutionmsg_handoff
htlcswitch+lntest: create resolutionStore to persist ResolutionMsg
2022-05-02 10:17:05 +02:00
Oliver Gugger aca22998bc Merge pull request #6481 from torkelrogstad/2022-04-30-chain-notifier
chainrpc: clarify documentation
2022-05-02 09:34:15 +02:00
Oliver Gugger 9bbee09497 Merge pull request #6361 from guggero/musig2
Musig2: add new MuSig2 RPC methods to `signrpc`
2022-04-29 12:55:52 +02:00
Oliver Gugger 93e069f3bd docs: add MuSig2 doc and release notes 2022-04-29 11:42:47 +02:00
Oliver Gugger 63e93ae572 itest: add taproot SignOutputRaw Bip86 signing test 2022-04-29 11:42:46 +02:00
Oliver Gugger 3ba6421d5c itest: add MuSig2 end-to-end tests 2022-04-29 11:42:43 +02:00
Oliver Gugger e31aab5af6 multi: fix inclusion proof size
The inclusion proof field in the TapscriptPartialReveal function was
incorrect. An inclusion proof can be zero or more elements of 32-byte
slices. So an empty inclusion proof can be valid too for a tree that
only consists of a single leaf.
2022-04-29 11:41:09 +02:00
Oliver Gugger f7275c7fc4 multi: implement MuSig2 RPCs and remote signing 2022-04-29 11:41:09 +02:00
Oliver Gugger 8fc99fba00 input+btcwallet: add MuSig2 signing operations
With this commit we add the high-level MuSig2 signing methods to the
btcwallet which will later be exposed through an RPC interface.
2022-04-29 11:41:08 +02:00
Oliver Gugger fee2b28d1b itest: refactor taproot test 2022-04-29 11:41:05 +02:00
Oliver Gugger dfac94bf9b tools+lint: fix linter for Go 1.18 2022-04-29 09:34:14 +02:00
Oliver Gugger be704b09b2 mod: bump btcec to MuSig2 version, require go 1.17 2022-04-29 09:34:02 +02:00
Oliver Gugger 0845c4daeb Merge pull request #6454 from bottlepay/require-interceptor-info
rpcserver: expose interceptor required flag on info call
2022-04-25 12:11:29 +02:00
Oliver Gugger 3d7d9361f8 Merge pull request #6422 from hieblmi/lncli-socks-proxy
#4939 Add socks proxy support to lncli
2022-04-20 18:58:09 +02:00
Oliver Gugger b6c5603e00 Merge pull request #5157 from orbitalturtle/addPeer-flag
lnd: Adds addpeer flag
2022-04-20 10:03:21 +02:00
Oliver Gugger 51a7566248 Merge pull request #6354 from guggero/fix-unit-tests
chainview: fix unit test timeout
2022-04-19 13:08:43 +02:00
Oliver Gugger 3f757e56a7 docs: add release notes 2022-04-19 11:13:21 +02:00
Oliver Gugger 1c0b4fd1de chainview: increase connection timeout in test
The unit test sometimes fails with a connection timeout when trying to
connect to the reorg mining node. We attempt to make things more robust
by doubling both the number of retries as well as the retry timeout
itself.
2022-04-19 11:12:50 +02:00
Oliver Gugger 2195c71407 chainview: fix formatting 2022-04-19 11:12:49 +02:00
Oliver Gugger b08df8437e Merge pull request #6428 from guggero/psbt-1-1-3
mod+docs: bump btcutil/psbt library to v1.1.3
2022-04-19 10:55:25 +02:00
Oliver Gugger b6e1d2ae41 mod+docs: bump btcutil/psbt library to v1.1.3
Fixes #6386.
Bumps the btcutil/psbt library to the latest version v1.1.3 that fixes
an issue with de-serializing a PSBT that contains an unsigned
transaction with no inputs.
2022-04-19 09:45:38 +02:00
Oliver Gugger 044286ae2c Merge pull request #6024 from lightningriders/timepref
routing: add time preference parameter
2022-04-13 22:17:02 +02:00
Oliver Gugger f37ebb68ea docs: add release notes 2022-04-13 14:01:59 +02:00
Oliver Gugger 70c01e5bf1 mod: bump btcwallet to p2tr unused addr fix 2022-04-13 14:01:59 +02:00
Oliver Gugger 4bdc3c9a5b Merge pull request #6407 from guggero/multi-fixes
signrpc: fix panic with missing UTXO information when signing Taproot output
2022-04-12 19:43:51 +02:00
Oliver Gugger 9281e7a692 docs: add release notes 2022-04-12 19:30:13 +02:00
Oliver Gugger 1e72d6737d lnrpc+itest: fix panic with missing UTXO info
Fixes #6396.
This commit fixes a panic that occurred when trying to sign for a
Taproot output without specifying the full UTXO information for each
input. Instead of panicking an error is now returned.
2022-04-12 19:30:12 +02:00
Oliver Gugger 2a069b8b4e rpcserver: copy success variable of channel close update
Seems this was forgotten in a refactor a while back.
2022-04-12 19:30:11 +02:00
Oliver Gugger 1ad667908e Merge pull request #6393 from hitanshu-mehta/fix-typo
Docs: fix typos in sample-lnd.conf and chanfitness/chanevent.go
2022-04-12 18:34:44 +02:00
Oliver Gugger 8047f2388e Merge pull request #6212 from bottlepay/interceptor-check
htlcswitch: interceptor expiry check
2022-04-12 09:55:55 +02:00
Oliver Gugger e13e5f874f cmd/lncli: fix linter issues after contributor PR [skip ci] 2022-04-11 18:02:42 +02:00
Oliver Gugger 65dc3ef8a6 Merge pull request #6349 from gabbyprecious/unlock-error-message#2529
change changepassword and unlock error message
2022-04-11 17:05:33 +02:00
Oliver Gugger 8109c9ccf1 Merge pull request #6392 from C-Otto/fix-typo
rpcperms: fix typo
2022-04-04 23:47:55 +02:00
Oliver Gugger 0f858958f9 Merge pull request #6373 from hsjoberg/macos-makefile
mobile: Add macos and apple Makefile tasks
2022-04-01 12:35:57 +02:00
Oliver Gugger 359ef6a821 Merge pull request #6376 from ellemouton/useTCPResolverForAllInterfacesAddr
lncfg: normal TCP resolution for the all-interfaces IP
2022-03-31 14:46:38 +02:00
Oliver Gugger 8072b20d54 Merge pull request #6380 from guggero/websocket-proxy-race-fix
lnrpc: fix websocket proxy data race
2022-03-30 18:13:55 +02:00
Oliver Gugger de9d3096c0 docs: add release notes 2022-03-30 17:03:45 +02:00
Oliver Gugger 40358d406d lnrpc: fix websocket proxy data race
Was discovered in a race unit test in lightning node connect that uses
the websocket proxy to connect to the hashmail server on the client
side.
By not shadowing the err variable we end up reading and writing to the
same variable from two different goroutines, which causes the data race.
2022-03-30 17:03:30 +02:00
Oliver Gugger 6275a78c79 Merge pull request #6379 from guggero/wallet-default-scopes
btcwallet: always make sure default scopes exist
2022-03-30 13:35:59 +02:00
Oliver Gugger ba83c11a6f Merge pull request #6346 from thinkmassive/docker-tag-master
github: re-add rolling tag 'daily-testing-only'
2022-03-30 12:53:37 +02:00
Oliver Gugger 28a99fc2a2 docs: add release notes 2022-03-30 12:50:16 +02:00
Oliver Gugger 485d8f043d btcwallet: always make sure default scopes exist
If new default scopes are added to the underlying btcwallet
implementation, then they aren't automatically created for _existing_
wallets, only for new ones. So on startup we need to make sure all
scopes are present.
2022-03-30 12:50:16 +02:00
Oliver Gugger 5fd9df3b6e Merge pull request #6383 from Roasbeef/update-btcutil-psbt-fix
build: update to latest btcutil/psbt version
2022-03-30 12:41:14 +02:00
Oliver Gugger 6e2214fd0f Merge pull request #6365 from antonilol/some_typos
fix some typos
2022-03-28 09:23:43 +02:00
Oliver Gugger f500892681 docs: add release notes 2022-03-24 18:02:40 +01:00
Oliver Gugger 3b5585c12b multi: fix and test v1 output spend ntfns
Because Taproot key spend only spends don't allow us to re-construct the
spent pkScript from the witness alone, we cannot support registering
spend notifications for v1 pkScripts only. We instead require the
outpoint to be specified. This commit makes it possible to only match by
outpoint and also adds an itest for it.
2022-03-24 18:02:40 +01:00
Oliver Gugger ef98f2df8a multi: add p2tr tapscript key path signing capabilities 2022-03-24 18:02:39 +01:00
Oliver Gugger 78db46be7e multi: add p2tr tapscript signing capabilities 2022-03-24 18:02:39 +01:00
Oliver Gugger 5109c55721 itest: assert P2TR on-chain fund recovery 2022-03-24 18:02:38 +01:00
Oliver Gugger 108f49f23b input+signer: test wallet script import 2022-03-24 18:02:38 +01:00
Oliver Gugger c73cf03a55 multi: add p2tr keyspend wallet support 2022-03-24 18:02:38 +01:00
Oliver Gugger f130eddb92 multi: use prev output fetcher where possible 2022-03-24 18:02:37 +01:00
Oliver Gugger 72c9582b85 multi: bump btcd to taproot aware version 2022-03-24 15:00:25 +01:00
Oliver Gugger 0dcaa511a2 Merge pull request #6341 from guggero/remote-signer-signoutputraw
remote signer: fix SignOutputRaw RPC for incomplete key info, fix healthcheck connection leak
2022-03-24 14:59:38 +01:00
Oliver Gugger 0f4e691d4d docs: add release notes 2022-03-24 14:13:06 +01:00
Oliver Gugger 8c44da225a rpcwallet: fix RPC wallet health check connection leak
Fixes #6329.
This commit fixes a connection leak in the RPC wallet's health check. By
not closing the test connection the watch-only node would slowly stack
up connections and eventually hit the ulimit.
2022-03-24 14:13:06 +01:00
Oliver Gugger 42b0aa9a8e rpcwallet+itest: fix incomplete key info problem
Fixes an issue with SignOutputRaw in remote signing mode where we
weren't able to sign on the remote signer if we only provided the public
key or only the family/index (and not both).

Fixes part of an issue detected in lightninglabs/loop#457.
2022-03-24 14:13:05 +01:00
Oliver Gugger 5bf9b710fc config_builder+rpcwallet: add full net params
As a preparation for parsing addresses, we need the full network
parameters and not just the coin type in the RPC wallet.
2022-03-24 14:13:05 +01:00
Oliver Gugger efa36ce8f2 lntest+lnwallet: add AddressInfo to WalletController
We need to be able to query the watch-only wallet about a public key
when trying to sign with a key that we don't know the family or index
of. The easiest way to do that is to leverage the wallet's address index
to query the derivation path for a public key.
To give the RPC wallet access to that functionality, we need to expose
the method on the WalletController interface.
2022-03-24 14:13:05 +01:00
Oliver Gugger e86a0ba197 itest: add new test for SignOutputRaw RPC 2022-03-24 14:13:04 +01:00
Oliver Gugger e77dd4e2fe Merge pull request #6362 from liviu-ln/fix-forward-interceptor-tests
itest: fix node shutdown in interceptor itests
2022-03-24 10:39:41 +01:00
Oliver Gugger 0f2b3c6926 Merge pull request #6186 from yyforyongyu/itest-fix-pending-ticker
htlcswitch: fix PendingCommitTicker and make it configurable
2022-03-24 09:59:13 +01:00
Oliver Gugger 56c8b63d36 Merge pull request #6348 from gabbyprecious/macaroon-doc-#5444
correct misinformation on default macaroon setup
2022-03-24 09:37:57 +01:00
Oliver Gugger 1670000fd8 walletrpc: add debug log statement for invalid PSBT
To help debug remote signing issues, it's helpful to get the raw PSBT
that failed to be parsed. This is necessary since serializing an invalid
PSBT is allowed and the checks only fail when trying to de-serialize
such an invalid packet.
2022-03-24 09:28:27 +01:00
Oliver Gugger c0a282bc4a Merge pull request #6353 from bhandras/interceptor-race-fix
switch+test: fix race condition in the interceptor unit test
2022-03-23 18:16:13 +01:00
Oliver Gugger ba99d22f3c docs: update release notes 2022-03-23 17:46:58 +01:00