btcd/btcutil/txsort
Calvin Kim ba5407615d multi: Run gofmt on the entire repository
The doc formatting changes introduced in the recent go version is
increasing the diff for all of the new commits.  Formatting it all in
this commit will help the readability of future PRs by reducing the
diff.
2023-06-21 22:31:09 +09:00
..
testdata btcutil: move btcutil into new sub-module 2022-01-10 18:44:56 -08:00
doc.go multi: Run gofmt on the entire repository 2023-06-21 22:31:09 +09:00
README.md btcutil: move btcutil into new sub-module 2022-01-10 18:44:56 -08:00
txsort_test.go multi: Run gofmt on the entire repository 2023-06-21 22:31:09 +09:00
txsort.go btcutil: move btcutil into new sub-module 2022-01-10 18:44:56 -08:00

txsort

Build Status ISC License GoDoc

Package txsort provides the transaction sorting according to BIP 69.

BIP 69 defines a standard lexicographical sort order of transaction inputs and outputs. This is useful to standardize transactions for faster multi-party agreement as well as preventing information leaks in a single-party use case.

The BIP goes into more detail, but for a quick and simplistic overview, the order for inputs is defined as first sorting on the previous output hash and then on the index as a tie breaker. The order for outputs is defined as first sorting on the amount and then on the raw public key script bytes as a tie breaker.

A comprehensive suite of tests is provided to ensure proper functionality.

Installation and Updating

$ go get -u github.com/btcsuite/btcd/btcutil/txsort

License

Package txsort is licensed under the copyfree ISC License.