rust-bitcoin-unsafe-fast/bitcoin
Andrew Poelstra 1b8f52a804
Merge rust-bitcoin/rust-bitcoin#1567: Use `sha256d::Hash` type for sighash encoding
49e8b8da32 Use write_all for sighash encoding (Tobin C. Harding)

Pull request description:

  From BIP143:

  > If sighash type is SINGLE and the input index is smaller than the number of outputs, hashOutputs is the double SHA256 of the output amount with scriptPubKey of the same index as the input;

  Currently we are using a `Sighash` which wraps double sha256 so while technically correct this means we are relying on `Sighash` to implement `Encodable`. We can remove this requirement by directly using the `sha256d::Hash` type to hash the outputs data.

  Fix: #1549

ACKs for top commit:
  Kixunil:
    ACK 49e8b8da32
  apoelstra:
    ACK 49e8b8da32

Tree-SHA512: 8dd0037245a7cf180ba8a6eceeadad912d4adc14fc3f49df9008856de262624666d7d575195eea4868b2a5252dc565590e6be78471053b5e6367f3d2363310e8
2023-01-24 14:52:25 +00:00
..
contrib Remove rand-std dev-dependency from secp256k1 2022-12-23 08:33:21 +11:00
embedded Patch hashes and update the code 2022-12-18 14:33:55 +01:00
examples Use marker type to enforce validation of `Address`'s network 2023-01-11 19:27:10 +08:00
fuzz Use marker type to enforce validation of `Address`'s network 2023-01-11 19:27:10 +08:00
src Merge rust-bitcoin/rust-bitcoin#1567: Use `sha256d::Hash` type for sighash encoding 2023-01-24 14:52:25 +00:00
tests Use as_ref() instead of costly clone() 2023-01-09 23:17:04 -05:00
CHANGELOG.md add some documentation clarifying the locktime ordering shenanigans in #1330 2022-12-15 23:12:03 +00:00
Cargo.toml bip158: Replace usage of HashSet with BTreeSet 2023-01-23 08:38:08 +11:00
build.rs Implement consensus encoding adapter for serde 2022-12-02 10:48:05 +01:00