lnd.xprv/lnwallet
Olaoluwa Osuntokun 5449ba2b34
lnwallet: revamp interfaces, add BlockChainIO and Singer
This commit revamps the previous WalletController interface, edging it
closer to a more complete version.

Additionally, this commit also introduces two new interfaces:
BlockchainIO, and Singer along with a new factor driver struct, the
WalletDriver.

This BlockChainIO abstracts read-only access to the blockchain, while
the Singer interface abstracts the signing of inputs from the base
wallet paving the way to hardware wallets, air-gapped signing, etc.

Finally, in order to provide an easy method for selecting a particular
concrete implementation of a WalletController interface, the concept of
registering “WalletDriver”s has been introduced. A wallet driver is
essentially the encapsulation of a factory function capable of create a
new instance of a Wallet Controller.
2016-09-08 12:25:28 -07:00
..
channel_test.go lnwallet: add basic tests for cooperative channel closure 2016-07-27 11:32:35 -07:00
channel.go lnwallet: use the ChainNotifier interface throughout instead of BtcdNotifier 2016-09-01 19:13:19 -07:00
config.go multi: change all imports to roasbeef's forks 2016-05-15 17:22:37 +03:00
interface.go lnwallet: revamp interfaces, add BlockChainIO and Singer 2016-09-08 12:25:28 -07:00
log.go lnwallet: switch name of package logger to avoid module collision 2016-07-27 11:29:07 -07:00
reservation.go lnwallet: update reservation workflow to revoke keys 2016-06-30 12:02:51 -07:00
script_utils_test.go lnwallet: createCommitTx now a revocation key 2016-06-30 12:12:19 -07:00
script_utils.go lnwallet: fix bug in lockTimeToSequence function 2016-08-25 16:25:32 -07:00
setup.go multi: change all imports to roasbeef's forks 2016-05-15 17:22:37 +03:00
wallet_test.go lnwallet: use the ChainNotifier interface throughout instead of BtcdNotifier 2016-09-01 19:13:19 -07:00
wallet.go lnwallet: use the ChainNotifier interface throughout instead of BtcdNotifier 2016-09-01 19:13:19 -07:00