lbcwallet/wtxmgr
Roei Erez 1c43ed9294 wtxmgr: fix broadcast existing transaction
This commit ensures the wallet won't enter an inconsitent state
by checking tx confirmation before adding credit.
Without this fix, In the case the existing transaction is already
confirmed on-chain the flow updates the bucketUnminedCredits but
without adding en entry also to the bucketUnmined resulting in
inconsistent state.
2019-10-31 00:28:21 +02: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: fix broadcast existing transaction 2019-10-31 00:28:21 +02:00
tx_test.go wtxmgr: fix broadcast existing transaction 2019-10-31 00:28:21 +02: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.