rust-bitcoin-unsafe-fast/bitcoin
Andrew Poelstra f00b6362a0
Merge rust-bitcoin/rust-bitcoin#1636: Weight prediction
ae2aaaa436 Add `script_pubkey_lens` method (Martin Habovstiak)
cf068d16b0 Implement transaction weight prediction (Martin Habovstiak)

Pull request description:

  When creating a transaction one must know the the fee beforehand to set
  appropriate amounts for outputs and to know the fee, weight is required.
  So far we only had a method on an already-constructed transaction. This
  method clearly wasn't helpful when constructing the transaction except
  for hacks like temporarily adding an all-zeroes signature.

  This change adds a function that can compute the transaction weight
  without knowing individual bytes of the scripts, witnesses and other
  elements. It only needs to know their sizes.

  To make the API less error-prone a special, trivial, type is also added
  for computing the lengths of witnesses.

  Based on #1627

ACKs for top commit:
  apoelstra:
    ACK ae2aaaa436
  tcharding:
    ACK ae2aaaa436

Tree-SHA512: 55376601c2c2826bb0909cc25ff5b65816f0b1a2d57fb2cd8831f3db5382de0f4a364d518b312f0528bb5f44c30f3f74f8d254145eed2bfd65e2332b7c4d7c8b
2023-02-13 22:40:42 +00:00
..
contrib Improve test coverage for docs build 2023-01-16 13:56:56 +11:00
embedded Instruct devs to use nightly for embedded 2023-02-03 08:44:47 +11:00
examples Remove FromHex for all types except Vec and array 2023-02-01 08:26:46 +11:00
fuzz Add `Weight` and `FeeRate` newtypes 2023-02-08 23:17:30 +01:00
src Merge rust-bitcoin/rust-bitcoin#1636: Weight prediction 2023-02-13 22:40:42 +00:00
tests Move hex data to tests/data 2023-02-10 11:53:02 +11:00
CHANGELOG.md add some documentation clarifying the locktime ordering shenanigans in #1330 2022-12-15 23:12:03 +00:00
Cargo.toml Fix docs.rs to use all features 2023-02-10 08:04:11 +11:00
build.rs Set rustv_1_53 in build script 2023-02-02 10:12:16 +11:00