rust-bitcoin-unsafe-fast/bitcoin/embedded
Tobin C. Harding b7a84d0c68 hashes: Do not implement Deref
Currently we implement `Deref` for hashes. From the docs [0]

 > Deref should only be implemented for smart pointers to avoid confusion

Furthermore because we implement `Deref` as well as implement
`internals::hex::display::DisplayHex` for slices hashes get coerced into
slices and `to_lower_hex_string` can be called on them, this is
incorrect because `DisplayHex` does not account for hashes that display
backwards so we end up with the wrong string.

[0] https://doc.rust-lang.org/std/ops/trait.Deref.html
2022-12-12 12:05:54 +11:00
..
scripts Import bitcoin_hashes crate into hashes 2022-11-08 08:58:09 +11:00
src Import bitcoin_hashes crate into hashes 2022-11-08 08:58:09 +11:00
Cargo.toml hashes: Do not implement Deref 2022-12-12 12:05:54 +11:00
README.md Import bitcoin_hashes crate into hashes 2022-11-08 08:58:09 +11:00
memory.x Import bitcoin_hashes crate into hashes 2022-11-08 08:58:09 +11:00

README.md

Running

To run the embedded test, first prepare your environment:

sudo ./scripts/install-deps
rustup target add thumbv7m-none-eabi

Then:

source ./scripts/env.sh && cargo run --target thumbv7m-none-eabi

Output should be something like:

heap size 524288
secp buf size 66240
Seed WIF: L1HKVVLHXiUhecWnwFYF6L3shkf1E12HUmuZTESvBXUdx3yqVP1D
Address: bc1qpx9t9pzzl4qsydmhyt6ctrxxjd4ep549np9993

Note that this heap size is required because of the amount of stack used by libsecp256k1 when initializing a context.