Commit Graph

13305 Commits

Author SHA1 Message Date
2ec459df6c channeldb: use TLV for InitialLocalBalance and InitialRemoteBalance
This commit changes the encoding scheme for the fields
`InitialLocalBalance` and `InitialRemoteBalance` and use TLV instead.
2022-05-18 19:46:09 +08:00
e319fb888e Merge pull request #6547 from Crypt-iQ/boltfix_05-22
channeldb: copy value from boltdb's Get instead of using it directly
2022-05-17 19:43:03 +02:00
759d74ee15 release-notes: update for 0.15.0 2022-05-17 11:27:11 -04:00
2e3246aafe channeldb: copy value from boltdb's Get instead of using it directly
This can cause an intermittent panic otherwise if bbolt remaps itself
via munmap and mmap. From bbolt's documentation:

* Byte slices returned from Bolt are only valid during a transaction.
Once the transaction has been committed or rolled back then the memory
they point to can be reused by a new page or can be unmapped from
virtual memory and you'll see an unexpected fault address panic when
accessing it.
2022-05-17 11:14:40 -04:00
b31640e6b0 build: bump version to v0.15.0-beta.rc1 v0.15.0-beta.rc1 2022-05-16 20:16:01 -07:00
04fb034259 Merge pull request #6535 from ErikEk/config-rpccookie-path
config: fix path to bitcoind/litecoind rpccookie and config
2022-05-16 16:06:04 +02:00
6b57e92a37 Merge pull request #6529 from guggero/constrainmacaroon
lncli: add constrainmacaroon command
2022-05-16 15:57:52 +02:00
b6f56d3398 config: fix path to bitcoind.rpccookie and bitcoind.config 2022-05-16 13:55:16 +02:00
4b313a54f8 Merge pull request #6536 from ErikEk/cookie-missing-error-msg-fix
config: error msg for missing bitcoind cookie file
2022-05-16 13:49:04 +02:00
c647d32cf7 Merge pull request #6540 from yyforyongyu/6537-fix-push-amount
rpcserver: fix wrong unit used in PushAmountSat
2022-05-16 13:48:02 +02:00
fbf00f6e26 config: cookie missing error fix 2022-05-16 10:48:53 +02:00
6b34ebbe44 rpcserver: fix wrong unit used in PushAmountSat 2022-05-16 05:49:05 +08:00
2c4136da1b Merge pull request #6525 from Crypt-iQ/amp_preimage_fix
invoices: properly set Preimage field for success resolution
2022-05-13 15:15:03 -07:00
8f94aac00a docs: add release notes 2022-05-13 13:41:10 +02:00
968393975b cmd/lncli: add constrainmacaroon command 2022-05-13 13:41:10 +02:00
f4e1f60e4d cmd/lncli: extract macaroon caveat flags
As a preparation for re-using the macaroon caveat/constraints CLI flags,
we extract the parsing and adding of those constraints into its own
function.
2022-05-13 13:38:53 +02:00
7106ea59db Merge pull request #6524 from guggero/aezeed-bump
aezeed+keychain: bump internal version of seed to 1
2022-05-12 16:35:49 -07:00
9f101f46ec Merge pull request #6528 from guggero/list-leased-outputs
btcwallet bump: add Taproot fields to FundPsbt, add pkScript and value to ListLeases
2022-05-12 16:24:00 -07:00
5e411ac5f3 docs: add release notes 2022-05-12 12:49:15 +02:00
51a480129b walletunlocker+keychain+config_builder: use new aezeed version 2022-05-12 12:49:14 +02:00
daa5966119 aezeed: make seed generation fully deterministic
This commit fixes a TODO to make the seed generation fully deterministic
by providing the option to pass in a custom randomness source.
2022-05-12 12:49:14 +02:00
63e28a27b8 aezeed: re-encode salt correctly 2022-05-12 12:49:14 +02:00
f67776375f aezeed: re-format test cases, use require 2022-05-12 12:49:13 +02:00
a02112464a aezeed: remove unnecessary casts 2022-05-12 12:47:07 +02:00
83f1c2c9b6 aezeed: fix typos and formatting 2022-05-12 12:47:06 +02:00
5240fa9983 docs: add release notes 2022-05-12 10:28:14 +02:00
cb3cb4c8ab cmd/lncli: add pk script and value to JSON 2022-05-12 10:24:42 +02:00
70103a1838 multi: return more information in list of leased outputs
With this commit we return the additional information the wallet now
provides about locked/leased outputs.
2022-05-12 10:24:40 +02:00
a25d5255fb walletrpc: add pkScript and value to UTXO lease 2022-05-12 10:24:39 +02:00
d716b721be mod: bump to latest btcwallet dependency
This commit bumps the btcwallet version to the latest master branch that
contains the fixes to add Taproot related fields to a PSBT in the
FundPsbt method.
2022-05-12 10:24:38 +02:00
4949243d67 Merge pull request #6477 from Crypt-iQ/testmultihopflake
invoices: add client to map before delivering backlog notif
2022-05-11 16:45:36 -07:00
7e5b353498 Merge pull request #6415 from Crypt-iQ/inv_refactor
channeldb+invoices: refactor invoice logic when updating
2022-05-11 16:45:10 -07:00
fdfc5041a3 release-notes: update for 0.15 2022-05-11 13:58:11 -04:00
8086ff447e Merge pull request #6464 from kaloudis/mobile-build-subservers
Mobile builds: expose main sub-servers by default
2022-05-11 19:57:49 +02:00
4eea395a7f channeldb+invoices: refactor invoice logic when updating 2022-05-11 13:57:46 -04:00
3a5d2804bb release-notes: update for 0.15.0 2022-05-11 13:55:11 -04:00
d099991339 invoices: remove unused invoiceSubscriptionKit wait group 2022-05-11 13:54:45 -04:00
5ddad90a17 invoices: fix OOO notifications, use cancelChan instead of canceled
This commit fixes OOO notifications between backlog and non-backlog
events by having the non-backlog goroutines wait on a chan that
signals that backlog processing is complete.

