Commit Graph

13228 Commits

Author SHA1 Message Date
yyforyongyu
c9843fd206
channeldb+migration: add migration to save the initial balances
This commit adds a migration to patch the newly added fields,
`InitialLocalBalance` and `InitialRemoteBalance` to channel info.
2022-04-20 01:18:12 +08:00
yyforyongyu
8b289e79f5
channeldb+migration: export commonly used methods
This commit exports several commonly used methods that can be used by
later migrations. It also adds a channel commit deserializer.
2022-04-20 01:18:12 +08:00
yyforyongyu
22f8f6ed4a
channeldb+lnwallet: save initial balances during channel opening 2022-04-20 01:18:12 +08:00
yyforyongyu
291a8e4eff
contractcourt: move breach handling into its own function
This commit refactors the breach handling logic into its own function
so that the related code can be unit tested.
2022-04-20 01:18:12 +08:00
yyforyongyu
9a4589d54e
lnwallet: remove unused field PendingHTLCs 2022-04-20 01:18:12 +08:00
yyforyongyu
acde626ac9
lnwallet+htlcswitch: remove the redundant param in OweCommitment
This commit removes the bool param found in OweCommitment, which we
only ever use `true`.
2022-04-20 01:18:12 +08:00
yyforyongyu
fea97699ec
contractcourt: remove unused bucket justice-txn
We never writes data to this bucket so it's removed.
2022-04-20 01:18:11 +08:00
yyforyongyu
5f508f9278
channeldb: replace method RevocationLogTail
This commit replaces the method RevocationLogTail which in used in our
unit test with a private method revocationLogTailCommitHeight. The new
method returns the commit height only since that's what's needed in the
test.
2022-04-20 01:18:11 +08:00
yyforyongyu
fcb314bf2c
channeldb: add more verbose docs 2022-04-20 01:18:11 +08:00
Olaoluwa Osuntokun
3133154538
Merge pull request #6421 from yyforyongyu/tlv-compress
tlv: add new record type to encode `BigSize`
2022-04-19 10:12:05 -07: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
Elle Mouton
eca2ac8a57
scripts: add gpg key for ellemouton [skip ci] 2022-04-19 11:38:04 +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
hieblmi
b1f6bc977e #4939 Add socks proxy support to lncli 2022-04-16 20:30:42 +02:00
yyforyongyu
4ddb5c586b
tlv: add MakeBigSizeRecord to save space
This commit adds a pair of encoder/decoder to take the advantage of the
BigSize format when encoding an uint64 and possibly an uint32.

Often the time an uint64 value is not big enough to fill all the 8
bytes, thus using BigSize can save extra bytes when save it to db. And
for uint32, if we know most of the values do not exceed 65536, we can
also save at least 1 byte using BigSize format.

This commit introduces `MakeBigSizeRecord` that can be used optionally
where db space is a concern.
2022-04-16 12:05:23 +08:00
yyforyongyu
02d17bb81a
tlv: update go mod to include require 2022-04-16 12:05:07 +08:00
Olaoluwa Osuntokun
0b20dcc4f5
Merge pull request #6414 from ellemouton/keysendFeatureBit
multi: announce Keysend feature bit
2022-04-15 16:09:04 -07:00
Elle Mouton
c54cc6e841
multi: announce Keysend feature bit
In this commit, we add the keysend feature bit to our NodeAnnouncement
if the accept-keysend option is set.
2022-04-14 14:01:19 +02:00
Olaoluwa Osuntokun
d397e3e680
Merge pull request #6340 from Roasbeef/go-1-18
build: update to Go 1.18
2022-04-13 15:02:26 -07:00
Olaoluwa Osuntokun
440f4d982c
Merge pull request #5810 from bottlepay/payment-metadata
routing: send payment metadata
2022-04-13 15:01:56 -07:00
Olaoluwa Osuntokun
cd8a87c0da
Merge pull request #6219 from bottlepay/onchain-interceptor
contractcourt: onchain htlc interceptor
2022-04-13 14:58:29 -07:00
Joost Jager
62ae0387ff
htlcswitch+invoices: log payment metadata 2022-04-13 22:55:42 +02:00
Joost Jager
9195f29e61
routing+channeldb: send payment metadata from invoice 2022-04-13 22:55:40 +02:00
Joost Jager
135e27ddd3
zpay32: add payment metadata field 2022-04-13 22:55: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
Joost Jager
ba5abdc090
routing: add time_pref parameter to queryroutes and sendpayment 2022-04-13 20:26:46 +02:00
Joost Jager
269a8e74d3
routing: refactor reliability penalty calculation
Base the calculation on the actual float64 overflow point rather than an
indirect limit on probability.

This is a preparation for an infinite attempt cost.
2022-04-13 20:26:08 +02:00
Olaoluwa Osuntokun
c0d4308a23
Merge pull request #6389 from guggero/p2tr-addr-used
wallet: fix p2tr addresses not being marked as used
2022-04-13 10:32:51 -07: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
Joost Jager
721fb4ee88
contractcourt: add onchain interception 2022-04-13 11:31:33 +02:00
Joost Jager
c392e003aa
beacon: add witness cache interface 2022-04-13 11:31:31 +02:00
Joost Jager
7265a5e42b
beacon: add constructor 2022-04-13 11:31:29 +02:00
Joost Jager
57e08dfa54
htlcswitch: refactor interceptForward
Preparation for adding on-chain interception.
2022-04-13 10:14:42 +02:00
Olaoluwa Osuntokun
2fadc60ef2
docs/release-notes: add note entry for Go 1.18 2022-04-12 16:14:12 -07:00
Olaoluwa Osuntokun
d6b2283279
docs/INSTALL.md: update min Go version to 1.18
In this commit, we update the min Go version to be version 1.18. This
breaks our prior rule of supporting the last two major versions, but
allows us to use the larger features in 1.18 sooner, such as the newly
released type parameters.
2022-04-12 16:14:07 -07:00
Olaoluwa Osuntokun
a90dfff9a5
build: update to Go 1.18 2022-04-12 16:14:04 -07: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
Olaoluwa Osuntokun
dabb74fa3c
Merge pull request #6352 from bhandras/stuck-payment
routing: fail in-flight attempts cleanly on terminal payment failure
2022-04-12 12:52:22 -04: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
Andras Banki-Horvath
70ac0070fa
docs: update release notes 0.15.0 2022-04-12 11:56:34 +02:00
Andras Banki-Horvath
3d5f33a0cf
routing: fail in-flight attempts cleanly on terminal payment failure
In case of a multi shard payment with more than one in-flight shards,
one shard quitting with a terminal failure will stop the payment
lifecycle and close the `shardHandler`'s `quit` channel. In the
`collectResult` function we're waiting for the `Switch` to
asynchronously return a result for each shard. This may have been
interrupted by the aformentioned `quit` channel's closing skipping
attempt failure (or success) notification towards the control tower
and therefore skipping proper settle/fail info fill in the channel db.
Since payments have a composite state of a global failure reason and
settle/fail info for all attempts, any attempt with an unfilled
settle/fail info keeps a payment in-flight even if the payment itself
isn't in-flight anymore.
2022-04-12 11:56:33 +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