lbcwallet/wtxmgr
Wilmer Paulino 66e09f252d
wtxmgr: remove unconfirmed input reference for confirmed transcation
Previously, inserting a transaction as unconfirmed into the store and
later confirming it would leave a lingering unconfirmed input record.
This was discovered as part of
https://github.com/btcsuite/btcwallet/pull/655. This issue would only
affect the wallet if it tracked spent transaction outputs, which it
doesn't. We aim to resolve it in any case for the sake of internal
consistency.
2019-10-30 16:44:55 -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
go.mod wtxmgr: create new wtxmgr submodule 2019-09-05 16:57:26 -07:00
go.sum wtxmgr: create new wtxmgr submodule 2019-09-05 16:57:26 -07: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 unconfirmed input reference for confirmed transcation 2019-10-30 16:44:55 -07:00
tx_test.go wtxmgr: add TestInsertMempoolTxAndConfirm 2019-10-30 16:44:54 -07:00
unconfirmed.go wtxmgr: prevent adding existing confirmed transactions as unconfirmed 2019-07-10 16:25:00 -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.