lbcwallet/wtxmgr
Wilmer Paulino 0ae78b1f56
wtxmgr: only remove entry for specified spending transaction
In this commit, we address an issue with the wallet store where it'd be
possible for us to keep lingering unconfirmed transaction entries for an
output that has been spent by a different, confirmed transaction. This
was caused due to us removing all spending transaction entries for a
given output when removing conflicts. Since all of the entries would be
removed, we weren't able to retrieve the hashes of the remaining
spending transactions to remove their records as well. Instead, we
propose to only remove the entry for the specified spending transaction.
2019-03-22 16:59:04 -07:00
..
db.go wtxmgr: only remove entry for specified spending transaction 2019-03-22 16:59:04 -07:00
doc.go Use LICENSE file and short license headers. 2016-02-28 22:22:34 -05:00
error.go Improve wallet atomicity. 2018-05-23 19:38:56 -07:00
example_test.go wtxmgr: convert unit tests to be package-level 2018-11-14 18:09:10 -08:00
kahnsort.go wtxmgr: export dependencySort 2019-01-31 16:42:53 -08:00
kahnsort_test.go wtxmgr/khansort_test: add DependencySort unit tests 2019-01-31 16:43:22 -08:00
log.go wtxmgr+wallet: add wtxmgr sublogger 2018-11-14 18:09:10 -08:00
migrations.go wtxmgr/migrations: add drop transaction history migration 2018-11-14 18:09:10 -08:00
migrations_test.go wtxmgr/migrations: add drop transaction history migration 2018-11-14 18:09:10 -08:00
query.go multi: switch import paths back to upstream 2018-05-23 19:38:56 -07:00
query_test.go wtxmgr: convert unit tests to be package-level 2018-11-14 18:09:10 -08:00
README.md multi: switch import paths back to upstream 2018-05-23 19:38:56 -07:00
tx.go wtxmgr: remove old migration logic 2018-11-05 17:58:16 -08:00
tx_test.go wtxmgr: only remove entry for specified spending transaction 2019-03-22 16:59:04 -07:00
unconfirmed.go wtxmgr: only remove entry for specified spending transaction 2019-03-22 16:59:04 -07:00

wtxmgr

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

Package wtxmgr provides storage and spend tracking of wallet transactions and their relevant input and outputs.

Feature overview

  • Storage for relevant wallet transactions
  • Ability to mark outputs as controlled by wallet
  • Unspent transaction output index
  • Balance tracking
  • Automatic spend tracking for transaction inserts and removals
  • Double spend detection and correction after blockchain reorgs
  • Scalable design:
    • Utilizes similar prefixes to allow cursor iteration over relevant transaction inputs and outputs
    • Programmatically detectable errors, including encapsulation of errors from packages it relies on
    • Operates under its own walletdb namespace

Documentation

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

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/wtxmgr

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/wtxmgr

Installation

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

Package wtxmgr is licensed under the copyfree ISC License.