lnd/lnwallet
Olaoluwa Osuntokun e689ef61dd
lnwallet: when calc'ing fee for commitment tx, use current fee-per-kw
This commit modifies the fee calculation logic when creating or
accepting a new commitment transaction to use the set FeePerKw within
the channel rather then re-query the estimator each time. The prior
behavior was benign as we currently use a static fee estimator, but the
dynamic setting this could’ve caused a state divergence.
2017-05-16 19:05:18 -07:00
..
btcwallet lnwallet+routing: modify BlockChainIO.GetUtxo to be light client friendly 2017-05-11 15:20:29 -07:00
channel_test.go lnwallet: when calc'ing fee for commitment tx, use current fee-per-kw 2017-05-16 19:05:18 -07:00
channel.go lnwallet: when calc'ing fee for commitment tx, use current fee-per-kw 2017-05-16 19:05:18 -07:00
config.go config: add --pendingchannel lnd flag 2016-10-22 02:11:18 +03:00
interface_test.go lnwallet: calcStaticFee now directly uses feePerKw 2017-05-16 18:56:46 -07:00
interface.go lnwallet: add FeeEstimator interface, StaticFeeEstimator implementation 2017-05-15 20:26:11 -07:00
log.go lnwallet: couple websockets and wtxmgr logging into package logging 2017-04-01 20:14:13 +02:00
parameters.go fundingmanager+lnwallet: add HTLC dust limit logic 2016-12-13 11:01:57 -08:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
reservation.go lnwallet: NewChannelReservation now accepts target feePerKw for commitment 2017-05-16 18:55:33 -07:00
script_utils_test.go multi: replace usage of fastsha256 with crypto/sha256 2017-03-15 18:56:41 -07:00
script_utils.go lnwallet: remove OP_CHECKSEQUENCEVERIFY variable 2017-05-15 20:26:11 -07:00
size.go lnwallet: convert all references to transaction/block cost to weight 2017-05-16 18:50:55 -07:00
wallet.go lnwallet: correct scaling for fee-per-byte to fee-per-weight, divide by 4 2017-05-16 19:02:02 -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 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