What changed, and why it matters
This commit fixes a UI formatting bug in the Tron cryptocurrency flow on Trezor hardware wallets. A missing colon was added to account information labels shown on the device screen. The change is cosmetic and does not appear to affect cryptographic operations, fund safety, or device security.
No security action required. Treat as a routine UI fix. If reviewing for release notes, note the improved Tron screen label consistency.
Security signals we found
UI label formatting fix only
No changes to signature verification, key handling, or transaction authorization
No buffer size, memory allocation, or input validation changes observed
Commit title and message describe a cosmetic colon fix
Evidence from the diff
The patch adds a missing colon in the Tron transaction summary confirmation screen by wrapping account_items with a with_colon() helper. It also renames local variables in Rust address-details code from account/path to labeled_account/labeled_path for clarity, and adjusts type conversions in firmware_micropython.rs to use TString directly. The diff shows no cryptographic, parsing, or authorization logic changes.
Changed components
core/src/trezor/ui/layouts/caesar/__init__.pycore/embed/rust/src/ui/layout_bolt/component/address_details.rscore/embed/rust/src/ui/api/firmware_micropython.rscore/embed/rust/src/translations/generated/translated_string.rsInspect captured patch +19332 / −19336
### core/embed/rust/src/translations/generated/translated_string.rs
[binary or diff unavailable]
### core/embed/rust/src/ui/api/firmware_micropython.rs
@@ -797,8 +797,8 @@ extern "C" fn new_show_address_details(n_args: usize, args: *const Obj, kwargs:
if obj == Obj::const_none() {
Ok(None)
} else {
- let [label, content]: [Obj; 2] = util::iter_into_array(obj)?;
- Ok(Some((label.try_into()?, content.try_into()?)))
+ let [label, content]: [TString; 2] = util::iter_into_array(obj)?;
+ Ok(Some((label, content)))
}
};
let account = labeled(kwargs.get(Qstr::MP_QSTR_account)?)?;
### core/embed/rust/src/ui/layout_bolt/component/address_details.rs
@@ -28,15 +28,15 @@ impl AddressDetails {
qr_address: TString<'static>,
case_sensitive: bool,
details_title: TString<'static>,
- account: Option<(TString<'static>, TString<'static>)>,
- path: Option<(TString<'static>, TString<'static>)>,
+ labeled_account: Option<(TString<'static>, TString<'static>)>,
+ labeled_path: Option<(TString<'static>, TString<'static>)>,
) -> Result<Self, Error> {
let mut para = ParagraphVecShort::new();
- if let Some((label, account)) = account {
+ if let Some((label, account)) = labeled_account {
para.add(Paragraph::new(&theme::TEXT_NORMAL, label));
para.add(Paragraph::new(&theme::TEXT_MONO_DATA, account));
}
- if let Some((label, path)) = path {
+ if let Some((label, path)) = labeled_path {
para.add(Paragraph::new(&theme::TEXT_NORMAL, label));
para.add(Paragraph::new(&theme::TEXT_MONO_DATA, path));
}
### core/src/trezor/ui/layouts/caesar/__init__.py
@@ -1981,7 +1981,7 @@ async def confirm_tron_summary(
amount_label=display_amount_label,
fee=display_fee,
fee_label=display_fee_label,
- account_items=account_items,
+ account_items=with_colon(account_items),
account_title=TR.address_details__account_info,
) as layout:
await raise_if_not_confirmed(Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.