lnd.xprv/lnwallet
Olaoluwa Osuntokun 8c1181af3b
lnwallet: add LastUnusedAddress to WalletController interface
In this commit, we add a new `LastUnusedAddress` method to the
`WalletController` interface. Callers can use this new method to graph
the last unused address, which can be useful for UIs that want to
refresh the address, but not cause nearly unbounded address generation.

The implementation for `btcwallet` uses the existing `CurrentAddress`
method. We've also added a new integration tests to exercise the new
functionality.
2019-03-05 15:35:24 -08:00
..
btcwallet lnwallet: add LastUnusedAddress to WalletController interface 2019-03-05 15:35:24 -08:00
channel_test.go cnct+lnwl+hswc: use lntypes.Preimage for witness beacon 2019-02-19 17:06:00 -08:00
channel.go lnwallet+peer: remove unnecessary MaxPendingAmount method 2019-02-25 12:51:31 -03:00
config.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
errors.go Revert "funding+lnwallet: ensure max_htlc_value_in_flight smaller than capacity" 2019-01-29 17:58:04 -08: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: add LastUnusedAddress to WalletController interface 2019-03-05 15:35:24 -08:00
interface.go lnwallet: add LastUnusedAddress to WalletController interface 2019-03-05 15:35:24 -08:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09: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: move Input interface and related code 2019-01-31 13:25:33 +01:00
sigpool.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
size_test.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
test_utils.go cnct+lnwl+hswc: use lntypes.Preimage for witness beacon 2019-02-19 17:06:00 -08:00
transactions_test.go cnct+lnwl+hswc: use lntypes.Preimage for witness beacon 2019-02-19 17:06:00 -08:00
transactions.go multi: move Input interface and related code 2019-01-31 13:25:33 +01:00
wallet.go multi: move Input interface and related code 2019-01-31 13:25:33 +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