Skip to content

Commit 570ca18

Browse files
committed
Merge branch 'bip32-ed25519'
2 parents 1fa6332 + 17c3d0a commit 570ca18

File tree

9 files changed

+34
-28
lines changed

9 files changed

+34
-28
lines changed

.cargo/config.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ git = "https://github.com/probe-rs/rtt-target.git"
66
rev = "117d9519a5d3b1f4bc024bc05f9e3c5dec0a57f5"
77
replace-with = "vendored-sources"
88

9-
[source."git+https://github.com/digitalbitbox/rust-bip32-ed25519?tag=v0.1.2"]
9+
[source."git+https://github.com/BitBoxSwiss/rust-bip32-ed25519?tag=v0.2.1"]
1010
git = "https://github.com/BitBoxSwiss/rust-bip32-ed25519"
11-
tag = "v0.2.0"
11+
tag = "v0.2.1"
1212
replace-with = "vendored-sources"
1313

1414
[source."git+https://github.com/benma/rust-bip39.git?branch=bb02"]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"files":{".github/workflows/ci.yml":"f465a052857e00c4a513784ae8527fca34a9a0b1075c7511bbf302b96d6e9e36","Cargo.toml":"5723b22b427c57970086646e75e93276fe8d61215dc394419613c81257210950","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"5530596cde343de2238ec3276d94599ff6e78b7b7a20f6143162b3eceb727f29","README.md":"99a18dfc2a588d8b8cb3c287dad52d2e76c2b2b3be0e7a95cce19f509e9d59d7","src/arbitrary.rs":"ecb52788eec1142459ab252c320a5f0e421eb63cf959260b16e689ccfc8f2590","src/bigint.rs":"756b33c8d971b282b43268671c08fb4d8af095a6ebb6e9dc0c750631650e4d14","src/lib.rs":"93a19d865e85bde9646e42ef6c6b5106d6876c71fcffedad4b2c523deeb6f951","tests/table_test.rs":"7cba52f2578cfaf44f7d01a14ae1ce3b2b21857079722b7f04a507ca2884d878","tests/testdata/gen_table.py":"2fd91055920d9ac4cfb6c004b96aca42aaf2e3cf074d0d49d48ada993abdaedf","tests/testdata/table.json":"9e37a43d759f793b091f87488ea4b6d733154a10d29554c5103e12d617ae70cd"},"package":null}
1+
{"files":{".github/workflows/ci.yml":"d0ff5825b83ec08980dbb04e73e937b936197b228b1bb011bcaafd3e77c28688","Cargo.toml":"adfbd61e5383bc0797d07f7ca8066f036d608eb0a8a8b94b0324de8253d3b23d","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"5530596cde343de2238ec3276d94599ff6e78b7b7a20f6143162b3eceb727f29","README.md":"99a18dfc2a588d8b8cb3c287dad52d2e76c2b2b3be0e7a95cce19f509e9d59d7","rustfmt.toml":"f32d2f03b3f4b1e295c79ed49d543f1205c7dac7c3dc74f05a5a27af4fea0584","src/arbitrary.rs":"ecb52788eec1142459ab252c320a5f0e421eb63cf959260b16e689ccfc8f2590","src/bigint.rs":"756b33c8d971b282b43268671c08fb4d8af095a6ebb6e9dc0c750631650e4d14","src/lib.rs":"5744fd99f11d4a98bf88a5f4e9f73e13eb56cf7b29bacd8ebd98736bd06d88af","tests/table_test.rs":"2507b6b762fa27044a0a3922073ee50e4bcfc2f66b10f8e3ac9d36a12818c51f","tests/testdata/gen_table.py":"2fd91055920d9ac4cfb6c004b96aca42aaf2e3cf074d0d49d48ada993abdaedf","tests/testdata/table.json":"9e37a43d759f793b091f87488ea4b6d733154a10d29554c5103e12d617ae70cd"},"package":null}

external/vendor/bip32-ed25519/.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on: [push, pull_request]
88
jobs:
99
lint:
1010
name: Lint
11-
runs-on: ubuntu-22.04
11+
runs-on: ubuntu-24.04
1212
steps:
1313
- name: Checkout sources
1414
uses: actions/checkout@v4
@@ -35,7 +35,7 @@ jobs:
3535

3636
test:
3737
name: Test Suite
38-
runs-on: ubuntu-22.04
38+
runs-on: ubuntu-24.04
3939
steps:
4040
- name: Checkout sources
4141
uses: actions/checkout@v4

external/vendor/bip32-ed25519/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
# See Cargo.toml.orig for the original contents.
1111

1212
[package]
13-
edition = "2021"
13+
edition = "2024"
1414
name = "bip32-ed25519"
15-
version = "0.2.0"
15+
version = "0.2.1"
1616
authors = ["Shift Crypto AG <[email protected]>"]
1717
build = false
1818
autolib = false
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
edition = "2024"

external/vendor/bip32-ed25519/src/lib.rs

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ use alloc::boxed::Box;
1515
use core::convert::TryInto;
1616

1717
use core::ops::{Deref, DerefMut};
18-
use digest::{core_api::BlockSizeUser, typenum::U64, Digest};
18+
use digest::{Digest, core_api::BlockSizeUser, typenum::U64};
1919
use hmac::{Mac, SimpleHmac};
20-
use zeroize::{Zeroize, Zeroizing};
20+
use zeroize::{Zeroize, ZeroizeOnDrop, Zeroizing};
2121

2222
use curve25519_dalek::{
2323
edwards::{CompressedEdwardsY, EdwardsPoint},
@@ -115,8 +115,7 @@ impl<D: Digest<OutputSize = U64> + BlockSizeUser> Xpub<D> {
115115
}
116116
}
117117

118-
#[derive(Zeroize, Clone, Debug, PartialEq)]
119-
#[zeroize(drop)]
118+
#[derive(Zeroize, ZeroizeOnDrop, Clone, Debug, PartialEq)]
120119
struct XprvData {
121120
// An xprv consists of an expanded Ed25519 secret key and a chain
122121
// code.
@@ -134,7 +133,7 @@ struct XprvData {
134133
}
135134

136135
/// The `D` digest type param must implement SHA512. Use `sha2::Sha512` if in doubt.
137-
#[derive(Clone, Debug)]
136+
#[derive(Zeroize, ZeroizeOnDrop, Clone, Debug)]
138137
pub struct Xprv<D: Digest<OutputSize = U64> + BlockSizeUser + Clone>(
139138
// The data is boxed so that moving an `Xprv` does not accidentally
140139
// leave copies of the data on the stack.
@@ -371,18 +370,24 @@ mod tests {
371370

372371
#[test]
373372
fn xpub_hard_derivation_fails() {
374-
assert!(Xprv::<Sha512>::from_normalize(KEY, CHAIN_CODE)
375-
.public()
376-
.derive(HARDENED_OFFSET - 1)
377-
.is_ok());
378-
assert!(Xprv::<Sha512>::from_normalize(KEY, CHAIN_CODE)
379-
.public()
380-
.derive(HARDENED_OFFSET)
381-
.is_err());
382-
assert!(Xprv::<Sha512>::from_normalize(KEY, CHAIN_CODE)
383-
.public()
384-
.derive(u32::MAX)
385-
.is_err());
373+
assert!(
374+
Xprv::<Sha512>::from_normalize(KEY, CHAIN_CODE)
375+
.public()
376+
.derive(HARDENED_OFFSET - 1)
377+
.is_ok()
378+
);
379+
assert!(
380+
Xprv::<Sha512>::from_normalize(KEY, CHAIN_CODE)
381+
.public()
382+
.derive(HARDENED_OFFSET)
383+
.is_err()
384+
);
385+
assert!(
386+
Xprv::<Sha512>::from_normalize(KEY, CHAIN_CODE)
387+
.public()
388+
.derive(u32::MAX)
389+
.is_err()
390+
);
386391
}
387392

388393
#[test]

external/vendor/bip32-ed25519/tests/table_test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::fs::File;
33
use std::io::BufReader;
44

55
// Our crate:
6-
use bip32_ed25519::{Xprv, ED25519_EXPANDED_SECRET_KEY_SIZE};
6+
use bip32_ed25519::{ED25519_EXPANDED_SECRET_KEY_SIZE, Xprv};
77

88
// Another crate for comparison:
99
use ed25519_bip32;

src/rust/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rust/bitbox02-rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ zeroize = { workspace = true }
4242
num-bigint = { workspace = true, optional = true }
4343
num-traits = { version = "0.2", default-features = false }
4444
# If you change this, also change src/rust/.cargo/config.toml.
45-
bip32-ed25519 = { git = "https://github.com/BitBoxSwiss/rust-bip32-ed25519", tag = "v0.2.0", optional = true }
45+
bip32-ed25519 = { git = "https://github.com/BitBoxSwiss/rust-bip32-ed25519", tag = "v0.2.1", optional = true }
4646
bech32 = { workspace = true, optional = true }
4747
blake2 = { version = "0.10.6", default-features = false, optional = true }
4848
minicbor = { version = "0.24.0", default-features = false, features = ["alloc"], optional = true }

0 commit comments

Comments
 (0)