rust-bitcoin-unsafe-fast/bitcoin
Tobin C. Harding e87a54f617
Enforce script size limit when hashing scripts
There are two limits that the Bitcoin network enforces in regard to
hashing scripts

- For P2SH the redeem script must be less than 520 bytes
- For P2WSH the witness script must be less than 10,000 bytes

Currently we are only enforcing the p2sh limit when creating an address
with `Address::p2sh`.

There are various ways to create addresses from script hashes and if
users manually hash a script then use the `ScriptHash` (or
`WScritpHash`) our APIs assume the script that was hashed is valid. This
means there is the potential for users to get burned by creating
addresses that cannot be spent, something we would like to avoid.

- Add fallible constructors to `ScriptHash` and `WScriptHash`
- Add `TryFrom` impls as well to both types
- Remove the `From` impls
2024-06-17 10:32:03 +10:00
..
contrib CI: Remove shebang from non-executable scripts 2024-05-31 10:10:00 +10:00
embedded Pass keys by value 2024-06-14 14:16:28 +10:00
examples Merge rust-bitcoin/rust-bitcoin#2868: Pass keys by value 2024-06-14 23:56:46 +00:00
src Enforce script size limit when hashing scripts 2024-06-17 10:32:03 +10:00
tests Add inherent functions to hashes 2024-06-14 10:17:00 +10:00
CHANGELOG.md bitcoin: Bump version to 0.32.0-rc1 2024-04-05 08:10:08 +11:00
Cargo.toml Merge rust-bitcoin/rust-bitcoin#2856: bitcoin: Remove "std" feature from examples 2024-06-12 03:52:08 +00:00
build.rs Bump MSRV to Rust version 1.56.1 2023-11-23 06:20:02 +11:00