lnd.xprv/lnwallet
Olaoluwa Osuntokun ecf6d758a2
lnwallet: add distinct CommitOutputResolution for resolving commit outputs on-chain
In this commit, we modify both the ForceCloseSummary, and the
UnilateralClosureSummary to return the items needed to sweep the
commitment output distinctly. By doing this, it’s now possible to pass
a dedicated struct to a sub-system in order to allow it to sweep a
commitment output. As the maturity delay is a part of this new struct,
this tells the caller if this was on the local commitment (CSV
required) or on the remote commitment (no CSV required).
2018-01-22 19:19:31 -08:00
..
btcwallet multi: add bitcoind drivers and tests 2018-01-15 13:59:34 -08:00
channel_test.go lnwallet: Move mocks to separate file and augment mockSigner. 2018-01-22 19:00:28 -08:00
channel.go lnwallet: add distinct CommitOutputResolution for resolving commit outputs on-chain 2018-01-22 19:19:31 -08:00
common_test.go lnwallet: Move mocks to separate file and augment mockSigner. 2018-01-22 19:00:28 -08:00
config.go lnwallet: flesh out the Config struct, wallet constructor now takes 2017-07-30 17:49:41 -07:00
fee_estimator.go multi: add bitcoind drivers and tests 2018-01-15 13:59:34 -08:00
interface_test.go multi: add bitcoind drivers and tests 2018-01-15 13:59:34 -08:00
interface.go lnwallet: add new PreimageCache interface 2018-01-22 19:19:29 -08:00
log.go lnwallet: don't attach the rpcclient to the lnwallet logging instance 2017-08-30 20:32:37 -07: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: add FundingFlag parameter to InitChannelReservation 2017-12-17 18:35:34 -08:00
script_utils_test.go lnwallet: Move mocks to separate file and augment mockSigner. 2018-01-22 19:00:28 -08:00
script_utils.go lnwallet: update WitnessType names to be more descriptive 2018-01-22 19:19:27 -08:00
signdescriptor_test.go lnwallet: move latest SignDescriptor + serialization 2017-08-25 17:56:50 -07:00
signdescriptor.go lnwallet: update WitnessType names to be more descriptive 2018-01-22 19:19:27 -08:00
sigpool.go lnwallet: ensure sigPool goroutines can always exit 2017-11-11 14:59:56 -08:00
size_test.go lnwallet: Add TxWeightEstimator support for nested pay-to-witness. 2017-10-19 17:37:53 -07:00
size.go lnwallet: add AcceptedHtlcTimeoutWitnessSize to size.go 2018-01-22 19:19:29 -08:00
txout_test.go lnwallet: move txout serialization out of lnwire 2017-09-14 13:56:25 +02:00
txout.go lnwallet: move txout serialization out of lnwire 2017-09-14 13:56:25 +02:00
wallet.go lnwallet: don't use persistent pointer to funding tx within channel state machine 2017-12-22 19:26:35 +01:00
witnessgen.go lnwallet: update WitnessType names to be more descriptive 2018-01-22 19:19:27 -08: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