Skip to content

Commit 03a7434

Browse files
committed
Merge remote-tracking branch 'benma/update-deps'
2 parents 897e9d3 + e5e73b7 commit 03a7434

File tree

465 files changed

+31564
-30829
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

465 files changed

+31564
-30829
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ customers cannot upgrade their bootloader, its changes are recorded separately.
77
## Firmware
88

99
### [Unreleased]
10+
- Display device name on screen before unlock
1011
- Bitcoin: add support for payment requests
1112
- Bitcoin: allow multisig accounts at arbitrary keypaths
13+
- Bitcoin: allow spendung UTXOs at very high BIP-44 address indices
1214
- Ethereum: allow signing EIP-712 messages containing multi-line strings
1315

1416
### 9.18.0

src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ set(DBB-FIRMWARE-UI-SOURCES
8787
${CMAKE_SOURCE_DIR}/src/ui/components/keyboard_switch.c
8888
${CMAKE_SOURCE_DIR}/src/ui/components/orientation_arrows.c
8989
${CMAKE_SOURCE_DIR}/src/ui/components/info_centered.c
90+
${CMAKE_SOURCE_DIR}/src/ui/components/lockscreen.c
9091
${CMAKE_SOURCE_DIR}/src/ui/components/menu.c
9192
${CMAKE_SOURCE_DIR}/src/ui/components/status.c
9293
${CMAKE_SOURCE_DIR}/src/ui/components/image.c

src/memory/memory.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636

3737
/********* Definitions and read/write helper functions ****************/
3838

39+
const char* MEMORY_DEFAULT_DEVICE_NAME = "My BitBox";
40+
3941
// Documentation of all appData chunks and their contents. A chunk is defined as
4042
// 16 pages, which is the erase granularity: changing any byte in the page
4143
// involves erases and writing all 16 pages. One page is 512 bytes. The MCU has

src/memory/memory.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ USE_RESULT bool memory_reset_hww(void);
6060
*/
6161
USE_RESULT bool memory_cleanup_smarteeprom(void);
6262

63-
#define MEMORY_DEFAULT_DEVICE_NAME "My BitBox"
63+
// Default device name if no name was set by the user.
64+
extern const char* MEMORY_DEFAULT_DEVICE_NAME;
6465
// Don't change this without proper memory layout migration! (see chunk_1_t in
6566
// memory.c)
6667
#define MEMORY_DEVICE_NAME_MAX_LEN (64)
@@ -69,7 +70,8 @@ USE_RESULT bool memory_cleanup_smarteeprom(void);
6970
// size (including the null terminator) is MEMORY_DEVICE_NAME_MAX_LEN bytes.
7071
USE_RESULT bool memory_set_device_name(const char* name);
7172

72-
// name_out must have MEMORY_DEVICE_NAME_MAX_LEN bytes in size.
73+
// name_out must have MEMORY_DEVICE_NAME_MAX_LEN bytes in size. Returns `MEMORY_DEFAULT_DEVICE_NAME`
74+
// if no device name is set.
7375
void memory_get_device_name(char* name_out);
7476

7577
/**

src/rust/Cargo.lock

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

src/rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ members = [
2727
resolver = "2"
2828

2929
[workspace.dependencies]
30-
bitcoin = { version = "0.31.0", default-features = false, features = ["no-std"] }
30+
bitcoin = { version = "0.32.2", default-features = false }
3131
hex = { version = "0.4", default-features = false, features = ["alloc"] }
3232
lazy_static = { version = "1.4.0" }
3333
num-bigint = { version = "0.4.3", default-features = false }

src/rust/bitbox02-noise/Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ edition = "2021"
2121
description = "BitBox02 noise protocol primitives"
2222
license = "Apache-2.0"
2323

24-
[dependencies]
25-
zeroize = "1.6.0"
26-
2724
[dependencies.noise-protocol]
2825
version = "0.2.0"
2926
default-features = false

src/rust/bitbox02-rust/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,20 @@ num-bigint = { workspace = true, optional = true }
4141
num-traits = { version = "0.2", default-features = false, optional = true }
4242
# If you change this, also change src/rust/.cargo/config.toml.
4343
bip32-ed25519 = { git = "https://github.com/digitalbitbox/rust-bip32-ed25519", tag = "v0.1.2", optional = true }
44-
bech32 = { version = "0.10.0-beta", default-features = false, optional = true }
44+
bech32 = { version = "0.11.0", default-features = false, features = ["alloc"], optional = true }
4545
blake2 = { version = "0.10.6", default-features = false, optional = true }
4646
minicbor = { version = "0.24.0", default-features = false, features = ["alloc"], optional = true }
4747
crc = { version = "3.0.1", optional = true }
4848
ed25519-dalek = { version = "2.0.0", default-features = false, features = ["hazmat"], optional = true }
4949
lazy_static = { workspace = true, optional = true }
5050
hmac = { version = "0.12.1", default-features = false, features = ["reset"] }
5151

52-
miniscript = { version = "11.0.0", default-features = false, features = ["no-std"], optional = true }
52+
miniscript = { version = "12.0.0", default-features = false, features = ["no-std"], optional = true }
5353
bitcoin = { workspace = true, optional = true }
5454
# We don't rely on this dep directly, the miniscript/bitcoin deps do. We list it here to enable the
5555
# small-hash feature to reduce the binary size, saving around 2784 bytes (as measured at time of
5656
# writing, this might fluctuate over time).
57-
bitcoin_hashes = { version = "0.13.0", default-features = false, features = ["small-hash"] }
57+
bitcoin_hashes = { version = "0.14.0", default-features = false, features = ["small-hash"] }
5858

5959
[dependencies.prost]
6060
# keep version in sync with tools/prost-build/Cargo.toml.

src/rust/bitbox02-rust/src/hww/api/bitcoin.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ pub fn derive_address_simple(
155155
coin_params.bip44_coin,
156156
simple_type,
157157
coin_params.taproot_support,
158+
keypath::ReceiveSpend::Receive,
158159
)
159160
.or(Err(Error::InvalidInput))?;
160161
Ok(common::Payload::from_simple(
@@ -194,7 +195,8 @@ pub async fn address_multisig(
194195
display: bool,
195196
) -> Result<Response, Error> {
196197
let coin_params = params::get(coin);
197-
keypath::validate_address_policy(keypath).or(Err(Error::InvalidInput))?;
198+
keypath::validate_address_policy(keypath, keypath::ReceiveSpend::Receive)
199+
.or(Err(Error::InvalidInput))?;
198200
let account_keypath = &keypath[..keypath.len() - 2];
199201
multisig::validate(multisig, account_keypath)?;
200202
let name = match multisig::get_name(coin, multisig, account_keypath)? {
@@ -233,7 +235,8 @@ async fn address_policy(
233235
) -> Result<Response, Error> {
234236
let coin_params = params::get(coin);
235237

236-
keypath::validate_address_policy(keypath).or(Err(Error::InvalidInput))?;
238+
keypath::validate_address_policy(keypath, keypath::ReceiveSpend::Receive)
239+
.or(Err(Error::InvalidInput))?;
237240

238241
let parsed = policies::parse(policy)?;
239242
parsed.validate(coin)?;

src/rust/bitbox02-rust/src/hww/api/bitcoin/common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ fn encode_segwit_addr(
307307
1 => bech32::segwit::VERSION_1,
308308
_ => return Err(()),
309309
};
310-
bech32::segwit::encode(&bech32::Hrp::parse_unchecked(hrp), version, witness_program).or(Err(()))
310+
bech32::segwit::encode(bech32::Hrp::parse_unchecked(hrp), version, witness_program).or(Err(()))
311311
}
312312

313313
#[cfg(test)]

0 commit comments

Comments
 (0)