What changed, and why it matters
This commit is a purely cosmetic user-interface tweak for the Bitcoin transaction review screen. It changes how the 'Receive' and 'Change' labels are drawn—adding a rounded background container, adjusting colors and alignment, and fixing the layout height calculation so the new container fits. There is no security-relevant behavior change.
No security action needed; treat as a normal UI/layout fix.
Security signals we found
No strong security signals were identified.
Evidence from the diff
In src/ui/gui_chain/gui_btc.c, the CreateOverviewToView function is updated to wrap the change/receive label in a new rounded container (changeContainer) with a white translucent background, instead of drawing the label directly inside toInnerContainer with orange text. The patch also corrects the vertical height accounting (toContainerHeight and toInnerContainer height) to include the new container. No logic handling transaction data, addresses, amounts, signatures, or user confirmation flow is modified.
Changed components
src/ui/gui_chain/gui_btc.c:CreateOverviewToViewInspect captured patch +20 / −4
diff --git a/src/ui/gui_chain/gui_btc.c b/src/ui/gui_chain/gui_btc.c
index 6c17477..4d64ef2 100644
--- a/src/ui/gui_chain/gui_btc.c
+++ b/src/ui/gui_chain/gui_btc.c
@@ -1040,10 +1040,15 @@ static lv_obj_t *CreateOverviewToView(lv_obj_t *parent, DisplayTxOverview *overv
}
int addressLabelHeight = lv_obj_get_y2(addressLabel);
+ toContainerHeight += (addressLabelHeight);
lv_obj_set_height(toInnerContainer, addressLabelHeight);
if(to->data[i].is_mine) {
- lv_obj_t *changeLabel = lv_label_create(toInnerContainer);
+ lv_obj_t *changeContainer = GuiCreateContainerWithParent(toInnerContainer, 87, 30);
+ lv_obj_set_style_radius(changeContainer, 16, LV_PART_MAIN | LV_STATE_DEFAULT);
+ lv_obj_set_style_bg_color(changeContainer, WHITE_COLOR, LV_PART_MAIN | LV_STATE_DEFAULT);
+ lv_obj_set_style_bg_opa(changeContainer, 30, LV_PART_MAIN | LV_STATE_DEFAULT);
+ lv_obj_t *changeLabel = lv_label_create(changeContainer);
// show change or receive label in the detail page view
if (to->data[i].is_external) {
lv_label_set_text(changeLabel, "Receive");
@@ -1051,13 +1056,24 @@ static lv_obj_t *CreateOverviewToView(lv_obj_t *parent, DisplayTxOverview *overv
lv_label_set_text(changeLabel, "Change");
}
lv_obj_set_style_text_font(changeLabel, g_defIllustrateFont, LV_PART_MAIN);
- lv_obj_set_style_text_color(changeLabel, ORANGE_COLOR, LV_PART_MAIN);
- lv_obj_align(changeLabel, LV_ALIGN_BOTTOM_RIGHT, -16, 0);
+ lv_obj_set_style_text_color(changeLabel, WHITE_COLOR, LV_PART_MAIN);
+ lv_obj_set_style_text_opa(changeLabel, 163, LV_PART_MAIN);
+ lv_obj_align(changeLabel, LV_ALIGN_CENTER, 0, 0);
+ lv_obj_update_layout(changeContainer);
+ int changeContainerHeight = lv_obj_get_y2(changeContainer);
+ toContainerHeight += changeContainerHeight;
+
+ lv_obj_set_height(toInnerContainer, addressLabelHeight + changeContainerHeight);
+
+ lv_obj_update_layout(toInnerContainer);
+
+ lv_obj_align(changeContainer, LV_ALIGN_BOTTOM_LEFT, 24, 0);
}
+ toContainerHeight += 8;
+
lv_obj_align_to(toInnerContainer, lastView, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 8);
- toContainerHeight += (addressLabelHeight + 8);
lastView = toInnerContainer;
}
Why this scored 15/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.