lnd.xprv/lnwallet
Jason Dufair 84551c616f lnwallet/lnrpc: Expose sync status to gRPC interface
This commit adds wallet_best_block_timestamp to the gRPC interface.
This is done in order to allow clients to calculate progress while
lnd syncs to the blockchain. wallet_best_block_timestamp is exposed
via the GetInfo() rpc call. Additionally, IsSynced() returns the
WalletBestBlockTimestamp as the second value in the tuple
that is returned, providing additional detail when querying about the
status of the sync. The BtcWallet interface has also been updated
accordingly.

This commit was created to support the issue to
[Add progress bar for chain sync] (lightninglabs/lightning-app#10) in
lightning-app
2018-02-20 19:00:06 -08:00
..
btcwallet lnwallet/lnrpc: Expose sync status to gRPC interface 2018-02-20 19:00:06 -08:00
channel_test.go lnwallet test: add channel constraints tests 2018-02-08 18:35:25 -05:00
channel.go lnwallet: fully validate all channel constraints in validateCommitmentSanity 2018-02-08 18:35:25 -05:00
common_test.go lnwallet: Implement test vectors from BOLT 03, Appendix C. 2018-01-31 14:30:56 -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: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
interface_test.go lnwallet: update tests to use latest neutrino API 2018-02-09 12:16:17 -08:00
interface.go lnwallet/lnrpc: Expose sync status to gRPC interface 2018-02-20 19:00:06 -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: cleanup of reservation.CommitConstraints, and move RemoteChanConstraints. 2018-02-08 18:35:24 -05:00
script_utils_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
script_utils.go multi: fixing it's/its typos in comments 2018-02-06 19:13:07 -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: update state machine to use new lnwire.Sig everywhere 2018-02-06 20:14:31 -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: update OfferedHtlcSuccessWitnessSize to factor in preimage size 2018-01-22 19:19:57 -08:00
transactions_test.go lnwallet: update transactions_test.go due to recent API changes 2018-01-31 14:31:14 -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 multi: fixing it's/its typos in comments 2018-02-06 19:13:07 -08:00
witnessgen.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -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