This updates the dcrutil module dependencies, the copyright year in the files modified since the previous release, and serves as a base for dcrutil/v4.0.0. The updated direct dependencies in this commit are as follows: - github.com/decred/dcrd/txscript/v4@v4.0.0 The full list of updated direct dependencies since the previous dcrutil/v3.0.0 release are as follows: - github.com/decred/dcrd/chaincfg/chainhash@v1.0.3 - github.com/decred/dcrd/dcrec/edwards/v2@v2.0.2 - github.com/decred/dcrd/dcrec/secp256k1/v4@v4.0.1 - github.com/decred/dcrd/txscript/v4@v4.0.0 - github.com/decred/dcrd/wire@v1.5.0 Finally, all modules in the repository that depend on the module are tidied to ensure they are updated to use the latest versions hoisted forward as a result. |
||
|---|---|---|
| .. | ||
| testdata | ||
| doc.go | ||
| README.md | ||
| txsort_test.go | ||
| txsort.go | ||
txsort
Package txsort provides stable transaction sorting.
This package implements 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. It is a modified form of BIP69 which has been updated to account for differences with Decred-specific transactions.
The sort order for transaction inputs is defined as follows:
- Previous transaction tree in ascending order
- Previous transaction hash (treated as a big-endian uint256) lexicographically in ascending order
- Previous output index in ascending order
The sort order for transaction outputs is defined as follows:
- Amount in ascending order
- Public key script version in ascending order
- Raw public key script bytes lexicographically in ascending order
A comprehensive suite of tests is provided to ensure proper functionality.
Installation and Updating
This package is part of the github.com/decred/dcrd/dcrutil/v3 module. Use the
standard go tooling for working with modules to incorporate it.
License
Package txsort is licensed under the copyfree ISC License.