lnd.xprv/lnwallet
Johan T. Halseth 6ffd354d63
lnwallet/channel: add fee updates to update logs
Instead of special casing the UpdateFee messages, we instead add them to
the update logs like any other HTLC update message. This lets us avoid
having to keep an extra set of variables to keep track of the fee
updates, and instead reuse the commit/ack logic used for other updates.

This fixes a bug where we would reset the pendingFeeUpdate variable
after signing our next commitment, which would make us calculate the new
fee incorrectly if the remote sent a commitment concurrently.

When restoring state logs, we also make sure to re-add any fee updates.
2019-01-10 12:31:12 +01:00
..
btcwallet Add listunspent RPC call 2018-12-11 15:26:38 +01:00
channel_test.go lnwallet: prevent static fee estimator fees from being modified 2018-12-18 10:50:05 +01:00
channel.go lnwallet/channel: add fee updates to update logs 2019-01-10 12:31:12 +01:00
config.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
errors.go config: add option to disable incoming push amounts in OpenChannel 2018-11-02 01:54:02 +02:00
fee_estimator_test.go lnwallet: prevent static fee estimator fees from being modified 2018-12-18 10:50:05 +01:00
fee_estimator.go lnwallet: prevent static fee estimator fees from being modified 2018-12-18 10:50:05 +01:00
interface_test.go lnwallet: prevent static fee estimator fees from being modified 2018-12-18 10:50:05 +01:00
interface.go Add listunspent RPC call 2018-12-11 15:26:38 +01:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
parameters.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
README.md multi: fix typos in comments 2018-04-17 19:03:27 -07:00
reservation.go multi: fix function references in comments and clarify grammar 2018-09-27 20:59:59 -07:00
script_utils_test.go lnwallet: update GetUtxo to accept the pkScript to comply with new gcs filter 2018-07-31 21:28:56 -07:00
script_utils.go lnwallet: export the Ripemd160H function 2018-10-12 08:50:07 +02:00
signdescriptor_test.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
signdescriptor.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
sigpool.go multi: replace per channel sigPool with global daemon level sigPool 2018-12-16 15:40:14 -08:00
size_test.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
size.go lnwallet/size: correct commit to-local and 2nd stage script sizes 2018-07-24 22:53:13 -07:00
test_utils.go lnwallet: prevent static fee estimator fees from being modified 2018-12-18 10:50:05 +01:00
transactions_test.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
txout_test.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
txout.go multi: switch over import paths from roasbeef/* to btcsuite/* 2018-07-13 17:05:39 -07:00
wallet.go Remove unused LightningWallet.rootKey field 2018-12-13 11:40:29 -03:00
witnessgen.go lnwallet: add a String() method to WitnessType 2018-12-18 10:50:08 +01: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