lnd.xprv/lnwallet
Conner Fromknecht 89bd58786e
lnwallet/channel: enforce absolute fee floor of 250 sat/kw
This enforces the _actualized_ fee rate of the  commitment transaction,
rather than the fee floor used for estimation. The new value of 250
sat/kw corresponds to 1 sat/byte, rather than 253 which is only rounded
up during estimation to account for the fact that BOLT 3 rounds down to
the nearest satoshi and that the vbyte fee estimation is lossy.

Previously we would incorrectly fail to sign the next commitment even
though the fee was technically high enough. Restarting with this commit
should solve the issue as long as the channel hasn't already gone to
chain.
2020-04-21 12:37:34 -07:00
..
btcwallet multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
chainfee lnwallet/channel: enforce absolute fee floor of 250 sat/kw 2020-04-21 12:37:34 -07:00
chanfunding chanfunding: add PSBT assembler and intent 2020-03-31 09:17:23 +02:00
chanvalidate input: pass input.Signature to multisig spend 2020-04-10 14:27:35 -07:00
channel_test.go lnwallet/channel: enforce absolute fee floor of 250 sat/kw 2020-04-21 12:37:34 -07:00
channel.go lnwallet/channel: enforce absolute fee floor of 250 sat/kw 2020-04-21 12:37:34 -07:00
commit_sort_test.go lnwallet/commit_sort: add commit sorting with htlc tie breaker 2019-06-05 08:34:45 +02:00
commit_sort.go lnwallet/commit_sort: add commit sorting with htlc tie breaker 2019-06-05 08:34:45 +02:00
commitment.go lnwallet/channel: tie-break HTLCs by cltv when locating 2020-04-02 17:51:02 -07:00
config.go chainfee: create new chainfee package extracting fees from lnwallet 2019-10-31 16:41:57 -07:00
errors.go Revert "funding+lnwallet: ensure max_htlc_value_in_flight smaller than capacity" 2019-01-29 17:58:04 -08:00
interface_test.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
interface.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
log.go chainfee: create new chainfee package extracting fees from lnwallet 2019-10-31 16:41:57 -07:00
parameters.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
README.md multi: fix typos in comments 2018-04-17 19:03:27 -07:00
reservation.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
sigpool.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00
test_utils.go input: pass input.Signature to multisig spend 2020-04-10 14:27:35 -07:00
transactions_test.go lnwallet: add anchor commitmenttype 2020-03-09 12:10:59 +01:00
transactions.go lnwallet: set 2nd level sequence according to channel type 2020-03-09 12:59:33 +01:00
wallet.go multi: return input.Signature from SignOutputRaw 2020-04-10 14:27:35 -07:00

lnwallet

Build Status MIT licensed GoDoc

The lnwallet package implements an abstracted wallet controller that is able to drive channel funding workflows, a number of script utilities, witness generation functions for the various Lightning scripts, revocation key derivation, and the commitment update state machine.

The package is used within lnd as the core wallet of the daemon. The wallet itself is composed of several distinct interfaces that decouple the implementation of things like signing and blockchain access. This separation allows new WalletController implementations to be easily dropped into lnd without disrupting the code base. A series of integration tests at the interface level are also in place to ensure conformance of the implementation with the interface.

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/lnwallet