Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions bip0032/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- `src/lib.rs` is the crate entry and re-exports the public API.
- `src/path/` defines derivation paths and child numbers.
- `src/xkey/` contains extended key types and payload/version handling.
- `src/curve/secp256k1/` holds backend-specific secp256k1 implementations (k256, secp256k1, libsecp256k1).
- `src/curve/secp256k1/` holds backend-specific secp256k1 implementations (k256, secp256k1).
- `src/curve/nist256p1/` holds the NIST P-256 (p256) backend implementation for SLIP-0010.
- `src/curve/ed25519/` holds the ed25519 backend implementation for SLIP-0010.
- `src/curve/slip10.rs` contains SLIP-0010 marker traits.
Expand Down Expand Up @@ -43,8 +43,8 @@
## Feature Flags & Backends

- `std` enables standard library support; `k256` is the default secp256k1 backend.
- Optional backends: `secp256k1` and `libsecp256k1` (note: libsecp256k1 is unmaintained).
- SLIP-0010 features: `slip10` (core), `k256`|`secp256k1`|`libsecp256k1` (secp256k1), `p256` (nist256p1), `ed25519-dalek` (ed25519).
- Optional backends: `k256` and `secp256k1`.
- SLIP-0010 features: `slip10` (core), `k256`|`secp256k1` (secp256k1), `p256` (nist256p1), `ed25519-dalek` (ed25519).
- When modifying backend code, validate the affected feature set with explicit `--features` flags.

## Commit & Pull Request Guidelines
Expand Down
7 changes: 3 additions & 4 deletions bip0032/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ Another Rust implementation of [BIP-0032](https://github.com/bitcoin/bips/blob/m

## Support curves and features

| Curve | Feature | Backends | Hardened | Non-hardened (private) | Non-hardened (public) | Serialization |
| --------- | --------------------------------------- | ----------------------------- | -------- | ---------------------- | --------------------- | ------------- |
| secp256k1 | `k256` \| `secp256k1` \| `libsecp256k1` | k256, secp256k1, libsecp256k1 | yes | yes | yes | yes |
| Curve | Feature | Backends | Hardened | Non-hardened (private) | Non-hardened (public) | Serialization |
| --------- | --------------------- | --------------- | -------- | ---------------------- | --------------------- | ------------- |
| secp256k1 | `k256` \| `secp256k1` | k256, secp256k1 | yes | yes | yes | yes |

## Usage

Expand Down Expand Up @@ -96,7 +96,6 @@ See documentation and examples at https://docs.rs/bip0032.
- [x] Multiple secp256k1 backends
- [`k256`](https://github.com/RustCrypto/elliptic-curves/tree/master/k256) (by default)
- [`secp256k1`](https://github.com/rust-bitcoin/rust-secp256k1)
- [`libsecp256k1`](https://github.com/paritytech/libsecp256k1)
- [x] Optional SLIP-0010 support
- secp256k1 ([compatible with BIP32](https://github.com/satoshilabs/slips/blob/master/slip-0010.md#compatibility-with-bip-0032))
- NIST P-256 (a.k.a. secp256r1, prime256v1) ([`p256`](https://github.com/RustCrypto/elliptic-curves/tree/master/p256))
Expand Down
10 changes: 5 additions & 5 deletions bip0032/SLIP-0010.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ but the derivation rules and supported curves differ.

## Supported curves and features

| Curve | Feature | Backends | Hardened | Non-hardened (private) | Non-hardened (public) | Serialization |
| --------- | ---------------------------------------------------- | ----------------------------- | -------- | ---------------------- | --------------------- | ------------- |
| secp256k1 | `slip10` + (`k256` \| `secp256k1` \| `libsecp256k1`) | k256, secp256k1, libsecp256k1 | yes | yes | yes | no |
| nist256p1 | `slip10` + `p256` | p256 | yes | yes | yes | no |
| ed25519 | `slip10` + `ed25519-dalek` | ed25519-dalek | yes | no | no | no |
| Curve | Feature | Backends | Hardened | Non-hardened (private) | Non-hardened (public) | Serialization |
| --------- | ---------------------------------- | --------------- | -------- | ---------------------- | --------------------- | ------------- |
| secp256k1 | `slip10` + (`k256` \| `secp256k1`) | k256, secp256k1 | yes | yes | yes | no |
| nist256p1 | `slip10` + `p256` | p256 | yes | yes | yes | no |
| ed25519 | `slip10` + `ed25519-dalek` | ed25519-dalek | yes | no | no | no |

Note: SLIP-0010 does not define a standardized extended key serialization.
Only the BIP32 secp256k1 encoding (xpub/xprv) is supported for serialization.
Expand Down
2 changes: 1 addition & 1 deletion bip0032/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
//!
//! | Curve | Feature | Backends | Hardened | Non-hardened (private) | Non-hardened (public) | Serialization |
//! | --- | --- | --- | --- | --- | --- | --- |
//! | secp256k1 | `k256` \| `secp256k1` \| `libsecp256k1` | k256, secp256k1, libsecp256k1 | yes | yes | yes | yes |
//! | secp256k1 | `k256` \| `secp256k1` | k256, secp256k1 | yes | yes | yes | yes |
//!
//! ## Usage
//!
Expand Down