Commit Graph

11 Commits

Author SHA1 Message Date
Jamil Lambert, PhD 75f317a689 Fix rustdoc grammar
In the rustdocs, made all function descriptions third person. Corrected
some grammar and improved some wording.
2024-07-08 08:52:15 +01:00
Jamil Lambert, PhD 573f8ce724 Add backticks to rustdoc links
Links in rustdocs should be formatted with a backtick.  This has been
changed throughout Units.
2024-07-08 08:52:15 +01:00
Tobin C. Harding a5b93cb159
Flesh out hex unit parsing API
Add to `units::parse` the complete suit of hex unit parsing functions:

- remove prefix
- assert without prefix
- parse with or without prefix
- parse with prefix
- parse without prefix
- parse prefix unchecked

Refactor `bitcoin` to use the exact function we need, removing code
duplication.

This is a breaking change to `units`, it does however keep the current
re-exports from the public, now empty, `bitcoin::error` module.
2024-05-24 14:32:47 +10:00
Tobin C. Harding d33625f6e2
units: Introduce public hex_u128 function
Introduce a function for parsing a `u128` from hex. Support strings with
and without a `0x` prefix as we do for `hex_u32`.
2024-04-03 07:09:46 +11:00
Tobin C. Harding 9705d51782
docs: Use backticks on stdlib type 2024-04-03 07:09:46 +11:00
Tobin C. Harding cf65bf035f
Introduce local variable
To make the stripping of the prefix a little clearer introduce a local
variable.

Refactor only, no logic changes.
2024-04-03 07:09:46 +11:00
Tobin C. Harding 1269722770
Move helper function
Move the `strip_hex_prefix` helper function to below where it is called.
Note that I was the original author of this helper so there is no excuse
for it being above - bad Tobin no biscuit.
2024-04-03 07:09:46 +11:00
Tobin C. Harding dca054c680
test: Add unit tests for hex_u32
Test the current behaviour of `hex_u32` - verifies that we handle
parsing strings with and without a prefix.
2024-04-03 07:09:46 +11:00
Fmt Bot a565db9fdd 2024-03-31 automated rustfmt nightly 2024-03-31 01:03:18 +00:00
Tobin C. Harding 290e4418e6
units: Fix cargo cult programming
When creating the ParseIntError in `hex_u32` I (Tobin) just cargo cult
programmed the generic stuff without thinking.

- The `is_signed` field is used to denote whether we were attempting to
parse a signed or unsigned integer, it should be `false`.
- The `bits` field should be directly set to 32.
2024-03-19 09:59:11 +11:00
Tobin C. Harding cbee9781e8
Move unit types to units
Move the following unit types to the new `units` crate:

- `locktime::absolute::{Height, Time}`
- `locktime::relative::{Height, Time}`
- `FeeRate`
- `Weight`

Also move the `parse` module as well as constants as required.

Do minimal changes to get things building:

- Feature gate on "alloc" as needed.
- Remove rustdocs that use `bitcoin` types.
- Re-export units types so this is a non-breaking change.
- Fix import paths.
2024-03-12 11:59:39 +11:00