lbcwallet/wallet
Josh Rickmar 4656a00705 Improve wallet atomicity.
This changes the database access APIs and each of the "manager"
packages (waddrmgr/wstakemgr) so that transactions are opened (only)
by the wallet package and the namespace buckets that each manager
expects to operate on are passed in as parameters.

This helps improve the atomicity situation as it means that many
calls to these APIs can be grouped together into a single
database transaction.

This change does not attempt to completely fix the "half-processed"
block problem.  Mined transactions are still added to the wallet
database under their own database transaction as this is how they are
notified by the consensus JSON-RPC server (as loose transactions,
without the rest of the block that contains them). It will make
updating to a fixed notification model significantly easier, as the
same "manager" APIs can still be used, but grouped into a single
atomic transaction.
2018-05-23 19:38:56 -07:00
..
internal/txsizes multi: point all imports towards roasbeef's forks 2018-05-23 19:38:56 -07:00
txauthor multi: point all imports towards roasbeef's forks 2018-05-23 19:38:56 -07:00
txrules txrules: add threshold function in order to reuse it in lnd 2018-05-23 19:38:56 -07:00
chainntfns.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
common.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
createtx.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
disksync.go Use LICENSE file and short license headers. 2016-02-28 22:22:34 -05:00
doc.go Use LICENSE file and short license headers. 2016-02-28 22:22:34 -05:00
loader.go multi: point all imports towards roasbeef's forks 2018-05-23 19:38:56 -07:00
log.go Use LICENSE file and short license headers. 2016-02-28 22:22:34 -05:00
multisig.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
notifications.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
README.md create wallet package 2015-04-02 11:17:45 -07:00
rescan.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
sync.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
unstable.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
utxos.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
wallet.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00

wallet

[Build Status] (https://travis-ci.org/btcsuite/btcwallet)

Feature Overview

TODO: Flesh out this section

Documentation

[GoDoc] (http://godoc.org/github.com/btcsuite/btcwallet/wallet)

Full go doc style documentation for the project can be viewed online without installing this package by using the GoDoc site here: http://godoc.org/github.com/btcsuite/btcwallet/wallet

You can also view the documentation locally once the package is installed with the godoc tool by running godoc -http=":6060" and pointing your browser to http://localhost:6060/pkg/github.com/btcsuite/btcwallet/wallet

Installation

$ go get github.com/btcsuite/btcwallet/wallet

Package wallet is licensed under the copyfree ISC License.