83e0116d7e
This commit adds a new companion struct: OutgoingHtlcResolution to the commitment state machine. The purpose of this struct is the provide the caller with the information necessary to sweep all outgoing HTLC’s in the case of a broadcast up-to-date commitment transaction. The HTLC resolutions allow a caller to sweep an outgoing HTLC into their wallet after the absolute timeout of the HTLc has passed. This is a two step process, with the first portion consisting of broadcasting the HTLC timeout transaction itself, and the second portion consisting of claiming the HTLC itself after a CSV delay. |
||
---|---|---|
.. | ||
btcwallet | ||
channel_test.go | ||
channel.go | ||
config.go | ||
interface_test.go | ||
interface.go | ||
log.go | ||
parameters.go | ||
README.md | ||
reservation.go | ||
script_utils_test.go | ||
script_utils.go | ||
sigpool.go | ||
size.go | ||
wallet.go |
lnwallet
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