rust-bitcoin-unsafe-fast/units
Tobin C. Harding d174c06a4a
Saturate to_fee to Amount::MAX
The `FeeRate::checked_mul_by_weight` function currently returns a
`NumOpResult` but all other `checked_` functions return an `Option`.
This is surprising and adds no additional information.

Change `checked_mul_by_weight` to return `None` on overflow. But in
`to_fee` saturate to `Amount::MAX` because doing so makes a few APIs
better without any risk since a fee must be checked anyway so
`Amount::MAX` as a fee is equally descriptive in the error case.

This leads to removing the `NumOpResult` from `effective_value` also.

Note that sadly we remove the very nice docs on `NumOpResult::map`
because they no longer work.

Fix: #4497
2025-05-31 07:52:00 +01:00
..
contrib Add Arbitrary dependency 2024-08-23 15:39:20 -05:00
src Saturate to_fee to Amount::MAX 2025-05-31 07:52:00 +01:00
tests Implement CheckedSum for Weight iterator 2025-05-26 19:01:56 -05:00
CHANGELOG.md Add unreleased changelog entry 2025-01-25 06:52:26 +11:00
Cargo.toml refactor: use path dependencies for workspace members in bitcoin/Cargo.toml 2025-03-27 12:55:16 +08:00
README.md docs: fix LICENCE link 2025-03-23 11:41:07 +00:00

README.md

Bitcoin Units

This crate provides basic Bitcoin numeric units such as Amount.

Minimum Supported Rust Version (MSRV)

This library should always compile with any combination of features on Rust 1.63.0.

Licensing

The code in this project is licensed under the Creative Commons CC0 1.0 Universal license. We use the SPDX license list and SPDX IDs.