This commit also replaces usage of the canceled atomic variable with
the cancelChan to signal that delivery of an event should no longer
occur. Atomics do not make perfect "sequence" points as the atomic
may be checked too early and the end-result of delivering to a stopped
ntfnQueue is the same. Using the cancelChan ensures that we do not
hang on sending to ntfnQueue.
2022-05-11 13:54:45 -04:00
93f87acb59 invoices: add client to map before delivering backlog notif
Prior to this change, if SubscribeSingleInvoice or
SubscribeNotifications was called, it was possible that a state
change would never be delivered to the client. The sequence of
events would be:
- delivery of backlog events with invoice in the Open state
- invoice goes to the Accepted state, no client to notify
- client added to map

This is fixed by adding the client to the map first. However, with
this change alone it then becomes possible for notifications to be
delivered out of order. This is addressed in a following commit.
2022-05-11 13:54:43 -04:00
d76278bc1e invoices: properly set Preimage for settle resolutions
This fixes a nil-pointer-dereference that would occur if this was
called for a settled AMP invoice. Terms.PaymentPreimage is always
false for AMP invoices.
2022-05-11 13:51:12 -04:00
6dcec862aa invoices: remove redundant code
HTLCSet already removes any HTLCs that are not in the desired state,
so doing it again on the same set is redundant.
2022-05-11 13:51:10 -04:00
c9a6c80be9 release-notes: update for 0.15.0 2022-05-11 13:50:40 -04:00
87a486f1f9 htlcswitch: remove synchronous link handoff, special-case keystone err
This allows Switch-initiated payments to be failed back if they don't
make it into a commitment. Prior to this commit, a Switch-initiated
HTLC could get "lost" meaning the circuit wouldn't get deleted except
if conditions were "right" and the network result store would never
be made aware of the HTLC's fate. Switch-initiated HTLC's are now
passed to the link's mailbox to ensure they can be failed back.

This change also special-cases the ErrDuplicateKeystone error from
OpenCircuits(...) so that callers of updateCommitTx() in the link
don't send an Error to the peer if they encounter the keystone error.
With the first async change, the keystone error should now always
be recoverable.
2022-05-11 13:49:37 -04:00
e0d6b2d924 docs: update release notes 0.15.0 - PR #6464 2022-05-11 13:21:27 -04:00
dea15d51f9 mobile/README: explain new API objects for sub-servers in LND v0.15+ 2022-05-11 13:18:50 -04:00
e9feefaba6 gen_bindings.sh: Mobile builds: expose main sub-servers by default 2022-05-11 13:18:33 -04:00
3e51a7a6fe Makefile: Mobile builds: expose main sub-servers + set SUBSERVER_PREFIX flag by default 2022-05-11 13:18:17 -04:00
c2adb03e38 Merge pull request #6450 from guggero/taproot-psbt
taproot: add PSBT signing support for Taproot, fix remote signing Taproot support
2022-05-11 11:16:51 +02:00
8dbf78fbb6 Merge pull request #6523 from Roasbeef/hop-hints-opt-in
cmd/lncli: make hop hint inclusion opt-in for addinvoice
2022-05-11 10:08:30 +02:00
9f4f0e94f5 multi: avoid direct use of dcrec/secp256k1 library
Because the original dcrec secp256k1 library that is used for the
Schnorr signature primitives uses different hash algorithms than the
btcd secp256k1 library. Therefore pulling in the wrong library can lead
to weird and unexpected errors. We try to make it harder to make the
mistake by not using the library directly in lnd in the first place.
Note that it is still indirectly needed by the btcd secp256k1 library,
therefore the module dependency is still expected to be there, just
moved to the indirect section.
2022-05-11 10:07:52 +02:00