From e76a394c4b19b160f33cc874e7e549065d8969bf Mon Sep 17 00:00:00 2001 From: Martin Milata Date: Mon, 26 Sep 2022 23:07:29 +0200 Subject: [PATCH] refactor(core/rust/ui): homescreen layouts [no changelog] --- core/SConscript.firmware | 3 + core/SConscript.unix | 3 + core/assets/lock-new.png | Bin 0 -> 182 bytes core/assets/magic.png | Bin 0 -> 224 bytes core/embed/rust/librust_qstr.h | 7 + core/embed/rust/src/ui/component/base.rs | 2 + core/embed/rust/src/ui/event.rs | 12 + core/embed/rust/src/ui/geometry.rs | 4 + core/embed/rust/src/ui/layout/obj.rs | 15 + .../rust/src/ui/model_tt/component/frame.rs | 53 +- .../src/ui/model_tt/component/homescreen.rs | 266 +++ .../rust/src/ui/model_tt/component/loader.rs | 10 + .../rust/src/ui/model_tt/component/mod.rs | 2 + core/embed/rust/src/ui/model_tt/layout.rs | 107 +- core/embed/rust/src/ui/model_tt/res/lock.toif | Bin 0 -> 63 bytes .../embed/rust/src/ui/model_tt/res/magic.toif | Bin 0 -> 110 bytes core/embed/rust/src/ui/model_tt/theme.rs | 5 +- core/embed/rust/src/ui/util.rs | 32 + core/mocks/generated/trezorui2.pyi | 30 + core/src/all_modules.py | 12 +- core/src/apps/base.py | 6 +- core/src/apps/homescreen/__init__.py | 80 +- core/src/apps/homescreen/busyscreen.py | 29 - core/src/apps/homescreen/homescreen.py | 120 - core/src/apps/homescreen/lockscreen.py | 60 - .../management/recovery_device/homescreen.py | 2 +- core/src/boot.py | 4 +- core/src/trezor/ui/layouts/homescreen.py | 6 + core/src/trezor/ui/layouts/tt/homescreen.py | 217 ++ .../src/trezor/ui/layouts/tt_v2/homescreen.py | 116 + core/tools/toif_convert.py | 1 + tests/device_tests/ethereum/test_signtx.py | 5 + tests/ui_tests/fixtures.json | 2114 +++++++++-------- 33 files changed, 1981 insertions(+), 1342 deletions(-) create mode 100644 core/assets/lock-new.png create mode 100644 core/assets/magic.png create mode 100644 core/embed/rust/src/ui/model_tt/component/homescreen.rs create mode 100644 core/embed/rust/src/ui/model_tt/res/lock.toif create mode 100644 core/embed/rust/src/ui/model_tt/res/magic.toif delete mode 100644 core/src/apps/homescreen/busyscreen.py delete mode 100644 core/src/apps/homescreen/homescreen.py delete mode 100644 core/src/apps/homescreen/lockscreen.py create mode 100644 core/src/trezor/ui/layouts/homescreen.py create mode 100644 core/src/trezor/ui/layouts/tt/homescreen.py create mode 100644 core/src/trezor/ui/layouts/tt_v2/homescreen.py diff --git a/core/SConscript.firmware b/core/SConscript.firmware index d9fc29ec4f..41d6443970 100644 --- a/core/SConscript.firmware +++ b/core/SConscript.firmware @@ -587,6 +587,7 @@ if FROZEN: SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/constants/__init__.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/__init__.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/common.py')) + SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/homescreen.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/reset.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/recovery.py')) if EVERYTHING: @@ -595,6 +596,7 @@ if FROZEN: if TREZOR_MODEL in ('T',) and UI2: SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/constants/tt.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/__init__.py')) + SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/homescreen.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/reset.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/recovery.py')) if EVERYTHING: @@ -604,6 +606,7 @@ if FROZEN: SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/components/tt/*.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/constants/tt.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/__init__.py')) + SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/homescreen.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/reset.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/recovery.py')) if EVERYTHING: diff --git a/core/SConscript.unix b/core/SConscript.unix index e017df9a5c..5b5f0bf5b7 100644 --- a/core/SConscript.unix +++ b/core/SConscript.unix @@ -541,6 +541,7 @@ if FROZEN: SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/constants/__init__.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/__init__.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/common.py')) + SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/homescreen.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/reset.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/recovery.py')) if EVERYTHING: @@ -549,6 +550,7 @@ if FROZEN: if TREZOR_MODEL in ('T',) and UI2: SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/constants/tt.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/__init__.py')) + SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/homescreen.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/reset.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt_v2/recovery.py')) if EVERYTHING: @@ -558,6 +560,7 @@ if FROZEN: SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/components/tt/*.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/constants/tt.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/__init__.py')) + SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/homescreen.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/reset.py')) SOURCE_PY.extend(Glob(SOURCE_PY_DIR + 'trezor/ui/layouts/tt/recovery.py')) if EVERYTHING: diff --git a/core/assets/lock-new.png b/core/assets/lock-new.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb7246af62262ae4deb8f593f42ba80883d8fd5 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH0VEjgt}QYEQY`6?zK#qG8~eHcB(eheOiAAE zE)4(M`_JqL^5Q*R978y+&powKuqi;q( zf&`PVF6HUl8jD`;t+``le4J@rW&UqP_YLO^QUfpBJ$$&}+fu`pWS2R+vIKW_&%bTI exJWPBKVPC;Zo;=Y>x_X`F?hQAxvXlDyqr z82-2SpV<%Ob$YruhDclv?O!O!WGLWzpNDOx(6*K-6NJ{alrYFTuwP)j&gjg#aYsaq zNtWp=!&3?Xhx7WC>@r_=#>Ojtu`co?W2M%W6VvJGx{ax7Z z<5z}5D?PJrDo8F_)LP9F;Lds?_v@s3`%7;o{kbE$*Xva6Ta}Z?VznM$SnPlLC+q6_ WfyX}mJboYOC Self { + Self::Connected(connected) + } +} diff --git a/core/embed/rust/src/ui/geometry.rs b/core/embed/rust/src/ui/geometry.rs index 09703cb76a..f1b0000e26 100644 --- a/core/embed/rust/src/ui/geometry.rs +++ b/core/embed/rust/src/ui/geometry.rs @@ -290,6 +290,10 @@ impl Rect { self.top_left().center(self.bottom_right()) } + pub const fn top_center(&self) -> Point { + self.top_left().center(self.top_right()) + } + pub const fn bottom_center(&self) -> Point { self.bottom_left().center(self.bottom_right()) } diff --git a/core/embed/rust/src/ui/layout/obj.rs b/core/embed/rust/src/ui/layout/obj.rs index 62ded6b0c8..6a5d9efcfa 100644 --- a/core/embed/rust/src/ui/layout/obj.rs +++ b/core/embed/rust/src/ui/layout/obj.rs @@ -25,6 +25,7 @@ use crate::{ use crate::ui::event::ButtonEvent; #[cfg(feature = "touch")] use crate::ui::event::TouchEvent; +use crate::ui::event::USBEvent; /// Conversion trait implemented by components that know how to convert their /// message values into MicroPython `Obj`s. @@ -280,6 +281,7 @@ impl LayoutObj { Qstr::MP_QSTR_attach_timer_fn => obj_fn_2!(ui_layout_attach_timer_fn).as_obj(), Qstr::MP_QSTR_touch_event => obj_fn_var!(4, 4, ui_layout_touch_event).as_obj(), Qstr::MP_QSTR_button_event => obj_fn_var!(3, 3, ui_layout_button_event).as_obj(), + Qstr::MP_QSTR_usb_event => obj_fn_var!(2, 2, ui_layout_usb_event).as_obj(), Qstr::MP_QSTR_timer => obj_fn_2!(ui_layout_timer).as_obj(), Qstr::MP_QSTR_paint => obj_fn_1!(ui_layout_paint).as_obj(), Qstr::MP_QSTR_request_complete_repaint => obj_fn_1!(ui_layout_request_complete_repaint).as_obj(), @@ -403,6 +405,19 @@ extern "C" fn ui_layout_button_event(_n_args: usize, _args: *const Obj) -> Obj { Obj::const_none() } +extern "C" fn ui_layout_usb_event(n_args: usize, args: *const Obj) -> Obj { + let block = |args: &[Obj], _kwargs: &Map| { + if args.len() != 2 { + return Err(Error::TypeError); + } + let this: Gc = args[0].try_into()?; + let event = USBEvent::new(args[1].try_into()?); + let msg = this.obj_event(Event::USB(event))?; + Ok(msg) + }; + unsafe { util::try_with_args_and_kwargs(n_args, args, &Map::EMPTY, block) } +} + extern "C" fn ui_layout_timer(this: Obj, token: Obj) -> Obj { let block = || { let this: Gc = this.try_into()?; diff --git a/core/embed/rust/src/ui/model_tt/component/frame.rs b/core/embed/rust/src/ui/model_tt/component/frame.rs index ad8889c02d..c44ad434af 100644 --- a/core/embed/rust/src/ui/model_tt/component/frame.rs +++ b/core/embed/rust/src/ui/model_tt/component/frame.rs @@ -1,8 +1,9 @@ use super::theme; use crate::ui::{ - component::{Child, Component, Event, EventCtx}, + component::{text::TextStyle, Child, Component, Event, EventCtx}, display::{self, Color, Font}, geometry::{Insets, Offset, Rect}, + util::icon_text_center, }; pub struct Frame { @@ -94,7 +95,6 @@ where pub struct NotificationFrame { area: Rect, - border: Insets, icon: &'static [u8], title: U, content: Child, @@ -105,18 +105,17 @@ where T: Component, U: AsRef, { - const HEIGHT: i16 = 42; + const HEIGHT: i16 = 32; const COLOR: Color = theme::YELLOW; - const FONT: Font = Font::BOLD; const TEXT_OFFSET: Offset = Offset::new(1, -2); const ICON_SPACE: i16 = 8; + const BORDER: i16 = 8; pub fn new(icon: &'static [u8], title: U, content: T) -> Self { Self { icon, title, area: Rect::zero(), - border: theme::borders_notification(), content: Child::new(content), } } @@ -124,6 +123,25 @@ where pub fn inner(&self) -> &T { self.content.inner() } + + pub fn paint_notification(area: Rect, icon: &'static [u8], title: &str, color: Color) { + let (area, _) = area + .inset(Insets::uniform(Self::BORDER)) + .split_top(Self::HEIGHT); + let style = TextStyle { + background_color: color, + ..theme::TEXT_BOLD + }; + display::rect_fill_rounded(area, color, theme::BG, 2); + icon_text_center( + area.center(), + icon, + Self::ICON_SPACE, + title, + style, + Self::TEXT_OFFSET, + ); + } } impl Component for NotificationFrame @@ -134,10 +152,8 @@ where type Msg = T::Msg; fn place(&mut self, bounds: Rect) -> Rect { - let (title_area, content_area) = bounds.split_top(Self::HEIGHT); - let content_area = content_area.inset(self.border); - - self.area = title_area; + let content_area = bounds.inset(theme::borders_notification()); + self.area = bounds; self.content.place(content_area); bounds } @@ -147,24 +163,7 @@ where } fn paint(&mut self) { - let toif_info = unwrap!(display::toif_info(self.icon), "Invalid TOIF data"); - let icon_width = toif_info.0.y; - let text_width = Self::FONT.text_width(self.title.as_ref()); - let text_height = Self::FONT.text_height(); - let text_center = - self.area.center() + Offset::new((icon_width + Self::ICON_SPACE) / 2, text_height / 2); - let icon_center = self.area.center() - Offset::x((text_width + Self::ICON_SPACE) / 2); - - display::rect_fill_rounded(self.area, Self::COLOR, theme::BG, 2); - display::text_center( - text_center + Self::TEXT_OFFSET, - self.title.as_ref(), - Self::FONT, - theme::BG, - Self::COLOR, - ); - display::icon(icon_center, self.icon, theme::BG, Self::COLOR); - + Self::paint_notification(self.area, self.icon, self.title.as_ref(), Self::COLOR); self.content.paint(); } diff --git a/core/embed/rust/src/ui/model_tt/component/homescreen.rs b/core/embed/rust/src/ui/model_tt/component/homescreen.rs new file mode 100644 index 0000000000..fa10dd7013 --- /dev/null +++ b/core/embed/rust/src/ui/model_tt/component/homescreen.rs @@ -0,0 +1,266 @@ +use crate::{ + time::{Duration, Instant}, + ui::{ + component::{Component, Empty, Event, EventCtx, Pad, TimerToken}, + display::{self, Color, Font}, + event::{TouchEvent, USBEvent}, + geometry::{Offset, Point, Rect}, + model_tt::constant, + util::icon_text_center, + }, +}; + +use super::{theme, Loader, LoaderMsg, NotificationFrame}; + +const AREA: Rect = constant::screen(); +const TOP_CENTER: Point = AREA.top_center(); +const LABEL_Y: i16 = 216; +const LOCKED_Y: i16 = 101; +const TAP_Y: i16 = 134; +const HOLD_Y: i16 = 35; +const LOADER_OFFSET: Offset = Offset::y(-10); +const LOADER_DELAY: Duration = Duration::from_millis(500); +const LOADER_DURATION: Duration = Duration::from_millis(2000); + +pub struct Homescreen { + label: T, + notification: Option<(T, u32)>, + hold_to_lock: bool, + usb_connected: bool, + loader: Loader, + pad: Pad, + delay: Option, +} + +pub enum HomescreenMsg { + Dismissed, +} + +impl Homescreen +where + T: AsRef, +{ + pub fn new(label: T, notification: Option<(T, u32)>, hold_to_lock: bool) -> Self { + Self { + label, + notification, + hold_to_lock, + usb_connected: true, + loader: Loader::new().with_durations(LOADER_DURATION, LOADER_DURATION / 3), + pad: Pad::with_background(theme::BG), + delay: None, + } + } + + fn level_to_style(level: u32) -> (Color, &'static [u8]) { + match level { + 2 => (theme::VIOLET, theme::ICON_MAGIC), + 1 => (theme::YELLOW, theme::ICON_WARN), + _ => (theme::RED, theme::ICON_WARN), + } + } + + fn paint_notification(&self) { + if !self.usb_connected { + let (color, icon) = Self::level_to_style(0); + NotificationFrame::::paint_notification( + AREA, + icon, + "NO USB CONNECTION", + color, + ); + } else if let Some((notification, level)) = &self.notification { + let (color, icon) = Self::level_to_style(*level); + NotificationFrame::::paint_notification( + AREA, + icon, + notification.as_ref(), + color, + ); + } + } + + fn paint_loader(&mut self) { + display::text_center( + TOP_CENTER + Offset::y(HOLD_Y), + "HOLD TO LOCK", + Font::BOLD, + theme::FG, + theme::BG, + ); + self.loader.paint() + } + + fn event_usb(&mut self, ctx: &mut EventCtx, event: Event) { + if let Event::USB(USBEvent::Connected(is_connected)) = event { + if self.usb_connected != is_connected { + self.usb_connected = is_connected; + ctx.request_paint(); + } + } + } + + fn event_hold(&mut self, ctx: &mut EventCtx, event: Event) -> bool { + match event { + Event::Touch(TouchEvent::TouchStart(_)) => { + if self.loader.is_animating() { + self.loader.start_growing(ctx, Instant::now()); + } else { + self.delay = Some(ctx.request_timer(LOADER_DELAY)); + } + } + Event::Touch(TouchEvent::TouchEnd(_)) => { + self.delay = None; + let now = Instant::now(); + if self.loader.is_completely_grown(now) { + return true; + } + if self.loader.is_animating() { + self.loader.start_shrinking(ctx, now); + } + } + Event::Timer(token) if Some(token) == self.delay => { + self.delay = None; + self.pad.clear(); + self.loader.start_growing(ctx, Instant::now()); + } + _ => {} + } + + match self.loader.event(ctx, event) { + Some(LoaderMsg::GrownCompletely) => { + // Wait for TouchEnd before returning. + } + Some(LoaderMsg::ShrunkCompletely) => { + self.loader.reset(); + self.pad.clear(); + ctx.request_paint() + } + None => {} + } + + false + } +} + +impl Component for Homescreen +where + T: AsRef, +{ + type Msg = HomescreenMsg; + + fn place(&mut self, bounds: Rect) -> Rect { + self.pad.place(AREA); + self.loader.place(AREA.translate(LOADER_OFFSET)); + bounds + } + + fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { + Self::event_usb(self, ctx, event); + if self.hold_to_lock { + Self::event_hold(self, ctx, event).then_some(HomescreenMsg::Dismissed) + } else { + None + } + } + + fn paint(&mut self) { + self.pad.paint(); + if self.loader.is_animating() || self.loader.is_completely_grown(Instant::now()) { + self.paint_loader(); + } else { + self.paint_notification(); + paint_label(self.label.as_ref(), false); + } + } + + fn bounds(&self, sink: &mut dyn FnMut(Rect)) { + self.loader.bounds(sink); + sink(self.pad.area); + } +} + +#[cfg(feature = "ui_debug")] +impl> crate::trace::Trace for Homescreen { + fn trace(&self, d: &mut dyn crate::trace::Tracer) { + d.open("Homescreen"); + d.field("label", &self.label.as_ref()); + d.close(); + } +} + +pub struct Lockscreen { + label: T, + bootscreen: bool, +} + +impl Lockscreen { + pub fn new(label: T, bootscreen: bool) -> Self { + Lockscreen { label, bootscreen } + } +} + +impl Component for Lockscreen +where + T: AsRef, +{ + type Msg = HomescreenMsg; + + fn place(&mut self, bounds: Rect) -> Rect { + bounds + } + + fn event(&mut self, _ctx: &mut EventCtx, event: Event) -> Option { + if let Event::Touch(TouchEvent::TouchEnd(_)) = event { + return Some(HomescreenMsg::Dismissed); + } + None + } + + fn paint(&mut self) { + let (locked, tap) = if self.bootscreen { + ("NOT CONNECTED", "Tap to connect") + } else { + ("LOCKED", "Tap to unlock") + }; + icon_text_center( + TOP_CENTER + Offset::y(LOCKED_Y), + theme::ICON_LOCK, + 2, + locked, + theme::TEXT_BOLD, + Offset::zero(), + ); + display::text_center( + TOP_CENTER + Offset::y(TAP_Y), + tap, + Font::NORMAL, + theme::OFF_WHITE, + theme::BG, + ); + paint_label(self.label.as_ref(), true); + } +} + +#[cfg(feature = "ui_debug")] +impl crate::trace::Trace for Lockscreen { + fn trace(&self, d: &mut dyn crate::trace::Tracer) { + d.open("Lockscreen"); + d.close(); + } +} + +fn paint_label(label: &str, lockscreen: bool) { + let label_color = if lockscreen { + theme::GREY_MEDIUM + } else { + theme::FG + }; + display::text_center( + TOP_CENTER + Offset::y(LABEL_Y), + label, + Font::BOLD, + label_color, + theme::BG, + ); +} diff --git a/core/embed/rust/src/ui/model_tt/component/loader.rs b/core/embed/rust/src/ui/model_tt/component/loader.rs index cb774b04f4..6f4610fddf 100644 --- a/core/embed/rust/src/ui/model_tt/component/loader.rs +++ b/core/embed/rust/src/ui/model_tt/component/loader.rs @@ -43,6 +43,16 @@ impl Loader { } } + pub fn with_durations( + mut self, + growing_duration: Duration, + shrinking_duration: Duration, + ) -> Self { + self.growing_duration = growing_duration; + self.shrinking_duration = shrinking_duration; + self + } + pub fn start_growing(&mut self, ctx: &mut EventCtx, now: Instant) { let mut anim = Animation::new( display::LOADER_MIN, diff --git a/core/embed/rust/src/ui/model_tt/component/mod.rs b/core/embed/rust/src/ui/model_tt/component/mod.rs index e3e7891381..83b92192c4 100644 --- a/core/embed/rust/src/ui/model_tt/component/mod.rs +++ b/core/embed/rust/src/ui/model_tt/component/mod.rs @@ -2,6 +2,7 @@ mod button; mod dialog; mod frame; mod hold_to_confirm; +mod homescreen; mod keyboard; mod loader; mod number_input; @@ -16,6 +17,7 @@ pub use button::{ pub use dialog::{Dialog, DialogMsg, IconDialog}; pub use frame::{Frame, NotificationFrame}; pub use hold_to_confirm::{HoldToConfirm, HoldToConfirmMsg}; +pub use homescreen::{Homescreen, HomescreenMsg, Lockscreen}; pub use keyboard::{ bip39::Bip39Input, mnemonic::{MnemonicInput, MnemonicKeyboard, MnemonicKeyboardMsg}, diff --git a/core/embed/rust/src/ui/model_tt/layout.rs b/core/embed/rust/src/ui/model_tt/layout.rs index 9109267e80..2cceaaf3a5 100644 --- a/core/embed/rust/src/ui/model_tt/layout.rs +++ b/core/embed/rust/src/ui/model_tt/layout.rs @@ -31,11 +31,11 @@ use crate::{ use super::{ component::{ Bip39Input, Button, ButtonMsg, ButtonStyleSheet, CancelConfirmMsg, CancelInfoConfirmMsg, - Dialog, DialogMsg, Frame, HoldToConfirm, HoldToConfirmMsg, IconDialog, MnemonicInput, - MnemonicKeyboard, MnemonicKeyboardMsg, NotificationFrame, NumberInputDialog, - NumberInputDialogMsg, PassphraseKeyboard, PassphraseKeyboardMsg, PinKeyboard, - PinKeyboardMsg, SelectWordCount, SelectWordCountMsg, SelectWordMsg, Slip39Input, - SwipeHoldPage, SwipePage, + Dialog, DialogMsg, Frame, HoldToConfirm, HoldToConfirmMsg, Homescreen, HomescreenMsg, + IconDialog, Lockscreen, MnemonicInput, MnemonicKeyboard, MnemonicKeyboardMsg, + NotificationFrame, NumberInputDialog, NumberInputDialogMsg, PassphraseKeyboard, + PassphraseKeyboardMsg, PinKeyboard, PinKeyboardMsg, SelectWordCount, SelectWordCountMsg, + SelectWordMsg, Slip39Input, SwipeHoldPage, SwipePage, }, theme, }; @@ -259,6 +259,28 @@ where } } +impl ComponentMsgObj for Homescreen +where + T: AsRef, +{ + fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { + match msg { + HomescreenMsg::Dismissed => Ok(CANCELLED.as_obj()), + } + } +} + +impl ComponentMsgObj for Lockscreen +where + T: AsRef, +{ + fn msg_try_into_obj(&self, msg: Self::Msg) -> Result { + match msg { + HomescreenMsg::Dismissed => Ok(CANCELLED.as_obj()), + } + } +} + extern "C" fn new_confirm_action(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj { let block = move |_args: &[Obj], kwargs: &Map| { let title: StrBuffer = kwargs.get(Qstr::MP_QSTR_title)?.try_into()?; @@ -982,6 +1004,54 @@ extern "C" fn new_show_remaining_shares(n_args: usize, args: *const Obj, kwargs: unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } } +extern "C" fn new_show_homescreen(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj { + let block = move |_args: &[Obj], kwargs: &Map| { + let label: StrBuffer = kwargs.get(Qstr::MP_QSTR_label)?.try_into()?; + let notification: Option = + kwargs.get(Qstr::MP_QSTR_notification)?.try_into_option()?; + let notification_level: u32 = kwargs.get_or(Qstr::MP_QSTR_notification_level, 0)?; + let hold: bool = kwargs.get(Qstr::MP_QSTR_hold)?.try_into()?; + + let notification = notification.map(|w| (w, notification_level)); + let obj = LayoutObj::new(Homescreen::new(label, notification, hold))?; + Ok(obj.into()) + }; + unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } +} + +extern "C" fn new_show_lockscreen(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj { + let block = move |_args: &[Obj], kwargs: &Map| { + let label: StrBuffer = kwargs.get(Qstr::MP_QSTR_label)?.try_into()?; + let bootscreen: bool = kwargs.get(Qstr::MP_QSTR_bootscreen)?.try_into()?; + + let obj = LayoutObj::new(Lockscreen::new(label, bootscreen))?; + Ok(obj.into()) + }; + unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } +} + +extern "C" fn new_show_busyscreen(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj { + let block = move |_args: &[Obj], kwargs: &Map| { + let title: StrBuffer = kwargs.get(Qstr::MP_QSTR_title)?.try_into()?; + let description: StrBuffer = kwargs.get(Qstr::MP_QSTR_description)?.try_into()?; + let time_ms: u32 = kwargs.get(Qstr::MP_QSTR_time_ms)?.try_into()?; + + let obj = LayoutObj::new(Frame::new( + title, + Dialog::new( + Paragraphs::new() + .add(theme::TEXT_NORMAL, description) + .centered(), + Timeout::new(time_ms).map(|msg| { + (matches!(msg, TimeoutMsg::TimedOut)).then(|| CancelConfirmMsg::Cancelled) + }), + ), + ))?; + Ok(obj.into()) + }; + unsafe { util::try_with_args_and_kwargs(n_args, args, kwargs, block) } +} + #[no_mangle] pub static mp_module_trezorui2: Module = obj_module! { Qstr::MP_QSTR___name__ => Qstr::MP_QSTR_trezorui2.to_obj(), @@ -1260,6 +1330,33 @@ pub static mp_module_trezorui2: Module = obj_module! { /// ) -> int: /// """Shows SLIP39 state after info button is pressed on `confirm_recovery`.""" Qstr::MP_QSTR_show_remaining_shares => obj_fn_kw!(0, new_show_remaining_shares).as_obj(), + + /// def show_homescreen( + /// *, + /// label: str, + /// hold: bool, + /// notification: str | None, + /// notification_level: int = 0, + /// ) -> trezorui2.CANCELLED: + /// """Idle homescreen.""" + Qstr::MP_QSTR_show_homescreen => obj_fn_kw!(0, new_show_homescreen).as_obj(), + + /// def show_lockscreen( + /// *, + /// label: str, + /// bootscreen: bool, + /// ) -> trezorui2.CANCELLED: + /// """Homescreen for locked device.""" + Qstr::MP_QSTR_show_lockscreen => obj_fn_kw!(0, new_show_lockscreen).as_obj(), + + /// def show_busyscreen( + /// *, + /// title: str, + /// description: str, + /// time_ms: int, + /// ) -> trezorui2.CANCELLED: + /// """Homescreen used for indicating coinjoin in progress.""" + Qstr::MP_QSTR_show_busyscreen => obj_fn_kw!(0, new_show_busyscreen).as_obj(), }; #[cfg(test)] diff --git a/core/embed/rust/src/ui/model_tt/res/lock.toif b/core/embed/rust/src/ui/model_tt/res/lock.toif new file mode 100644 index 0000000000000000000000000000000000000000..7fb2b3a94d1b70881f962b922a79f39820595ead GIT binary patch literal 63 zcmV-F0KorLPf14%01f~%0001EU`RA$U|?wY|6h`U;k#z@d*8TuI*zCp=` V{T&^@B)|Lz0)PBuKpGIR0RYA_7smhq literal 0 HcmV?d00001 diff --git a/core/embed/rust/src/ui/model_tt/res/magic.toif b/core/embed/rust/src/ui/model_tt/res/magic.toif new file mode 100644 index 0000000000000000000000000000000000000000..a99c78aacdc6e4bcb4a53a595a70b62dd4f483c4 GIT binary patch literal 110 zcmV-!0FnPxPf14*01yCT0001EU;qL!1_k`0?7ayg;+))ePBO>RsstH!>9L* z49|QR7=Hd|XV|RCQ26(ME|UY(mj6Joo|)l481OJ$15x|g7#NoP``^a`GVSMoHn6E* Q{xgB;3;Q9q6vTl@0LINPKL7v# literal 0 HcmV?d00001 diff --git a/core/embed/rust/src/ui/model_tt/theme.rs b/core/embed/rust/src/ui/model_tt/theme.rs index 7c9f3905ef..72ba6e3215 100644 --- a/core/embed/rust/src/ui/model_tt/theme.rs +++ b/core/embed/rust/src/ui/model_tt/theme.rs @@ -34,6 +34,7 @@ pub const OFF_WHITE: Color = Color::rgb(222, 222, 222); // very light grey pub const GREY_LIGHT: Color = Color::rgb(168, 168, 168); // greyish pub const GREY_MEDIUM: Color = Color::rgb(100, 100, 100); pub const GREY_DARK: Color = Color::rgb(51, 51, 51); // greyer +pub const VIOLET: Color = Color::rgb(158, 39, 214); // Commonly used corner radius (i.e. for buttons). pub const RADIUS: u8 = 2; @@ -52,8 +53,10 @@ pub const ICON_BACK: &[u8] = include_res!("model_tt/res/back.toif"); pub const ICON_CLICK: &[u8] = include_res!("model_tt/res/click.toif"); pub const ICON_NEXT: &[u8] = include_res!("model_tt/res/next.toif"); pub const ICON_WARN: &[u8] = include_res!("model_tt/res/warn-icon.toif"); +pub const ICON_MAGIC: &[u8] = include_res!("model_tt/res/magic.toif"); pub const ICON_LIST_CURRENT: &[u8] = include_res!("model_tt/res/current.toif"); pub const ICON_LIST_CHECK: &[u8] = include_res!("model_tt/res/check.toif"); +pub const ICON_LOCK: &[u8] = include_res!("model_tt/res/lock.toif"); // Large, color icons. pub const IMAGE_WARN: &[u8] = include_res!("model_tt/res/warn.toif"); @@ -454,5 +457,5 @@ pub const fn borders_scroll() -> Insets { } pub const fn borders_notification() -> Insets { - Insets::new(6, 10, 14, 10) + Insets::new(48, 10, 14, 10) } diff --git a/core/embed/rust/src/ui/util.rs b/core/embed/rust/src/ui/util.rs index 1300aae164..49433594ba 100644 --- a/core/embed/rust/src/ui/util.rs +++ b/core/embed/rust/src/ui/util.rs @@ -1,3 +1,9 @@ +use crate::ui::{ + component::text::TextStyle, + display, + geometry::{Offset, Point}, +}; + pub trait ResultExt { fn assert_if_debugging_ui(self, message: &str); } @@ -31,6 +37,32 @@ pub fn u32_to_str(num: u32, buffer: &mut [u8]) -> Option<&str> { } } +/// Display an icon and a text centered relative to given `Point`. +pub fn icon_text_center( + baseline: Point, + icon: &'static [u8], + space: i16, + text: &str, + style: TextStyle, + text_offset: Offset, +) { + let toif_info = unwrap!(display::toif_info(icon), "Invalid TOIF data"); + let icon_width = toif_info.0.y; + let text_width = style.text_font.text_width(text); + let text_height = style.text_font.text_height(); + let text_center = baseline + Offset::new((icon_width + space) / 2, text_height / 2); + let icon_center = baseline - Offset::x((text_width + space) / 2); + + display::text_center( + text_center + text_offset, + text, + style.text_font, + style.text_color, + style.background_color, + ); + display::icon(icon_center, icon, style.text_color, style.background_color); +} + #[cfg(test)] mod tests { use super::*; diff --git a/core/mocks/generated/trezorui2.pyi b/core/mocks/generated/trezorui2.pyi index a76f85d694..8cf424cd11 100644 --- a/core/mocks/generated/trezorui2.pyi +++ b/core/mocks/generated/trezorui2.pyi @@ -348,3 +348,33 @@ def show_remaining_shares( pages: Iterable[tuple[str, str]], ) -> int: """Shows SLIP39 state after info button is pressed on `confirm_recovery`.""" + + +# rust/src/ui/model_tt/layout.rs +def show_homescreen( + *, + label: str, + hold: bool, + notification: str | None, + notification_level: int = 0, +) -> trezorui2.CANCELLED: + """Idle homescreen.""" + + +# rust/src/ui/model_tt/layout.rs +def show_lockscreen( + *, + label: str, + bootscreen: bool, +) -> trezorui2.CANCELLED: + """Homescreen for locked device.""" + + +# rust/src/ui/model_tt/layout.rs +def show_busyscreen( + *, + title: str, + description: str, + time_ms: int, +) -> trezorui2.CANCELLED: + """Homescreen used for indicating coinjoin in progress.""" diff --git a/core/src/all_modules.py b/core/src/all_modules.py index 6f99efaee8..542550397d 100644 --- a/core/src/all_modules.py +++ b/core/src/all_modules.py @@ -199,6 +199,8 @@ trezor.ui.layouts.altcoin import trezor.ui.layouts.altcoin trezor.ui.layouts.common import trezor.ui.layouts.common +trezor.ui.layouts.homescreen +import trezor.ui.layouts.homescreen trezor.ui.layouts.recovery import trezor.ui.layouts.recovery trezor.ui.layouts.reset @@ -211,6 +213,8 @@ trezor.ui.layouts.tt import trezor.ui.layouts.tt trezor.ui.layouts.tt.altcoin import trezor.ui.layouts.tt.altcoin +trezor.ui.layouts.tt.homescreen +import trezor.ui.layouts.tt.homescreen trezor.ui.layouts.tt.recovery import trezor.ui.layouts.tt.recovery trezor.ui.layouts.tt.reset @@ -219,6 +223,8 @@ trezor.ui.layouts.tt_v2 import trezor.ui.layouts.tt_v2 trezor.ui.layouts.tt_v2.altcoin import trezor.ui.layouts.tt_v2.altcoin +trezor.ui.layouts.tt_v2.homescreen +import trezor.ui.layouts.tt_v2.homescreen trezor.ui.layouts.tt_v2.recovery import trezor.ui.layouts.tt_v2.recovery trezor.ui.layouts.tt_v2.reset @@ -351,12 +357,6 @@ apps.debug.load_device import apps.debug.load_device apps.homescreen import apps.homescreen -apps.homescreen.busyscreen -import apps.homescreen.busyscreen -apps.homescreen.homescreen -import apps.homescreen.homescreen -apps.homescreen.lockscreen -import apps.homescreen.lockscreen apps.management.apply_flags import apps.management.apply_flags apps.management.apply_settings diff --git a/core/src/apps/base.py b/core/src/apps/base.py index 77ad0e6ef8..57cd99d58d 100644 --- a/core/src/apps/base.py +++ b/core/src/apps/base.py @@ -291,12 +291,12 @@ def set_homescreen() -> None: import storage # workaround for https://github.com/microsoft/pyright/issues/2685 if storage.cache.is_set(storage.cache.APP_COMMON_BUSY_DEADLINE_MS): - from apps.homescreen.busyscreen import busyscreen + from apps.homescreen import busyscreen workflow.set_default(busyscreen) elif not config.is_unlocked(): - from apps.homescreen.lockscreen import lockscreen + from apps.homescreen import lockscreen workflow.set_default(lockscreen) @@ -306,7 +306,7 @@ def set_homescreen() -> None: workflow.set_default(recovery_homescreen) else: - from apps.homescreen.homescreen import homescreen + from apps.homescreen import homescreen workflow.set_default(homescreen) diff --git a/core/src/apps/homescreen/__init__.py b/core/src/apps/homescreen/__init__.py index 07384537e3..2c6276bc7b 100644 --- a/core/src/apps/homescreen/__init__.py +++ b/core/src/apps/homescreen/__init__.py @@ -1,45 +1,57 @@ -from typing import Any - +import storage import storage.cache import storage.device -from trezor import res, ui +from trezor import config, wire +from trezor.ui.layouts.homescreen import Busyscreen, Homescreen, Lockscreen + +from apps.base import busy_expiry_ms, lock_device -class HomescreenBase(ui.Layout): - RENDER_INDICATOR: object | None = None +async def busyscreen() -> None: + await Busyscreen(busy_expiry_ms()) - def __init__(self) -> None: - super().__init__() - self.label = storage.device.get_label() or "My Trezor" - self.repaint = storage.cache.homescreen_shown is not self.RENDER_INDICATOR - def get_image(self) -> bytes: - return storage.device.get_homescreen() or res.load( - "apps/homescreen/res/bg.toif" - ) +async def homescreen() -> None: + if storage.device.is_initialized(): + label = storage.device.get_label() + else: + label = "Go to trezor.io/start" - async def __iter__(self) -> Any: - # We need to catch the ui.Cancelled exception that kills us, because that means - # that we will need to draw on screen again after restart. - try: - return await super().__iter__() - except ui.Cancelled: - storage.cache.homescreen_shown = None - raise + notification = None + notification_is_error = False + if storage.device.is_initialized() and storage.device.no_backup(): + notification = "SEEDLESS" + notification_is_error = True + elif storage.device.is_initialized() and storage.device.unfinished_backup(): + notification = "BACKUP FAILED!" + notification_is_error = True + elif storage.device.is_initialized() and storage.device.needs_backup(): + notification = "NEEDS BACKUP!" + elif storage.device.is_initialized() and not config.has_pin(): + notification = "PIN NOT SET!" + elif storage.device.get_experimental_features(): + notification = "EXPERIMENTAL MODE!" - def on_render(self) -> None: - if not self.repaint: - return - self.do_render() - self.set_repaint(False) + await Homescreen( + label=label, + notification=notification, + notification_is_error=notification_is_error, + hold_to_lock=config.has_pin(), + ) + lock_device() - def do_render(self) -> None: - raise NotImplementedError - def set_repaint(self, value: bool) -> None: - self.repaint = value - storage.cache.homescreen_shown = None if value else self.RENDER_INDICATOR +async def lockscreen() -> None: + from apps.common.request_pin import can_lock_device + from apps.base import unlock_device - def _before_render(self) -> None: - if storage.cache.homescreen_shown is not self.RENDER_INDICATOR: - super()._before_render() + # Only show the lockscreen UI if the device can in fact be locked. + if can_lock_device(): + await Lockscreen(label=storage.device.get_label()) + # Otherwise proceed directly to unlock() call. If the device is already unlocked, + # it should be a no-op storage-wise, but it resets the internal configuration + # to an unlocked state. + try: + await unlock_device() + except wire.PinCancelled: + pass diff --git a/core/src/apps/homescreen/busyscreen.py b/core/src/apps/homescreen/busyscreen.py deleted file mode 100644 index fffde579f9..0000000000 --- a/core/src/apps/homescreen/busyscreen.py +++ /dev/null @@ -1,29 +0,0 @@ -import storage.cache -from trezor import loop, ui -from trezor.ui.layouts import draw_simple_text - -from apps.base import busy_expiry_ms, set_homescreen - -from . import HomescreenBase - - -async def busyscreen() -> None: - await Busyscreen() - - -class Busyscreen(HomescreenBase): - RENDER_INDICATOR = storage.cache.BUSYSCREEN_ON - - def create_tasks(self) -> tuple[loop.AwaitableTask, ...]: - return self.handle_rendering(), self.handle_input(), self.handle_expiry() - - def handle_expiry(self) -> loop.Task: # type: ignore [awaitable-is-generator] - yield loop.sleep(busy_expiry_ms()) - storage.cache.delete(storage.cache.APP_COMMON_BUSY_DEADLINE_MS) - set_homescreen() - raise ui.Result(None) - - def do_render(self) -> None: - draw_simple_text( - "Please wait", "CoinJoin in progress.\n\nDo not disconnect your\nTrezor." - ) diff --git a/core/src/apps/homescreen/homescreen.py b/core/src/apps/homescreen/homescreen.py deleted file mode 100644 index b98ab6cc5a..0000000000 --- a/core/src/apps/homescreen/homescreen.py +++ /dev/null @@ -1,120 +0,0 @@ -import utime -from micropython import const -from typing import Tuple - -import storage -import storage.cache -import storage.device -from trezor import config, io, loop, ui, utils -from trezor.ui.loader import Loader, LoaderNeutral - -from apps.base import lock_device - -from . import HomescreenBase - -_LOADER_DELAY_MS = const(500) -_LOADER_TOTAL_MS = const(2500) - - -async def homescreen() -> None: - await Homescreen() - lock_device() - - -class Homescreen(HomescreenBase): - RENDER_INDICATOR = storage.cache.HOMESCREEN_ON - - def __init__(self) -> None: - super().__init__() - if not storage.device.is_initialized(): - self.label = "Go to trezor.io/start" - - self.loader = Loader( - style=LoaderNeutral, - target_ms=_LOADER_TOTAL_MS - _LOADER_DELAY_MS, - offset_y=-10, - reverse_speedup=3, - ) - self.touch_ms: int | None = None - - def create_tasks(self) -> Tuple[loop.AwaitableTask, ...]: - return super().create_tasks() + (self.usb_checker_task(),) - - async def usb_checker_task(self) -> None: - usbcheck = loop.wait(io.USB_CHECK) - while True: - await usbcheck - self.set_repaint(True) - - def do_render(self) -> None: - # warning bar on top - if storage.device.is_initialized() and storage.device.no_backup(): - ui.header_error("SEEDLESS") - elif storage.device.is_initialized() and storage.device.unfinished_backup(): - ui.header_error("BACKUP FAILED!") - elif storage.device.is_initialized() and storage.device.needs_backup(): - ui.header_warning("NEEDS BACKUP!") - elif storage.device.is_initialized() and not config.has_pin(): - ui.header_warning("PIN NOT SET!") - elif storage.device.get_experimental_features(): - ui.header_warning("EXPERIMENTAL MODE!") - else: - ui.display.bar(0, 0, ui.WIDTH, ui.get_header_height(), ui.BG) - - # homescreen with shifted avatar and text on bottom - # Differs for each model - - if not utils.usb_data_connected(): - ui.header_error("NO USB CONNECTION") - - # TODO: support homescreen avatar change for R and 1 - if utils.MODEL in ("T",): - ui.display.avatar(48, 48 - 10, self.get_image(), ui.WHITE, ui.BLACK) - elif utils.MODEL in ("R",): - icon = "trezor/res/homescreen_model_r.toif" # 92x92 px - ui.display.icon(18, 18, ui.res.load(icon), ui.style.FG, ui.style.BG) - elif utils.MODEL in ("1",): - icon = "trezor/res/homescreen_model_1.toif" # 64x36 px - ui.display.icon(33, 14, ui.res.load(icon), ui.style.FG, ui.style.BG) - - label_heights = {"1": 60, "R": 120, "T": 220} - ui.display.text_center( - ui.WIDTH // 2, label_heights[utils.MODEL], self.label, ui.BOLD, ui.FG, ui.BG - ) - - ui.refresh() - - def on_touch_start(self, _x: int, _y: int) -> None: - if self.loader.start_ms is not None: - self.loader.start() - elif config.has_pin(): - self.touch_ms = utime.ticks_ms() - - def on_touch_end(self, _x: int, _y: int) -> None: - if self.loader.start_ms is not None: - ui.display.clear() - self.set_repaint(True) - self.loader.stop() - self.touch_ms = None - - # raise here instead of self.loader.on_finish so as not to send TOUCH_END to the lockscreen - if self.loader.elapsed_ms() >= self.loader.target_ms: - raise ui.Result(None) - - def _loader_start(self) -> None: - ui.display.clear() - ui.display.text_center(ui.WIDTH // 2, 35, "Hold to lock", ui.BOLD, ui.FG, ui.BG) - self.loader.start() - - def dispatch(self, event: int, x: int, y: int) -> None: - if ( - self.touch_ms is not None - and self.touch_ms + _LOADER_DELAY_MS < utime.ticks_ms() - ): - self.touch_ms = None - self._loader_start() - - if event is ui.RENDER and self.loader.start_ms is not None: - self.loader.dispatch(event, x, y) - else: - super().dispatch(event, x, y) diff --git a/core/src/apps/homescreen/lockscreen.py b/core/src/apps/homescreen/lockscreen.py deleted file mode 100644 index efca1e710d..0000000000 --- a/core/src/apps/homescreen/lockscreen.py +++ /dev/null @@ -1,60 +0,0 @@ -import storage.cache -from trezor import loop, res, ui, wire - -from . import HomescreenBase - - -async def lockscreen() -> None: - from apps.common.request_pin import can_lock_device - from apps.base import unlock_device - - # Only show the lockscreen UI if the device can in fact be locked. - if can_lock_device(): - await Lockscreen() - # Otherwise proceed directly to unlock() call. If the device is already unlocked, - # it should be a no-op storage-wise, but it resets the internal configuration - # to an unlocked state. - try: - await unlock_device() - except wire.PinCancelled: - pass - - -class Lockscreen(HomescreenBase): - BACKLIGHT_LEVEL = ui.BACKLIGHT_LOW - RENDER_SLEEP = loop.SLEEP_FOREVER - RENDER_INDICATOR = storage.cache.LOCKSCREEN_ON - - def __init__(self, bootscreen: bool = False) -> None: - if bootscreen: - self.BACKLIGHT_LEVEL = ui.BACKLIGHT_NORMAL - self.lock_label = "Not connected" - self.tap_label = "Tap to connect" - else: - self.lock_label = "Locked" - self.tap_label = "Tap to unlock" - - super().__init__() - - def do_render(self) -> None: - # homescreen with label text on top - ui.display.text_center( - ui.WIDTH // 2, 35, self.label, ui.BOLD, ui.TITLE_GREY, ui.BG - ) - ui.display.avatar(48, 48, self.get_image(), ui.WHITE, ui.BLACK) - - # lock bar - ui.display.bar_radius(40, 100, 160, 40, ui.TITLE_GREY, ui.BG, 4) - ui.display.bar_radius(42, 102, 156, 36, ui.BG, ui.TITLE_GREY, 4) - ui.display.text_center( - ui.WIDTH // 2, 128, self.lock_label, ui.BOLD, ui.TITLE_GREY, ui.BG - ) - - # "tap to unlock" - ui.display.text_center( - ui.WIDTH // 2 + 10, 220, self.tap_label, ui.BOLD, ui.TITLE_GREY, ui.BG - ) - ui.display.icon(45, 202, res.load(ui.ICON_CLICK), ui.TITLE_GREY, ui.BG) - - def on_touch_end(self, _x: int, _y: int) -> None: - raise ui.Result(None) diff --git a/core/src/apps/management/recovery_device/homescreen.py b/core/src/apps/management/recovery_device/homescreen.py index 0f3806758e..b12f3741fd 100644 --- a/core/src/apps/management/recovery_device/homescreen.py +++ b/core/src/apps/management/recovery_device/homescreen.py @@ -11,7 +11,7 @@ from trezor.messages import Success from trezor.ui.layouts import show_success from apps.common import mnemonic -from apps.homescreen.homescreen import homescreen +from apps.homescreen import homescreen from .. import backup_types from . import layout, recover diff --git a/core/src/boot.py b/core/src/boot.py index 8de0768fbb..a8f382b959 100644 --- a/core/src/boot.py +++ b/core/src/boot.py @@ -2,13 +2,13 @@ import storage import storage.device from trezor import config, log, loop, ui, utils, wire from trezor.pin import show_pin_timeout +from trezor.ui.layouts.homescreen import Lockscreen from apps.common.request_pin import can_lock_device, verify_user_pin -from apps.homescreen.lockscreen import Lockscreen async def bootscreen() -> None: - lockscreen = Lockscreen(bootscreen=True) + lockscreen = Lockscreen(label=storage.device.get_label(), bootscreen=True) ui.display.orientation(storage.device.get_rotation()) while True: try: diff --git a/core/src/trezor/ui/layouts/homescreen.py b/core/src/trezor/ui/layouts/homescreen.py new file mode 100644 index 0000000000..7e80e37d37 --- /dev/null +++ b/core/src/trezor/ui/layouts/homescreen.py @@ -0,0 +1,6 @@ +from . import UI2 + +if UI2: + from .tt_v2.homescreen import * # noqa: F401,F403 +else: + from .tt.homescreen import * # noqa: F401,F403 diff --git a/core/src/trezor/ui/layouts/tt/homescreen.py b/core/src/trezor/ui/layouts/tt/homescreen.py new file mode 100644 index 0000000000..94d4ce42d5 --- /dev/null +++ b/core/src/trezor/ui/layouts/tt/homescreen.py @@ -0,0 +1,217 @@ +import utime +from micropython import const +from typing import Any, Tuple + +import storage.cache +import storage.device +from trezor import io, loop, res, ui, utils +from trezor.ui.loader import Loader, LoaderNeutral + +from apps.base import set_homescreen + +from . import draw_simple_text + + +class HomescreenBase(ui.Layout): + RENDER_INDICATOR: object | None = None + + def __init__(self, label: str | None) -> None: + super().__init__() + self.label = label or "My Trezor" + self.repaint = storage.cache.homescreen_shown is not self.RENDER_INDICATOR + + def get_image(self) -> bytes: + return storage.device.get_homescreen() or res.load( + "apps/homescreen/res/bg.toif" + ) + + async def __iter__(self) -> Any: + # We need to catch the ui.Cancelled exception that kills us, because that means + # that we will need to draw on screen again after restart. + try: + return await super().__iter__() + except ui.Cancelled: + storage.cache.homescreen_shown = None + raise + + def on_render(self) -> None: + if not self.repaint: + return + self.do_render() + self.set_repaint(False) + + def do_render(self) -> None: + raise NotImplementedError + + def set_repaint(self, value: bool) -> None: + self.repaint = value + storage.cache.homescreen_shown = None if value else self.RENDER_INDICATOR + + def _before_render(self) -> None: + if storage.cache.homescreen_shown is not self.RENDER_INDICATOR: + super()._before_render() + + +_LOADER_DELAY_MS = const(500) +_LOADER_TOTAL_MS = const(2500) + + +class Homescreen(HomescreenBase): + RENDER_INDICATOR = storage.cache.HOMESCREEN_ON + + def __init__( + self, + label: str | None, + notification: str | None, + notification_is_error: bool, + hold_to_lock: bool, + ) -> None: + super().__init__(label=label) + self.notification = notification + self.notification_is_error = notification_is_error + self.hold_to_lock = hold_to_lock + + self.loader = Loader( + style=LoaderNeutral, + target_ms=_LOADER_TOTAL_MS - _LOADER_DELAY_MS, + offset_y=-10, + reverse_speedup=3, + ) + self.touch_ms: int | None = None + + def create_tasks(self) -> Tuple[loop.AwaitableTask, ...]: + return super().create_tasks() + (self.usb_checker_task(),) + + async def usb_checker_task(self) -> None: + usbcheck = loop.wait(io.USB_CHECK) + while True: + await usbcheck + self.set_repaint(True) + + def do_render(self) -> None: + # warning bar on top + if not utils.usb_data_connected(): + ui.header_error("NO USB CONNECTION") + elif self.notification is not None: + if self.notification_is_error: + ui.header_error(self.notification) + else: + ui.header_warning(self.notification) + else: + ui.display.bar(0, 0, ui.WIDTH, ui.get_header_height(), ui.BG) + + # homescreen with shifted avatar and text on bottom + # Differs for each model + # TODO: support homescreen avatar change for R and 1 + if utils.MODEL in ("T",): + ui.display.avatar(48, 48 - 10, self.get_image(), ui.WHITE, ui.BLACK) + elif utils.MODEL in ("R",): + icon = "trezor/res/homescreen_model_r.toif" # 92x92 px + ui.display.icon(18, 18, ui.res.load(icon), ui.style.FG, ui.style.BG) + elif utils.MODEL in ("1",): + icon = "trezor/res/homescreen_model_1.toif" # 64x36 px + ui.display.icon(33, 14, ui.res.load(icon), ui.style.FG, ui.style.BG) + + label_heights = {"1": 60, "R": 120, "T": 220} + ui.display.text_center( + ui.WIDTH // 2, label_heights[utils.MODEL], self.label, ui.BOLD, ui.FG, ui.BG + ) + + ui.refresh() + + def on_touch_start(self, _x: int, _y: int) -> None: + if self.loader.start_ms is not None: + self.loader.start() + elif self.hold_to_lock: + self.touch_ms = utime.ticks_ms() + + def on_touch_end(self, _x: int, _y: int) -> None: + if self.loader.start_ms is not None: + ui.display.clear() + self.set_repaint(True) + self.loader.stop() + self.touch_ms = None + + # raise here instead of self.loader.on_finish so as not to send TOUCH_END to the lockscreen + if self.loader.elapsed_ms() >= self.loader.target_ms: + raise ui.Result(None) + + def _loader_start(self) -> None: + ui.display.clear() + ui.display.text_center(ui.WIDTH // 2, 35, "Hold to lock", ui.BOLD, ui.FG, ui.BG) + self.loader.start() + + def dispatch(self, event: int, x: int, y: int) -> None: + if ( + self.touch_ms is not None + and self.touch_ms + _LOADER_DELAY_MS < utime.ticks_ms() + ): + self.touch_ms = None + self._loader_start() + + if event is ui.RENDER and self.loader.start_ms is not None: + self.loader.dispatch(event, x, y) + else: + super().dispatch(event, x, y) + + +class Lockscreen(HomescreenBase): + BACKLIGHT_LEVEL = ui.BACKLIGHT_LOW + RENDER_SLEEP = loop.SLEEP_FOREVER + RENDER_INDICATOR = storage.cache.LOCKSCREEN_ON + + def __init__(self, label: str | None, bootscreen: bool = False) -> None: + if bootscreen: + self.BACKLIGHT_LEVEL = ui.BACKLIGHT_NORMAL + self.lock_label = "Not connected" + self.tap_label = "Tap to connect" + else: + self.lock_label = "Locked" + self.tap_label = "Tap to unlock" + + super().__init__(label=label) + + def do_render(self) -> None: + # homescreen with label text on top + ui.display.text_center( + ui.WIDTH // 2, 35, self.label, ui.BOLD, ui.TITLE_GREY, ui.BG + ) + ui.display.avatar(48, 48, self.get_image(), ui.WHITE, ui.BLACK) + + # lock bar + ui.display.bar_radius(40, 100, 160, 40, ui.TITLE_GREY, ui.BG, 4) + ui.display.bar_radius(42, 102, 156, 36, ui.BG, ui.TITLE_GREY, 4) + ui.display.text_center( + ui.WIDTH // 2, 128, self.lock_label, ui.BOLD, ui.TITLE_GREY, ui.BG + ) + + # "tap to unlock" + ui.display.text_center( + ui.WIDTH // 2 + 10, 220, self.tap_label, ui.BOLD, ui.TITLE_GREY, ui.BG + ) + ui.display.icon(45, 202, res.load(ui.ICON_CLICK), ui.TITLE_GREY, ui.BG) + + def on_touch_end(self, _x: int, _y: int) -> None: + raise ui.Result(None) + + +class Busyscreen(HomescreenBase): + RENDER_INDICATOR = storage.cache.BUSYSCREEN_ON + + def __init__(self, delay_ms: int): + super().__init__(label=None) + self.delay_ms = delay_ms + + def create_tasks(self) -> tuple[loop.AwaitableTask, ...]: + return self.handle_rendering(), self.handle_input(), self.handle_expiry() + + def handle_expiry(self) -> loop.Task: # type: ignore [awaitable-is-generator] + yield loop.sleep(self.delay_ms) + storage.cache.delete(storage.cache.APP_COMMON_BUSY_DEADLINE_MS) + set_homescreen() + raise ui.Result(None) + + def do_render(self) -> None: + draw_simple_text( + "Please wait", "CoinJoin in progress.\n\nDo not disconnect your\nTrezor." + ) diff --git a/core/src/trezor/ui/layouts/tt_v2/homescreen.py b/core/src/trezor/ui/layouts/tt_v2/homescreen.py new file mode 100644 index 0000000000..1fce4f3c2a --- /dev/null +++ b/core/src/trezor/ui/layouts/tt_v2/homescreen.py @@ -0,0 +1,116 @@ +from typing import Any, Tuple + +import storage.cache +import storage.device +from trezor import io, loop, ui + +import trezorui2 +from apps.base import set_homescreen + +from . import _RustLayout + + +class HomescreenBase(_RustLayout): + RENDER_INDICATOR: object | None = None + + def __init__(self, layout: Any) -> None: + super().__init__(layout=layout) + self.is_connected = True + + async def __iter__(self) -> Any: + # We need to catch the ui.Cancelled exception that kills us, because that means + # that we will need to draw on screen again after restart. + try: + return await super().__iter__() + except ui.Cancelled: + storage.cache.homescreen_shown = None + raise + + +class Homescreen(HomescreenBase): + RENDER_INDICATOR = storage.cache.HOMESCREEN_ON + + def __init__( + self, + label: str | None, + notification: str | None, + notification_is_error: bool, + hold_to_lock: bool, + ) -> None: + level = 1 + if notification is not None: + notification = notification.rstrip("!") + if "EXPERIMENTAL" in notification: + level = 2 + elif notification_is_error: + level = 0 + + super().__init__( + layout=trezorui2.show_homescreen( + label=label or "My Trezor", + notification=notification, + notification_level=level, + hold=hold_to_lock, + ), + ) + + async def usb_checker_task(self) -> None: + usbcheck = loop.wait(io.USB_CHECK) + while True: + is_connected = await usbcheck + if is_connected != self.is_connected: + self.is_connected = is_connected + self.layout.usb_event(is_connected) + self.layout.paint() + storage.cache.homescreen_shown = None + + def create_tasks(self) -> Tuple[loop.AwaitableTask, ...]: + return super().create_tasks() + (self.usb_checker_task(),) + + +class Lockscreen(HomescreenBase): + RENDER_INDICATOR = storage.cache.LOCKSCREEN_ON + BACKLIGHT_LEVEL = ui.BACKLIGHT_LOW + + def __init__( + self, + label: str | None, + bootscreen: bool = False, + ) -> None: + self.bootscreen = bootscreen + if bootscreen: + self.BACKLIGHT_LEVEL = ui.BACKLIGHT_NORMAL + + super().__init__( + layout=trezorui2.show_lockscreen( + label=label or "My Trezor", + bootscreen=bootscreen, + ), + ) + + async def __iter__(self) -> Any: + result = await super().__iter__() + if self.bootscreen: + self.request_complete_repaint() + return result + + +class Busyscreen(HomescreenBase): + RENDER_INDICATOR = storage.cache.BUSYSCREEN_ON + + def __init__(self, delay_ms: int) -> None: + super().__init__( + layout=trezorui2.show_busyscreen( + title="PLEASE WAIT", + description="CoinJoin in progress.\n\nDo not disconnect your\nTrezor.", + time_ms=delay_ms, + ) + ) + + async def __iter__(self) -> Any: + # Handle timeout. + result = await super().__iter__() + assert result == trezorui2.CANCELLED + storage.cache.delete(storage.cache.APP_COMMON_BUSY_DEADLINE_MS) + set_homescreen() + return result diff --git a/core/tools/toif_convert.py b/core/tools/toif_convert.py index 36472d4142..2df587145d 100755 --- a/core/tools/toif_convert.py +++ b/core/tools/toif_convert.py @@ -17,6 +17,7 @@ def toif_convert(infile, outfile): toif_convert.py somefile.jpg outfile.toif toif_convert.py infile.toif outfile.png + \b # ensure gray-scale output TOIF mogrify -colorspace gray icon.png toif_convert.py icon.png icon.toif diff --git a/tests/device_tests/ethereum/test_signtx.py b/tests/device_tests/ethereum/test_signtx.py index bd41949304..921d89de7d 100644 --- a/tests/device_tests/ethereum/test_signtx.py +++ b/tests/device_tests/ethereum/test_signtx.py @@ -400,6 +400,11 @@ HEXDATA = "0123456789abcd000023456789abcd010003456789abcd020000456789abcd0300000 ) @pytest.mark.skip_t1 def test_signtx_data_pagination(client: Client, flow): + # prevent this test from getting stuck on UI2 + import os + + assert os.getenv("UI2") != "1" + with client: client.watch_layout() client.set_input_flow(flow(client)) diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json index 1a75251054..9a9f562ffd 100644 --- a/tests/ui_tests/fixtures.json +++ b/tests/ui_tests/fixtures.json @@ -1674,1058 +1674,1064 @@ "TT_zcash-test_sign_tx.py::test_spend_v5_input": "dac4a7441f8102dc9d39eb748516b93adb1c12c6554712e97df604db82e74994", "TT_zcash-test_sign_tx.py::test_unified_address": "27924ef4e296805293684a047c6d36d716ca18fe2bda41a06394e2c6aa70e900", "TT_zcash-test_sign_tx.py::test_version_group_id_missing": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1", -"TTui2_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "971ffb5a1a9a39e5308efd89f51be986e8143608d1c6638b1171c02011abb141", -"TTui2_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "2547b2dc528bc3090219f13286d832939f3a5a89c6f1f219a60658ba00b83bdd", -"TTui2_binance-test_get_public_key.py::test_binance_get_public_key": "475f6abb5505c7f076ccb8ddb7bbf76dd3fe3cee7b6c23cefe2611c9703407ba", -"TTui2_binance-test_sign_tx.py::test_binance_sign_message[message0-expected_response0]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_binance-test_sign_tx.py::test_binance_sign_message[message1-expected_response1]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_binance-test_sign_tx.py::test_binance_sign_message[message2-expected_response2]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_cancel_authorization": "e86435a8bfbe0f3e84dd14fa3fc65378fb781e154fc37cc034225834d730d596", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_get_address": "d3ca64a1ee5a32ebd4aa05b8fbf53d62486e37236c6d1e824463c79cf992ec75", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_get_public_key": "f2e86cbdfb6f366da2c25632b095733e23760c7007104c9aac5e5e0d0705e66a", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_multisession_authorization": "84c35fd5dea8c492de5ff44d5a9464008ff02b6b95e4f19b68bf2dc954afece5", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_sign_tx": "71e815272e959eb566b8f47467665dbc7c72a3091a97e7d58e6b014f6222f518", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_sign_tx_spend": "a6ee72e6563098e4bcf26f4645f48eaddda48173e10917133f409b9368b333db", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_wrong_account_type": "e86435a8bfbe0f3e84dd14fa3fc65378fb781e154fc37cc034225834d730d596", -"TTui2_bitcoin-test_authorize_coinjoin.py::test_wrong_coordinator": "e86435a8bfbe0f3e84dd14fa3fc65378fb781e154fc37cc034225834d730d596", -"TTui2_bitcoin-test_bcash.py::test_attack_change_input": "82807a26c44e6ca7edc44e87b21e2524dfb70a5bc34b019ee772dc73e0ed5de1", -"TTui2_bitcoin-test_bcash.py::test_send_bch_change": "82807a26c44e6ca7edc44e87b21e2524dfb70a5bc34b019ee772dc73e0ed5de1", -"TTui2_bitcoin-test_bcash.py::test_send_bch_external_presigned": "d03a8b7e1d6aac9a2c5104bd59517ff3c1db69ca488b54ad84011ea074fb808b", -"TTui2_bitcoin-test_bcash.py::test_send_bch_multisig_change": "238e3a402824cf6d5ea88a6faa35882fe1f669bb60e7a4540680079c23ec9b6f", -"TTui2_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "f571d8de574fc690ec4d2588fbadb30cb742df50df0977b2a81c419198cffa8c", -"TTui2_bitcoin-test_bcash.py::test_send_bch_nochange": "93c96af554dfe6944579e55933a9f48f050e3f55b71f51c1f357f911f2eb3bf8", -"TTui2_bitcoin-test_bcash.py::test_send_bch_oldaddr": "47a8e89d96ce63bc9139909f214e571ccc347fd7ba749ddb97bcb417c380b1ff", -"TTui2_bitcoin-test_bgold.py::test_attack_change_input": "10bee09df315520ee891201553ff6e5b9e8ac083cf1c2a1110a8a790f5b9cb90", -"TTui2_bitcoin-test_bgold.py::test_send_bitcoin_gold_change": "10bee09df315520ee891201553ff6e5b9e8ac083cf1c2a1110a8a790f5b9cb90", -"TTui2_bitcoin-test_bgold.py::test_send_bitcoin_gold_nochange": "18380f562ca9c0a23813b42c94d6db6a8025a3b27670f1f707392c3846c8711a", -"TTui2_bitcoin-test_bgold.py::test_send_btg_external_presigned": "263f816be97ecb89c1980410f45da1bbef81fdef2725eba776b133197f7c08b1", -"TTui2_bitcoin-test_bgold.py::test_send_btg_multisig_change": "3cc6c400f532e8dc5437ab0891b7bd3d3e288b41641c0370f7e788c8797d7c26", -"TTui2_bitcoin-test_bgold.py::test_send_mixed_inputs": "18380f562ca9c0a23813b42c94d6db6a8025a3b27670f1f707392c3846c8711a", -"TTui2_bitcoin-test_bgold.py::test_send_multisig_1": "5d18351b29df8d0a3c6809913ae9924ee93120762da8613cafbf45eed22fccb2", -"TTui2_bitcoin-test_bgold.py::test_send_p2sh": "c597587bc2fd961834a39a4b1da0a739e40d6811c1e5c59a0cb4e167341486c2", -"TTui2_bitcoin-test_bgold.py::test_send_p2sh_witness_change": "cdcbb5c4593d8c7a51fe92134d80a1a90f10403c2713b058f6a4997c89abcbf4", -"TTui2_bitcoin-test_dash.py::test_send_dash": "5a0d4d7461799831e53e8014d011cad0b137a4fa1cbcaa3bc02d6dd06bf34c38", -"TTui2_bitcoin-test_dash.py::test_send_dash_dip2_input": "74f2ee3b77d895f4b19cb0e3c62498bf68fb43b7c5b416623dde1161b3a990cc", -"TTui2_bitcoin-test_decred.py::test_decred_multisig_change": "15cc7253c867dbde2e99f8482d6ab83fcba837fc30ea0dbe72abcabefacd5f56", -"TTui2_bitcoin-test_decred.py::test_purchase_ticket_decred": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_decred.py::test_send_decred": "fc60c1d4810eefa11080f0bef05fee753f9c86b4ec1c638955ddbd34c1701cc6", -"TTui2_bitcoin-test_decred.py::test_send_decred_change": "3cc3d6de1c886265eaa3fb336268d5fc7540d6ee293d496cc74cec641e0ae046", -"TTui2_bitcoin-test_decred.py::test_spend_from_stake_generation_and_revocation_decred": "4c18e54ff963ebce4d9fba57873111e8943a3da193ce093e35dc4d76ba7aa2f9", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDADDRESS-pkh([5-7a80e3db": "0ccb7a9dc52037538ed9b4a9f061baa507291cdd402049359c912b4d73ece6cb", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDP2SHWITNESS-sh-03d56ac2": "3dcd2ee0ac8e6ad870c076b59981d06642f49b39698a63d5eea23ecf79c9ed6a", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDTAPROOT-tr([5c-22751b2f": "0d49a66b16fc3c78cd1bbec1ce0e4a469cc0f0d8e346034aa4acfbb5f41a504f", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDWITNESS-wpkh([-edfbc435": "bd726c3fa24ae77e467bdedd76b10ee955b3b9346d224fd2219ab7ee1f8fec5e", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDADDRESS-pkh([5-5ab06094": "dddc8a45092adf038251ac08493f1262a76631657f550315b0b030d1860a246c", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDP2SHWITNESS-sh-5dd6ae4b": "aaa997cc942fce1f196ec0189f9fef9b26d9f767bc4e4a251093e3854fafb409", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDTAPROOT-tr([5c-f4f20781": "e3268355064a7a5a797937e5134fa603afd10f64aab40c7caefc5b4c8ec4643a", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDWITNESS-wpkh([-98a75f0a": "abf5eeba16913880a1bc6e72b25023fa62042c18501fe34ac9c0ec1597c9c4b3", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDADDRESS-pkh([5-f63bf93f": "b7cc5202514f44d93581e467da59bbf659eb16e638f25704dbae662853cf7d18", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDP2SHWITNESS-sh-fd42e1d9": "1335ff054c62ac1c819b316d735b86d507282d80a9f47e77cdc8adf92135e066", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDTAPROOT-tr([5c-a794e72a": "8181d9a4b31e9b0b5acc22862fc5361783fef7e25d5fc375b6fabc1dd1ad84de", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDWITNESS-wpkh([-e70d0168": "682044acadb17ccfb314f0736078ffd2386589e829924a637c9d64a7a24e24fe", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDADDRESS-pkh([5-2d5b32fe": "9cbea87c541ed1f8b0ba9a2bb82bf81c81c212158cadc9e03029af2f3926a156", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDP2SHWITNESS-sh-e8c5303c": "3ec07bf75c919794732ac0c608bab79db80cf7c1a321d820670706ac7435c9ca", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDTAPROOT-tr([5c-ddc924d3": "cc50af19f0039d2ed009c4ec4d86718998faa2e9702c7dd8d584a3836e401136", -"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDWITNESS-wpkh([-996ae319": "ee2f1298a9255a4d06acc8bf2627135e8b8df7bbe0a2aa8024f497e3bc3c36eb", -"TTui2_bitcoin-test_firo.py::test_spend_lelantus": "38539e781a9eef547b717dd4edf12baaa56a3ffc9e74f79b966a4cb572da4361", -"TTui2_bitcoin-test_fujicoin.py::test_send_p2tr": "535fe75351800738f1e740705bd2ff1befc7d2c71051ef31b70c2e7d07de4b9b", -"TTui2_bitcoin-test_getaddress.py::test_address_mac": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_altcoin_address_mac": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_bch": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_bch_multisig": "e259a3e9250aafd2d686c8da5cffa622a56a0b6ed4bcbb98283a58e6e36ae8fe", -"TTui2_bitcoin-test_getaddress.py::test_btc": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_crw": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_elements": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_grs": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_invalid_path": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_ltc": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_multisig": "024e7a3025a5c1bdc378ea1f093736c14cee39bc765bf61e63b528a37e93bda7", -"TTui2_bitcoin-test_getaddress.py::test_multisig_missing[False]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_multisig_missing[True]": "8c8a8c9586cdf822c207f58bdc04d0bdb549765275c08d37774db3f8123b3af7", -"TTui2_bitcoin-test_getaddress.py::test_public_ckd": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_tbtc": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_tgrs": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress.py::test_unknown_path": "f6af7cca387eeb354af03ee898a993b8f40a33c73d03c0327c9f8d51d65b3991", -"TTui2_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit.py::test_show_segwit": "bdd4ef1ca2d34f65373b8206b05d6c1ddffe2a5eb9409da19022a30c85953ba3", -"TTui2_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "ddd568ba1924c4287c58f4594b1b72a90066692954dbaeb25f12838c871013d9", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "b632a6efd8b8aa0cdd50b69c8772e142030975ba7f50f45e9b6c965a30b87054", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "d58ca4c125a9337d8f32978a08ff0eaf4c0b39e01c8d20c0cbd81844d6188579", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "22ca7aabfe69674c49bd66d41b1f0238d9684fdd6cb98f337dcb7d3e4d6115f2", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "14539b7c71bacf30fee40f8f39393deadc227314feea86b4de66f5f0d81ae2e1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "75e2646d7f6fd81cf159d16e36e30aa57fb31cf283f82ecc92b44a659b5f7733", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "c59148f96388e00febb36b4b151d7910ff1e2042521b901767cbf6d78ca9a617", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "e07de92e1643f87e67c7ae98665065a1b4ec59cbdb77f60251e838a0d99c2b91", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "8cabce7baebe9e4dd7f8c4e700eb3591b3f70d067a8545b2f3f8ad1d6dbb8d2d", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "8b492dfb35cbfe7758f5ffac2177d04ad3cc88b9565a3fcc936f08efb41e1b76", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "52cf67bc82d8d0b67ba245d432b8a90e2549566f8a8691ea281f2218249a5016", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "8fcca00755d527e6800435675448f42984c2b6073fa8bbb33eeabed23b65310f", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "df755c8a72f4a29c479e148ce29e0a50bdfd79bd69931d5ec2cd6e61db3e9c0b", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "3f004c82f0ee02f44f26dd7696cd0d94a22e7c1ce0a58ed8efd18ec87fab0f0e", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "aed15daef16d63fa37ee5d72e7642b63f3d237f2bf6890b0d4359a10338abb78", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "bbddf7db56267bfdbd779c875355282f8bdf97f1fc7602d8d766b50ad0d6a068", -"TTui2_bitcoin-test_getaddress_show.py::test_show[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-1F-1e4f2f74": "0594005ecf204616fee8178440c954d3cd99dd6b8574f54916865b5eca9f1cf1", -"TTui2_bitcoin-test_getaddress_show.py::test_show[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWITNES-a986211d": "76c542955e2319e3a9afcadca2a6d79b3f719807ac0c40b2d26198e168abf899", -"TTui2_bitcoin-test_getaddress_show.py::test_show[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-bc-a5f08dfb": "81ae91ea20ca248558986d6c18f957b6b2f236d285efca6e1f8538a6a67d954f", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_15": "07a7a7bb2976b6a123dd7482467fe5277cb6799a9861910df477e361b45accfb", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_3": "cd2df86e724e5971f6e7f9c6fe79286144344917e72fd571db9aed920ef54c4e", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDMULTISIG-0-3-4efd9cf3": "e702cb33c0c54490029b076655e75d7e5e80134cbe9c057b5aa8ef8ca18f96a9", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDMULTISIG-0-3-98a7e339": "e702cb33c0c54490029b076655e75d7e5e80134cbe9c057b5aa8ef8ca18f96a9", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDP2SHWITNESS--2cf5f03c": "de151f88bc6bcacd6f1bdc59dedb4636aadf0cfe1ab389314784b028ccd68191", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDP2SHWITNESS--5ea18367": "de151f88bc6bcacd6f1bdc59dedb4636aadf0cfe1ab389314784b028ccd68191", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDWITNESS-2-bc-e70b56ea": "7b06b437230257aff3395a1f47cc89ef4f20145f4a3a75d0825268bcff2e49ee", -"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDWITNESS-2-bc-f3c4650f": "7b06b437230257aff3395a1f47cc89ef4f20145f4a3a75d0825268bcff2e49ee", -"TTui2_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "0f64de87278eb016e573ece582e7dea2e1af187436f7f6bfd36a3993b0f37553", -"TTui2_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "00a103908234e2c457d96392719f125ede0373473e1c8d06e7497cb92be74248", -"TTui2_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey.py::test_slip25_path": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_grs.py::test_legacy": "9dc4fd9a3700c7be3a6452ccdbbb6926f9c66687f34c858230bde5c4a544b4ec", -"TTui2_bitcoin-test_grs.py::test_legacy_change": "a84411517da5194438e93092fc7fb646aaad2263f29881efadc525c8a02cab97", -"TTui2_bitcoin-test_grs.py::test_send_p2tr": "251225224493d3ba84593d27ee3aac2cccd7fbd96d26d7b0a59e5e7b55c8d9dc", -"TTui2_bitcoin-test_grs.py::test_send_segwit_native": "6bcc48fda6ee69bc4eb361ab3d1c9026e1d4d4eaacf43debdcb81017086442c4", -"TTui2_bitcoin-test_grs.py::test_send_segwit_native_change": "6358fb7beccf2859a1611a352405ff634f309cad294425da91bd3a51b48a6971", -"TTui2_bitcoin-test_grs.py::test_send_segwit_p2sh": "e51ec012748909330492d33ce48a36e71292fbaca9c4a8df40dc74439a3ddf70", -"TTui2_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "728a182a2ca5f39152e785b0a34400d1b83bc77c95b72bdcb3c4524e2f078bef", -"TTui2_bitcoin-test_komodo.py::test_one_one_fee_sapling": "e044eb855b39efd31a36831cfe25dea5770e225214116bf1de8c4e2dbd627fda", -"TTui2_bitcoin-test_komodo.py::test_one_one_rewards_claim": "bac20902771b117a6b5a544b379ecb8143e0ae7590ce7e4d83551ea852016656", -"TTui2_bitcoin-test_multisig.py::test_15_of_15": "e3feb81e1f7074f5fb0a4739644db80db17496e28f4598dd692548e8dd271d49", -"TTui2_bitcoin-test_multisig.py::test_2_of_3": "d4451fedf6e004cfb42be2e4274cd212d5454b744e590d320a77bd61bcdafc8a", -"TTui2_bitcoin-test_multisig.py::test_attack_change_input": "f4f102794e9e999d81d9ce15435abd8fa10c9af084e4b4bc3d445839aef0755d", -"TTui2_bitcoin-test_multisig.py::test_missing_pubkey": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_multisig_change.py::test_external_external": "d4c05f668cacfb6a08dc2dab45729cc89120e4f9b1c422855a8171a271f6dafd", -"TTui2_bitcoin-test_multisig_change.py::test_external_internal": "676ca0ba877814630124d3c9d5b911a3123a9ae1d07d5553a93e34a6bffdbf92", -"TTui2_bitcoin-test_multisig_change.py::test_internal_external": "3e3cd8661e722c11596e1d0211ed98a12ee1d269550ce6c13b97ec45c4d97689", -"TTui2_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "addcb9ea582fe54b20c4d97a472a79ee95c6c2172edabd66f3938b3c2046c5d3", -"TTui2_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "4a89f95b8b48af17aec4518ba489ac1c547d9b7f549d762b2eaa3c021d278642", -"TTui2_bitcoin-test_multisig_change.py::test_multisig_external_external": "62053184643d1f374aeb6c6ebfeba37818e9c8c956be5d27d559d941006c7261", -"TTui2_bitcoin-test_multisig_change.py::test_multisig_mismatch_change": "1da508a75ac20168bddfdc9f1dd1dd65e3af31b46d6a093792b4497a7d93541b", -"TTui2_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "acf3e3093fb9e42be99c4419b0c1e6e564765c644b007046ee685933a818dce7", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-6-255-script_types3]": "5ed68e5c665c55abc47fabc664e19ada990135a78d1a0d396fbec1d782a69eb6", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-script_types2]": "ff06a6edf05bf8c3cb3fb96e17b24039e958eccb54ec4db5d46f15671f92d803", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-3h-100h-4-255-script_types1]": "0d143b9fa0eee95150b1753f202fe400541d04ce28d84137b355589a0f3d3b84", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-4-255-script_types0]": "4670eeb58a80783a48380b0683b1918c8d55c898766bbf7b8984712ec6ac8499", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-49-0-63-0-255-script_types4]": "69fa7690ab5ef602c3dc39c174c58cea3d5d73a48e10950f339e94061fb4597f", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths0-address_index0]": "12ce818365a2cda8e627293f018b197bf201ab561a99a810f3f09b218edeb4a5", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths1-address_index1]": "a9c363c6cfb2647bf4af2883776630b6bcd79e0e919634f449cd383e08cb49d5", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths2-address_index2]": "9c3f5da8071e113277dcebfbf3cdc265425e1db744f0d35b66dcc785bbb48ef3", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths3-address_index3]": "e6c80d783f2e07aa4bb66f8b8b060a6facfa78744fb87d48707bd8ce225bb73b", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths4-address_index4]": "55b2237f278a25d2649c0c9106876e654b9a04f87b6568d30466723c16c8a0f2", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths5-address_index5]": "18acb23a37a48c9a13c4daf60078a06731b3bb348f6dc20a7a8d3920c6c1afdc", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths6-address_index6]": "7289799134c3ddf1f0ab22a3f9ec37547613e3f261763e05490cfb50c9ef7cf3", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-1195487518-6-255-script_types3]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-1195487518-script_types2]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-3h-100h-4-255-script_types1]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-4-255-script_types0]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-49-0-63-0-255-script_types4]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-6-255-script_types3]": "1cf4b6045a7842757b4fb1e8f5bfaef332545077a45dd9df18b528068abcd29f", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-script_types2]": "1921cf9059ee8e553bfb0eb388c4089fb78da23cd0c735712588d815bd0e151d", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-3h-100h-4-255-script_types1]": "e91c26185761f6826389c56a7ff18c06d39751878a706d14d8724cae82250072", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-4-255-script_types0]": "6664cee18011e0d51201117b52e3d197aaffa99691d3c05339ea9dd29652e518", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-49-0-63-0-255-script_types4]": "4e4fda48067f1924abaa3672f4d3b2a0b169195569ccd3c6ae443f0b24324c52", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-6-255-script_types3]": "2c5b4c9fd5a110ad11090a69c90a8b55a28f7f718ac7910f2db132751496b4a6", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-script_types2]": "8f2bdaae1f4e3553c152df451a6ab1133cebf15728d421ad9a6ec462c0b9e334", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-3h-100h-4-255-script_types1]": "c6c74a8110e702cedfdcc891a60317de94cb73e87c4e9465eaebf2e3712305c7", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-4-255-script_types0]": "c6c74a8110e702cedfdcc891a60317de94cb73e87c4e9465eaebf2e3712305c7", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-49-0-63-0-255-script_types4]": "3f8124c4f363b5b653efc20b006cfb68e7c4f59b0ff2ada57b57c7f71814bc1b", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths0-address_index0]": "7b44d6ed3de9bfc8ede584a60f13140b0d31ac422e94d728fca61d1f31312a0a", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths1-address_index1]": "7b44d6ed3de9bfc8ede584a60f13140b0d31ac422e94d728fca61d1f31312a0a", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths2-address_index2]": "3e5e87f421ce9a2021b5d71b0ab26a424cadea1b3e4b442c26e3aa3b1ac91cfe", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths3-address_index3]": "01eb36997b393ad30c38b6d049c6e97a6e0fb9eb550d2c4bf54c1d6ea8af6b18", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths4-address_index4]": "7b44d6ed3de9bfc8ede584a60f13140b0d31ac422e94d728fca61d1f31312a0a", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths5-address_index5]": "7b44d6ed3de9bfc8ede584a60f13140b0d31ac422e94d728fca61d1f31312a0a", -"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths6-address_index6]": "7b44d6ed3de9bfc8ede584a60f13140b0d31ac422e94d728fca61d1f31312a0a", -"TTui2_bitcoin-test_op_return.py::test_nonzero_opreturn": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_op_return.py::test_opreturn": "9b62908c391ea6df8cabb18480daee5c6ff076a7b8325b64c3753566d299cb27", -"TTui2_bitcoin-test_op_return.py::test_opreturn_address": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_peercoin.py::test_timestamp_included": "e997d92c358f9eafd0fbf269efe9f7659ae571772b0dd6b5f1d200829ace7bc8", -"TTui2_bitcoin-test_peercoin.py::test_timestamp_missing": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "fca1551a0d1c363c319adf2728e1b922badfc724ea6256c849a34df7bac51296", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[NFC message]": "e1d1ae8db03fa2f36106ce22899a3f3b4bb56d07347064dc9c088c85d0273708", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[NFKD message]": "e1d1ae8db03fa2f36106ce22899a3f3b4bb56d07347064dc9c088c85d0273708", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[bcash]": "b083d48de0b79e50280f70376c52a6186bbe24f5143531a4446831b9f6b6296b", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[decred-empty]": "748933959e2261be0911a6cfaa123457e46920620a9b9809f4315e8e7767c983", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[decred]": "7140fbbcd372a975ac5bb55de8644c60bd1498da1324f269b09d6e4065e01e98", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[grs-p2pkh]": "018716497bae129b11b6a242265917f62264aeb5e1392feeabd0810f919dde1a", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-native]": "8c3cca633733a318a130b958613dc475f255d8fe44e28daaea4ba19df6dd35f7", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-p2sh]": "717632ba3f415cdd15e088460432a70ad774f94195fdd0a39f0e09c3eb9ac61d", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh long message]": "dd150bc0864cc2feab91ed1b78fc318c875dccff4a549d2db060057e30e0d5ce", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh0]": "a0cd407bb318c525fba019b52f01c68053e9e64ea3827b53ebac2d91cb2b68ed", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh1]": "a0cd407bb318c525fba019b52f01c68053e9e64ea3827b53ebac2d91cb2b68ed", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh2]": "361b99a6ff648f78cf038b14ed06a15cddada33a74928ade0fb452e7d3db562f", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native long message]": "03d104cef3867c5fb8caad6eec6ffcebedabdfd3dc9555d0fe4797386cf28087", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native0]": "207b57ebe6cd6396d8b25fcb7ea34c758478e5f16d058f3dbd961081b8687395", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native1]": "207b57ebe6cd6396d8b25fcb7ea34c758478e5f16d058f3dbd961081b8687395", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native2]": "44854c55d21f24f8235c1208156b25af94d09e8b79f93f4e29c636203d97a3fd", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh long message]": "6741dabd02f1327aca1672cac7a93a090ddd63e89da21f5291e4997a3d9cdcb6", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh0]": "5123bd011627bc914943c541a44f24a85ffbfc4dc4dd4621c3a43e5d41275e6d", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh1]": "5123bd011627bc914943c541a44f24a85ffbfc4dc4dd4621c3a43e5d41275e6d", -"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh2]": "771ce488edfaaac91d77ed39559cb80dbec015f1393d9b1a605a4be179c3b125", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[long_words]": "371aea17ec6d4d8a1280a6132eb2cb0db6f3b8c13c3788dbf34946cc7c41314a", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[newlines]": "426cf6e863dc4dbcc482d1b1e88deb83db015a8a3381835de6970b1eb84d805a", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[no_spaces]": "ed88e029d427bcd08621e579afa3869d5cc1e522c9b8150326375b95aec4f79e", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[normal_text]": "a93757a73a6ec7c2e4a906b140339a3323b1fecf31fac3ca90bb4a8a2cef436d", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[single_line_over]": "0f6e7b1753987c0bfa6265f1f9aa63559ee2daa062285170907b49494e2ac308", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_nospace]": "f1d75de8106980288b1adca46fd57af0c85a7d6d2fc7a1c16bdb7e4edf68a354", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_text]": "ccbb739bc0649ab5c94ada099e75b33dc025c81bac01a29fa5ffa417eb4b67f9", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination_trailing_newline": "20e4ab5430739e12479ae7effba0f5f9a42db421a8b91ec91962ac44e769e2e3", -"TTui2_bitcoin-test_signmessage.py::test_signmessage_path_warning": "abdf7e4470cebadeb511fe0d4b6d40fa37f5d34f479d8170850caf0cc8e3b089", -"TTui2_bitcoin-test_signtx.py::test_attack_change_input_address": "286b957738a6df9044e40015e1c52e0aceb41845a26a6f484f6dc576f1d39d07", -"TTui2_bitcoin-test_signtx.py::test_attack_change_outputs": "e5aa6ad2a407151aadce85acc7cf9e7fd7e08f6cda8663ee3cbb9fc87d5e16bd", -"TTui2_bitcoin-test_signtx.py::test_attack_modify_change_address": "2caf6724b1cc6eed4ac4015e30080b076b9fa8393a577bffc3dfadca51674ead", -"TTui2_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "2caf6724b1cc6eed4ac4015e30080b076b9fa8393a577bffc3dfadca51674ead", -"TTui2_bitcoin-test_signtx.py::test_fee_high_hardfail": "9f6b3877016801771c50ecd2299501465ca5b3248e84e719601ce6a855edcb6e", -"TTui2_bitcoin-test_signtx.py::test_fee_high_warning": "75c962fa97000c052c33e72ad7e567df2c153646c5a7f1877278d85b254a5892", -"TTui2_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "5f439aa9275b25565d0956030a54142b9598dddab0d6c48674b5ae77beaf3df9", -"TTui2_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "5f439aa9275b25565d0956030a54142b9598dddab0d6c48674b5ae77beaf3df9", -"TTui2_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "5f439aa9275b25565d0956030a54142b9598dddab0d6c48674b5ae77beaf3df9", -"TTui2_bitcoin-test_signtx.py::test_lock_time_blockheight": "74bd9d7889a224004c3a0e28a0259a181e84e2009b894ca0a2a8142b7411d01f", -"TTui2_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "74bd9d7889a224004c3a0e28a0259a181e84e2009b894ca0a2a8142b7411d01f", -"TTui2_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "74bd9d7889a224004c3a0e28a0259a181e84e2009b894ca0a2a8142b7411d01f", -"TTui2_bitcoin-test_signtx.py::test_lots_of_change": "e1dfcfe4e9eceea3be1c2a5b48c6416f12dda39f88806ba432144470b6cc88ec", -"TTui2_bitcoin-test_signtx.py::test_lots_of_inputs": "592bef32fef7f5560abd0d7f2b4727a76add902eb461b7ff44f88863de4486c6", -"TTui2_bitcoin-test_signtx.py::test_lots_of_outputs": "487a815c0efb929439b3e00721b3dca2e5bb80bdbe46994b1ac0140fed42d193", -"TTui2_bitcoin-test_signtx.py::test_not_enough_funds": "5a007d01aeb7fc1f286303633685c7b2b52e7a60c3944321d4d5a2a5848d1647", -"TTui2_bitcoin-test_signtx.py::test_not_enough_vouts": "7a2401c75bd437bbf6d7becac477c89c00fc4a09f8dff8e950b0956edbe50c01", -"TTui2_bitcoin-test_signtx.py::test_one_one_fee": "59a1b32f7acab3ca1d9c2a6c4b66e36a9fc18a817de82d1bdc0dcd00bc0f7d71", -"TTui2_bitcoin-test_signtx.py::test_one_three_fee": "f634b55e4f4b9d8a41a85c08375d73d83e032bcdc9918dc3c5e43f045d397998", -"TTui2_bitcoin-test_signtx.py::test_one_two_fee": "faf8b9e9cd2344225f807154e4a5fdd2ec18886c06c77c8c1a0ab9467e76905b", -"TTui2_bitcoin-test_signtx.py::test_p2sh": "254b4c1f38f12acdbe043f4048b1e3d0f25e9abd25a92e721d1e44eac68abb2f", -"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "1da7eda8a41f140d9f952d5d07a265b63ba5184cfe53abb418a8d9f644838fba", -"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "1da7eda8a41f140d9f952d5d07a265b63ba5184cfe53abb418a8d9f644838fba", -"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "1da7eda8a41f140d9f952d5d07a265b63ba5184cfe53abb418a8d9f644838fba", -"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "1da7eda8a41f140d9f952d5d07a265b63ba5184cfe53abb418a8d9f644838fba", -"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "1da7eda8a41f140d9f952d5d07a265b63ba5184cfe53abb418a8d9f644838fba", -"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_signtx.py::test_spend_coinbase": "01c4dad811314f902e956bdf7a894f23b2a32d0a0beefab3ef7c7cdb8bedf014", -"TTui2_bitcoin-test_signtx.py::test_testnet_big_amount": "94b96f176e4d656de07f0ac9708aec8e15ea02e28c1a0ef2a29f1fceb71cd664", -"TTui2_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "dceac8593581d3af955d09adf23815978645d5fd46e3bf3a3f52bbd6a8599e7c", -"TTui2_bitcoin-test_signtx.py::test_testnet_one_two_fee": "2caf6724b1cc6eed4ac4015e30080b076b9fa8393a577bffc3dfadca51674ead", -"TTui2_bitcoin-test_signtx.py::test_two_changes": "3ab1abfc95932a9c83b9d9c2d8a769856fc2458f31fdcb299a4b289ef5287151", -"TTui2_bitcoin-test_signtx.py::test_two_two": "e5aa6ad2a407151aadce85acc7cf9e7fd7e08f6cda8663ee3cbb9fc87d5e16bd", -"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.BITCOIN]": "3979f908fc0ec80672d4e3eea9f8193fea122e1f3f5a963fc4010f4604117fea", -"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.MICROBITCOIN]": "fd59670c0dbde3629862f54bdfc59b4c55be7217b80a51132656584da66c5751", -"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.MILLIBITCOIN]": "00a3e55edd308bd346e36eb7456ceffcc7ea65556a87ec366a91e4d080362f66", -"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.SATOSHI]": "f92415d9bd790f7771af1364506aedafee3b9958dfe78e76f8a56a31b7934fb1", -"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx[None]": "3979f908fc0ec80672d4e3eea9f8193fea122e1f3f5a963fc4010f4604117fea", -"TTui2_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "cfd0be53b9ae3d63b5035b23ee8db53db490b388483b3af8218e8c7a95861889", -"TTui2_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "5ac163cdfafd74eead41adf1e74a4338b1eb06622643c0619c31f5aea062b337", -"TTui2_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "9781ebd9e3a9c55767e4e4fe738939928b7d66976a1174867501cf9c5f446a9f", -"TTui2_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "2b703903e4e668da970773d043d2b2de209a14b15567ee95519e3922102256bd", -"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "cd8c7a6a28b9ec2d6ec22bf6fdf556bdf1233d45f45ae67fc897501f96b32d70", -"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "d301fba1e64cc33f1bcdfd227e0f5b07b17dcc43d33b93926bacbacd93983c8d", -"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "ca406a766377e2b3d31cbe8c8d01ef4b8311d4e898ea19ac246e7db8d42521a3", -"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "255fdd3d09ea2e22eb72dd52664837487f3b89642c0826c277fbc5f37b1af27b", -"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "818834322689b2a5c3d6bd93d8be4d73267bec99f6aa8a6ba975ef4667440365", -"TTui2_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "dc28692b92052b4702be3cd3a0480d38b97f770937168c972f08e748c95592dd", -"TTui2_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "b35b9a83e3e1fc732f2106217bc9407ee9223a6b9861d80e29398667fddf2433", -"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "9b71056bb84b892f5cc88fca0bfa69818c94d60dcb6b4310c325f7233bb01475", -"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "f55ce6b1bb456b76f470bbb3ab84330c93574a56c36ae2f550f0c8bcd48351a1", -"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "d2bf6e264eb07356434b34fcb48bbb31cf0c261264962f96c12da44662af0529", -"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "dd676dc6e25290c436664bbbc4c99556ef77fa17ed6a4a0e7f0bd36ca34d349c", -"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "d2bf6e264eb07356434b34fcb48bbb31cf0c261264962f96c12da44662af0529", -"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "dd676dc6e25290c436664bbbc4c99556ef77fa17ed6a4a0e7f0bd36ca34d349c", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "32969947ba33b50f7dfcc614bef42086837f42f5b9bfc3067c3337da890b2cc2", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "27d0f7d5a4a12ac851551a1683e16cb9d552cea158f7e54c31f944d3ad23e69c", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "951daba49f4b9c6a57c57028d98d1031ff599d053c12ed331c989b256ed3147e", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "88b46ef596f4ca840ab53f8dd03db4cdd1d8f603536600aa281636a851fed423", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "3761d19dabcff545f7f7ed6ef6376c54aa4e975787efbae94752b34b2ef01c50", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "81c852d94a934ab3de45bf779864830ffbaf5723a3b35044993c499c686ebc90", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "df74d43f8ccce42b564541b3d4031526ef15beee4ab3d13b5a0c1e863d71e01a", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "dc61585c1986b9c451cbd414e80a295ec28e628e1355292385eba289034ac9f0", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "b3e9d0afe0deaf2cdfef95521d2894761882061939606a1c2e0fcd758ff019b2", -"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request_details": "812748a75e0586ad3d78937711cf751596c43220eb0344fc8bc19c3176ec18d5", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "07e3a4c2c4238fc66c5e25ae99db2c57913d9f319def103774c2f108961a1e43", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "07e3a4c2c4238fc66c5e25ae99db2c57913d9f319def103774c2f108961a1e43", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "07e3a4c2c4238fc66c5e25ae99db2c57913d9f319def103774c2f108961a1e43", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "07e3a4c2c4238fc66c5e25ae99db2c57913d9f319def103774c2f108961a1e43", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "a0c216bfc973661eb9a450a68df85bb9b7723c2072c6bc27103eb7403e12e7b9", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "a0c216bfc973661eb9a450a68df85bb9b7723c2072c6bc27103eb7403e12e7b9", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "a0c216bfc973661eb9a450a68df85bb9b7723c2072c6bc27103eb7403e12e7b9", -"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "a0c216bfc973661eb9a450a68df85bb9b7723c2072c6bc27103eb7403e12e7b9", -"TTui2_bitcoin-test_signtx_replacement.py::test_attack_fake_ext_input_amount": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_replacement.py::test_attack_fake_int_input_amount": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_replacement.py::test_attack_false_internal": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_replacement.py::test_attack_steal_change": "c6aa0455b60379bd9dcc3a880bb7caaf1f570c86c3ccdc1ff4051282a7a0a677", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2pkh_fee_bump": "1494b4a70c412886a01b35a203fc8a206b8cf7d4d798c5f7a6552396e4ee82c9", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2tr_fee_bump": "648c476388bd5537898246c2365fa0388bfb5767e7a5536c5c01b44b3c172a1e", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2tr_invalid_signature": "648c476388bd5537898246c2365fa0388bfb5767e7a5536c5c01b44b3c172a1e", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_finalize": "489a76a3d2f6bfdf8d3b728f32b0992a22237483a56bfb2f6d8148c9c2a71e00", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_fee_bump_from_external": "a085d0805c77faec60cef45951a2994f42c13ef49040ca5979f3c1c731e09e60", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_remove_change": "c46cfa45370d6380bff5b7f4276da57914f653a69c11eceaca58ae76367d203a", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_invalid_signature": "489a76a3d2f6bfdf8d3b728f32b0992a22237483a56bfb2f6d8148c9c2a71e00", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_op_return_fee_bump": "b043f6dafcfa6f2d023e7bdce54b79391f46906ccf24d5adaa575a998906345b", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909659-90000-02483045022100aa1b91-c9b963ae": "9d99f81fc2623cc26dfe8b44d9161d62560dfa4cb226d945e523c1970d2b82c9", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909718-90000-024730440220753f5304-ecb983d1": "9d99f81fc2623cc26dfe8b44d9161d62560dfa4cb226d945e523c1970d2b82c9", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909800-89859-0248304502210097a42b-7a89e474": "9d99f81fc2623cc26dfe8b44d9161d62560dfa4cb226d945e523c1970d2b82c9", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89800-02483045022100af3a87-80428fad": "56b42a00ce00d4054df8a6c108a77e1cf5c6a017721308e97f97fa3cd7bc2190", -"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89859-02483045022100eb74ab-881c7bef": "9d99f81fc2623cc26dfe8b44d9161d62560dfa4cb226d945e523c1970d2b82c9", -"TTui2_bitcoin-test_signtx_replacement.py::test_tx_meld": "2fe1ef0f26b48435b147b9f34ec6760817d6d3df3fba513f7c9b010d76c67bb0", -"TTui2_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "7971479598aa797aeb2735c399abaa0a4ea36ac9e585fc42bde569dacead8508", -"TTui2_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "2a47a2d6b89aac7fed76d05c50e994ab6182f7fb058581dcbd7fa59378fe386d", -"TTui2_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "de818e8db2188dbff208548a22188cac3dc6ea8bd36d8b6b461bac0bab0830a2", -"TTui2_bitcoin-test_signtx_segwit.py::test_send_p2sh": "1fd736fe6001a146213ace109f521f325df6e58948dd97aaedb846837d1a02b4", -"TTui2_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "82c0f7e8ed54ef93146d6eada20ec5a2a3d097c15ccff6942a1687d682c538ed", -"TTui2_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "ec6db6b30f16f5e0e514073054b4d0e6f223b9f63211f689859645b0ef25ce0d", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "eea0fd683e69e5d35093e32d81026161eff2c7d1fa0bb49dc2693c234cc0e46e", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_both": "ae323dfeaa140444f931924d72354e32a4c99f0e691a7230e5af54eb3f72ea42", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "7a3d24c9602f743e7c54262238aa938a2fd93972579ef4baaae551643e13a64b", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "30497d261c4b751f4f27104efbb46d0ae65b690f0e8355b7b6dae294ee40aba9", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "eebf07067f1bc0049854794cf2438b792bee914f2b6f533f6754469b1c10e8e8", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "eebf07067f1bc0049854794cf2438b792bee914f2b6f533f6754469b1c10e8e8", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_native": "3979f908fc0ec80672d4e3eea9f8193fea122e1f3f5a963fc4010f4604117fea", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "5b1321f03f25220fc6904016d01c19ca7e73464b52596eddee9020e23ed5cbc4", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "465d7e77f11cfc8337bd87fbf87153b4cd8dd6cf7defed11244305fd33be6eef", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "4f8e9c119b950cfe7f48c7af8335a9dbe7a4a68e3bd848589f510b1b3c2ba9d3", -"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "f3e9800006521d7fbb5d6de96bd03659b07cef4733500dfa60f4d8a829d42444", -"TTui2_bitcoin-test_signtx_taproot.py::test_attack_script_type": "d1fb864a379259c85fcb986eadff77708c18b4a6c9ddb56b3e05336990341cb8", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_mixed": "b95105e2678b621a06ffe3c126921a5d89e655b11957e8c76c192b3ce645cf39", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_p2tr": "fcc17bdfe319aa8f27f01bdb9660b0a8d1dca5a0be74e353bf13a3c2eef39328", -"TTui2_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "8c1992cb4bed58e0faad9f1a24269866e2d5e5c12106a57c3b8637edd6554e92", -"TTui2_bitcoin-test_verifymessage.py::test_message_grs": "d9789e293d71b497430538be4f3635c6ec96cd332c30c05676abd390300b2e98", -"TTui2_bitcoin-test_verifymessage.py::test_message_long": "041181a31c9232d8706eca4541fe5faa264acc43c2d8a6873f382bd67b04f1a6", -"TTui2_bitcoin-test_verifymessage.py::test_message_testnet": "cf5fc04107faef7b618732d49ed9a9507889b258bc09990b78e32f3e4af396d5", -"TTui2_bitcoin-test_verifymessage.py::test_message_verify": "b923b1a2b88838808460bf38b15bf805841e280a90723a40a7f47b6306628cd2", -"TTui2_bitcoin-test_verifymessage.py::test_message_verify_bcash": "2ded468d30dde1494fb3f4ad7dab465c17335f94b59bef11713091389fd77e50", -"TTui2_bitcoin-test_verifymessage.py::test_verify_bitcoind": "e924ff7a3008c7dca542e36f0026dd418352fb6910ab48dfadc237c36b46ddd3", -"TTui2_bitcoin-test_verifymessage.py::test_verify_utf": "8cc659614a453c5643e9c211fb070d58e93b472ebe45096c219058170caa3cd2", -"TTui2_bitcoin-test_verifymessage_segwit.py::test_message_long": "46cbf98f28bb01e4d92acc2755c24bed3616cbf9a189bb9ca0d60cd0af710d8a", -"TTui2_bitcoin-test_verifymessage_segwit.py::test_message_testnet": "ee70f4a3410c5cb37a351587b38a625b489a801be0f5040fc3649c9b0fb7544d", -"TTui2_bitcoin-test_verifymessage_segwit.py::test_message_verify": "b934503757f3974319ce43f4f9fad5e9d48291c17892b939bd4548ca122f4f76", -"TTui2_bitcoin-test_verifymessage_segwit.py::test_verify_utf": "5daff0a6e6df88737ca1b479afd87df2e06e6e2233b86d9da123e2af8a1cecc3", -"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_message_long": "00c2b350d781b89b7a6df32b337798d85f54b76dd32c1faadd868cf90bd8249e", -"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_message_testnet": "dd9c50a6fb92ca728fe254111ef0a2d0392cc81ac21dd1ebc009314f24f07d0e", -"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_message_verify": "dfc35dc605f15bb3f391ae5c10870b3358ea49d1aea02ff9f3607798c15ca667", -"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_verify_utf": "91b659369711ecee12e7976ad56f6f1b8b748871be5f0d864b38c626109b5ce0", -"TTui2_bitcoin-test_zcash.py::test_external_presigned": "31a32b4d4a0cabb6a61a31083191c7c165700d0c69842e02f16d3aca6498a986", -"TTui2_bitcoin-test_zcash.py::test_one_one_fee_sapling": "5cc295dd9530834f57114bf999912fd53559c900ea90340438d17f4c646f8f00", -"TTui2_bitcoin-test_zcash.py::test_spend_old_versions": "dba154053210d0b9a38299e0fc33b09aa5bb0b1a9b2973aaab610feb2cdb6af1", -"TTui2_bitcoin-test_zcash.py::test_v3_not_supported": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_bitcoin-test_zcash.py::test_version_group_id_missing": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[icarus-derivation]": "71460a7beed661a4f12ea36e30570525ff1b35e4f6e357810a775cd8d2622f97", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[icarus-trezor-derivation]": "5bfeeb9c1a29b2c3397c8fa8f494fbbc7488d12d655d204af1b4a5a4f9b97482", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[ledger-derivation]": "351fe00129eb7169b1a5349da094e0d87ab3e4d500e3d004c5fbed0cef82ada9", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters0-result0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters1-result1]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters10-result10]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters11-result11]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters12-result12]": "81519e1201710a290045b1707ac0ba3e1662d74760dc2d4aa22c34de178b459e", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters13-result13]": "e89871dcbc2d12371f23e50225cb8d743c048a12ace3985c2fae3ba137456df9", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters14-result14]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters15-result15]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters16-result16]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters17-result17]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters18-result18]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters19-result19]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters2-result2]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters20-result20]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters21-result21]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters22-result22]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters23-result23]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters24-result24]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters25-result25]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters26-result26]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters27-result27]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters28-result28]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters29-result29]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters3-result3]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters30-result30]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters31-result31]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters32-result32]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters33-result33]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters34-result34]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters35-result35]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters36-result36]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters4-result4]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters5-result5]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters6-result6]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters7-result7]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters8-result8]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters9-result9]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-derivation]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-trezor-derivation]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[ledger-derivation]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters0-result0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters1-result1]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters10-result10]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters11-result11]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters12-result12]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters13-result13]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters14-result14]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters15-result15]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters16-result16]": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters2-result2]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters3-result3]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters4-result4]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters5-result5]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters6-result6]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters7-result7]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters8-result8]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters9-result9]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_derivations.py::test_bad_session": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.ICA-3b0af713": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.ICARUS]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.LEDGER]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_cardano-test_derivations.py::test_ledger_available_always": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[all_script]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[all_script_cont-aae1e6c3": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[all_script_cont-e4ca0ea5": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[any_script]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[any_script_with-f2466a2e": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[invalid_before_script]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[invalid_hereaft-d01d7292": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[n_of_k_script]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[n_of_k_script_c-d93f5fb0": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[nested_script]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[nested_script_w-789238e6": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[pub_key_script]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[pub_key_script_-1579fe2a": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[byron_to_shelley_transfer]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change0]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change1]": "5b86dfd5380a6ec553b8ade069f8bddabe96c836e2e9e837249d9ec3158234d5", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_multiple_inputs]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change0]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change1]": "5b86dfd5380a6ec553b8ade069f8bddabe96c836e2e9e837249d9ec3158234d5", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_no_ttl-validity_start]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_a_required_signer]": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_output_datum_hash]": "8c673886c292f96636e1e830e38e46258d32eadb67033ac990719329b594fa20", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_script_data_hash]": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistratio-1ab28f77": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistration]": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-a144c34c": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-bf5f9707": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_a_required_signer]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_both_output_formats]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_inline_datum,_refer-d1082570": "405717cb6434ec914f38abe90171ec66ac07199e925ac88e99a41276c5033b65", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_long_inline_datum,_-1f681aaa": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_multiple_correctly_-6545455a": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_network_id_included-d9df16f9": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash]": "405717cb6434ec914f38abe90171ec66ac07199e925ac88e99a41276c5033b65", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash_a-84ad587a": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_address_but_-b0da7209": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_data_hash]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_an_ordinary_input]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a33e6741": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a6481374": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_key_script_addre-d3366a63": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_device-owned_collater-8f38b4d7": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_external_collateral_return]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_output_datum_hash]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_reference_input]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-6a67c1eb": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-72ef969e": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration_-78f5c748": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_an-4da9385a": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_ce-46b0a250": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_token_minting]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral]": "c970297187d1f474ecac74e01ccf3bd878f1746725990dc01e3dbd298013e6e2", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-3f0b305a": "c970297187d1f474ecac74e01ccf3bd878f1746725990dc01e3dbd298013e6e2", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-c92d773b": "c970297187d1f474ecac74e01ccf3bd878f1746725990dc01e3dbd298013e6e2", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_without_script_data_hash_a-9590827f": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-336f4a44": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-d3427614": "6a769e7d8165775a8c90b76a83517268aaf55399b8ce21e67a453f28e3c9e1c9", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_with_zero_margin]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_additional_wit-36ba8ce8": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_required_signers]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-0c37e6dc": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-7f1d12f6": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_output]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_script_address_a-56fc16f7": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_enterprise_address_ch-15518a4c": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_pointer_address_change_output]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_certificate_with_no_p-0bbad967": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_on_testnet]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction0]": "8bff4c04ea01e21cb9c332d32478f1bce1053e0ac018685a977634b47514fe13", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction1]": "c99bd98c07a059342d4445a925cf1c59e22779a758a7934145e2a46e52d76f98", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_auxiliary_data_hash]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "0898d3ae371236b252fd04e527bf299e556ee3bc7296883b96a1f6e268874f06", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "0898d3ae371236b252fd04e527bf299e556ee3bc7296883b96a1f6e268874f06", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_catalyst_registration]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "3290b3e7d3ff1dd2ca6f7b2e4a03e631ec7167666da0ce4daccd5aa458d67ca4", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_and_withdrawal]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_with_ac-9ca046f0": "8906296086070678a4726ba8aad5912f44de37adc9ff0871506767f014ba03ce", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_and_stake-3fdfc583": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certifica-e7bd462a": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certificate]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_ttl_equal_to_0]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_validity_interval_start_equal_to_0]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_change_output_path_in_ordinary_tr-805f9bd0": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_input_path_in_ordinary_transaction]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[additional_witness_requests_in_ordinar-9c4f94c0": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_mint_token_group_in_wrong_order]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_multiasset_token_group_-7c1351bc": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[auxiliary_data_hash_has_incorrect_length]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[both_datum_hash_and_inline_datum_present]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_output_accou-5a99fb35": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_key_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_script_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_invalid_pool_size]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_key_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_multisig_path]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_non_staking_path]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_script_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_stake_deregistration-e17db500": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_withdrawal_account_mismatch]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_path_larger_than_100]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_staking_path_larger_than_100]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_with_script_in_payment_part]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_input_is_present]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_input_prev_hash_has_incorre-99d2dc0e": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_return_is_present]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_return_with_datum_hash]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_return_with_script_address]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_a_different_certificate]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_multiple_pool_registration_ce-3000d4f0": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_withdrawal]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[fee_is_too_high]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[inline_datum_present_in_output_with_le-43c025ef": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_change_output_account_mismatch]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_stake_deregistration_certifi-b3383de2": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_withdrawal_account_mismatch]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_prev_hash_has_incorrect_length]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[invalid_pool_id]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_protocol_magic_with_testnet_network_id]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_transaction_with_testnet_output]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[margin_higher_than_1]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[missing_owner_with_path]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_1852_multisi-b7679330": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_a_collateral_input]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_collateral_return]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_output_conta-e3b36436": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_reference_input]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_repeated_withdrawal]": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_delega-19d1722c": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_delega-394991f1": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_deregi-351ce869": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_deregi-43da91d4": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_regist-456f1292": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_regist-84b1254e": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_total_collateral]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-9f7e1700": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-e98b1f5c": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_wthdrawal_ad-3291ee9e": "2e0f33cd226d5ba5b791b756cb81addb2f9add683f98fa4df76d21b45e1e469b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_without_minting_b-da5ba399": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_token_mintin-bc56f145": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_without_token_min-a128d577": "3290b3e7d3ff1dd2ca6f7b2e4a03e631ec7167666da0ce4daccd5aa458d67ca4", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_has_invalid_crc]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_a_valid_cbor_but_inv-ea3da215": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_invalid_cbor]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_long]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_short]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_datum_hash_has_incorrect_length]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_has_both_address_and_address_pa-2efc280f": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_total_is_too_high]": "7eaaee4c95d9a61eacd86762d1798339d169f80b558a5c9cefe91b5e55e57cfb", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_with_reward_address]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[plutus_transaction_with_output_contain-74465253": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_mint_in_wrong_order]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_multiasset_output_in_wrong_order]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_belongs_to_differe-e79b6855": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_is_a_base_address]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[reference_input_is_present]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_mint_token_group]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_multiasset_token_group]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_mint]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[required_signer_with_both_key_path_and-7d9a3c59": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-02b129f8": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-11c8b442": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-2d1899d5": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-3f8170f6": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-60961d51": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-790fc948": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-883e81d5": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-9ae6620c": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-d0eba163": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-e7a533e7": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-e908b1a8": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-f9976ae8": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[script_data_hash_has_incorrect_length]": "9ef42749cd338e0189d8e99fabe7f82f0c19d7211ec4ed44bb3584e3ac65af09", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_mainnet_transaction_with_testn-af110e3e": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_testnet_transaction_with_mainn-ba78ab8f": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_account_larger_than_100]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_certificate_and_w-003a1023": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_protocol_magic_with_mainnet_network_id]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_transaction_with_mainnet_output]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[total_collateral_is_present]": "6f59841dc5e3597d0940a7b4be0813b25555652180043634c9018272c5a22a3a", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_both_auxiliary_data_b-64274ac4": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_catalyst_registration-11533421": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[two_owners_with_path]": "52934629dcd68007bbb0858710eaabd237230621c2b7de6239a2b371f663fc8b", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[unsupported_address_type]": "cbfd7d957541a2ab43c47ccdcf2fa61893d817f888c2ce65af0af14b61c11425", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_multisig_transaction_signing_mode]": "1046e4587492a3ca32656c7f772db75462abd816d36f60e33022a783a8f155ea", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_ordinary_transaction_signing_mode]": "f71fe6d2af5c42cd6c75af8249deb3f14494ffa33e523469037b49cb13311991", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_plutus_transaction_signing_mode]": "07f9fd1a70fee3a30df134ca83965d4b45a5ddc7a54fa3e4e0f221d12911ca6d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_amount_is_too_large]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_contains_both_path_and_key_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_contains_both_path_and_script_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_key_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_multisig_path]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_non_staking_path]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_script_hash]": "a2bd55d3756d8be0583e95e9c6c92e6324a3e538eb816d8833fb34c38aa8910d", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[mainnet_transaction_without_change]": "220d08082ca2fdaa6a0d690230df063c8eff2caf09d1774eda271fd63a380475", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[multisig_transaction_with_a_requ-c2fba589": "08f9331d5e2d3863fb850475efd85bb70c069d4bec57d5ba3e34d1ca8c3bbbae", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_a_requ-9728607e": "737076e18dd20e11b6e0fcdc114ac08a35b71f18320d8e2b6e7b55c8aee7ddf9", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_long_i-708443f3": "c54ae51ab53104280b1082a3f6b333801434522530bc13971771886a66496dc9", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_output-9ba7352d": "47f45b994e7666a56c8ad812c2e2556a2a45ba0eb429c25c15d7ea86ef254486", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_reference_input]": "40e8c9595433edc450a33f591532f936de98f9b0a9c7d87618e29d8f37c8201f", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "40e8c9595433edc450a33f591532f936de98f9b0a9c7d87618e29d8f37c8201f", -"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "737076e18dd20e11b6e0fcdc114ac08a35b71f18320d8e2b6e7b55c8aee7ddf9", -"TTui2_eos-test_get_public_key.py::test_eos_get_public_key": "37c6d89dee7834586e85363d526d3bc3a0255be62b69015aecd0aacaa0f2a161", -"TTui2_eos-test_signtx.py::test_eos_signtx_buyram": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_buyrambytes": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_delegate": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_deleteauth": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_linkauth": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_newaccount": "072491152a466a5efa396bde1fbb07978753e95a6e586889e93a398e930e5ffd", -"TTui2_eos-test_signtx.py::test_eos_signtx_refund": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_sellram": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_setcontract": "19df9165d61d12c06ab308196cda8043541b18186c97638da80dbc92dee0f812", -"TTui2_eos-test_signtx.py::test_eos_signtx_transfer_token": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_undelegate": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_unknown": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_unlinkauth": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_updateauth": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_vote": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_eos-test_signtx.py::test_eos_signtx_vote_proxy": "2368c134fe964d8ca92fde2d2e665c7822e32f7bf181ef943161f5385799c950", -"TTui2_ethereum-test_getaddress.py::test_getaddress[ETC]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getaddress.py::test_getaddress[GoChain]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getaddress.py::test_getaddress[Wanchain]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters1-result1]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters2-result2]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters3-result3]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters0-result0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters1-result1]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters2-result2]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[array_of_structs]": "d956173e83f18021dfa4f78e474dccb865386e3ec02f2006b6e4886d5163029e", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[bare_minimum]": "1570f4edca1356df7222638dd3ee8ab12c42108b344a441556f9f1ce886d85a3", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[basic_data]": "724869011909189b15b70ff5a5cc1cd64de94f7cd6dc7b5ecd85fbe060693b2c", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[complex_data]": "30ccf9be3f61a51d98f98466edf73d9abb96d0082f2fd16d5d1ff4f4aef0fc20", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[full_domain_empty_message]": "1f2abaead7069cb49e1f598cb7d806758f594cdacf09d502f5fdc8b0c45b4f78", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[injective_testcase]": "1919cc5d3979d8c664d740b06a104409dedb21c171b8d1243c1cd8bcc7bcdca8", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_non_v4]": "724869011909189b15b70ff5a5cc1cd64de94f7cd6dc7b5ecd85fbe060693b2c", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_v4]": "724869011909189b15b70ff5a5cc1cd64de94f7cd6dc7b5ecd85fbe060693b2c", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[structs_arrays_v4]": "724869011909189b15b70ff5a5cc1cd64de94f7cd6dc7b5ecd85fbe060693b2c", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_cancel": "cb39f049291853a97887998967150c16c265c4c4d5de4c951732f12ebff82692", -"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_show_more_button": "4afa86262e681c00db09fa7883008d157b9f0c77477a75dd5144ded262900244", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "22c2edab04af9dc8873ccb7c6bfbe81461de85aa533e404b5a033b212772d0c3", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "fbec6c25222739d8a6c8f409d8ab854487cad7599cd5865a589dec653c0f357f", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "506eae7c9993b6bc2661697556e512ff5ee410004bf1e7317d24a4a4ce11d855", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "4932992834da53e881e2223cef0ee472a5829554db7675802edd7ee1dbdea934", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "c6d679791f81bb1afc05f855c62a308cc1b7a7fda4efc3ad492f2a82a1ad452d", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "ac91923e18c748b4d6df32a85234cb4e9ab40bfbf9dddfee3ac9a23a21a89cc2", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "f6d2267cd8c1272239fc1c838c302761f37e59412616537fc2c3595e7922d837", -"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "9c527296750ac999679e0b5e6a55be4bd0e21ce0b1dfc7e8f168e34fd4c39bf2", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters0-result0]": "918e6281f9265348aabf6b7308f02cf880649d442ba5b7b2ec8a721ba9cebdce", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "84ce569e4fb2732e69f8fe1fcad512331f5210410db535d502309a0ccdafd431", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters2-result2]": "2ca9028817a8fbeb92b773335d682fb9fdc60e97c76cc7b59b58e2bb79b9a7f0", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters3-result3]": "ba8e670b066efe24f23f73e6781d698490ebdbd8d89a2cd2bc4691dedfa8c591", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters4-result4]": "fc34ebc1a523fa3634754cef55ccfa34d1f5e9b1862538acc164fde0b8471c6e", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters5-result5]": "bdcf67d7683efeb794e46b74f4d8bbdf7729b80921a1c3eedb22080c2ca1d104", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "8964fc3f6bcd2c87917b1072c90236f26759d1001896ba282e6f189f231b7425", -"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "50b3a55ef37800c3b0880ba8351a5aec227909d5e024c830d05d9d200c9c1940", -"TTui2_ethereum-test_sign_verify_message.py::test_verify_invalid": "918e6281f9265348aabf6b7308f02cf880649d442ba5b7b2ec8a721ba9cebdce", -"TTui2_ethereum-test_signtx.py::test_data_streaming": "b97351ec13f0b5511911e40e0fd9a6958d9b26eb8c0d6eb2750ba5576cd85a56", -"TTui2_ethereum-test_signtx.py::test_sanity_checks": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_ethereum-test_signtx.py::test_sanity_checks_eip1559": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_ethereum-test_signtx.py::test_signtx[Auxilium]": "1f2b0c7846e1c10580ff5811f9b76f55105fdb7d3391db3205a1250d3b257101", -"TTui2_ethereum-test_signtx.py::test_signtx[ETC]": "d3482cd790e467b70e8d792bc1feaea614f1f26a158e811cde0b09669e978207", -"TTui2_ethereum-test_signtx.py::test_signtx[Ethereum]": "ad175566541204f86c003cef9f2b75d57a136f27117e052820b69644eba18681", -"TTui2_ethereum-test_signtx.py::test_signtx[Palm]": "b44b68aa695c2c7e6515e706a7772a19bd3955f2ff5843b9cb0e23dfd99fe529", -"TTui2_ethereum-test_signtx.py::test_signtx[Pirl]": "0aeb41022195d091c1137ba5da5ef06364c1ef7d8c835ee0bbdfd57afb46b728", -"TTui2_ethereum-test_signtx.py::test_signtx[Rinkeby]": "ec20812c5241ac03d6d4da68d927f818e00ba4010327bafc6e81f821a7224a10", -"TTui2_ethereum-test_signtx.py::test_signtx[Ropsten]": "4f172f79f5308acb8860afe4ecfc3258c9fe6a65405d5f416a0f87b4fcb03f79", -"TTui2_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_eth_path]": "5621d14179fc9b8b7f86a1e3c3302a070a59c2b5fafe230b95dff5cc340737a5", -"TTui2_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_testnet_path]": "5621d14179fc9b8b7f86a1e3c3302a070a59c2b5fafe230b95dff5cc340737a5", -"TTui2_ethereum-test_signtx.py::test_signtx[data_1]": "1d1cc34816e2ee19915b1029804f37419eb5926724df9f4581098ce2440a9195", -"TTui2_ethereum-test_signtx.py::test_signtx[data_2_bigdata]": "9174457e9cc815a47026835ce6710b3eb599cbefd3f26e5fc927d4a0cd833fbc", -"TTui2_ethereum-test_signtx.py::test_signtx[known_erc20_token]": "c7d61adb532de2e84eb7868c41394f9c2831bea37d47cf28e2cc7e33060bb1dc", -"TTui2_ethereum-test_signtx.py::test_signtx[max_chain_id]": "5621d14179fc9b8b7f86a1e3c3302a070a59c2b5fafe230b95dff5cc340737a5", -"TTui2_ethereum-test_signtx.py::test_signtx[max_chain_plus_one]": "5621d14179fc9b8b7f86a1e3c3302a070a59c2b5fafe230b95dff5cc340737a5", -"TTui2_ethereum-test_signtx.py::test_signtx[max_uint64]": "5621d14179fc9b8b7f86a1e3c3302a070a59c2b5fafe230b95dff5cc340737a5", -"TTui2_ethereum-test_signtx.py::test_signtx[newcontract]": "5480c5b38023e424db78fa54ae7a9ac2314c6535fed745b68affd6c99e67d0b1", -"TTui2_ethereum-test_signtx.py::test_signtx[nodata_1]": "458679d210e4d9571cda0d33b90699633ee5fd3175572d2af756b5d28ed6fd72", -"TTui2_ethereum-test_signtx.py::test_signtx[nodata_2_bigvalue]": "9636e45a7ce15b77754bb6e08f7bfc5be4200a3f9049b1c3bec1bb21f45e9c29", -"TTui2_ethereum-test_signtx.py::test_signtx[unknown_erc20_token]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_signtx.py::test_signtx[wanchain]": "86a92d3710973c45263332714cffe4a49b389ea2c613223003e461db67705112", -"TTui2_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_go_back]": "458679d210e4d9571cda0d33b90699633ee5fd3175572d2af756b5d28ed6fd72", -"TTui2_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_scroll_down]": "458679d210e4d9571cda0d33b90699633ee5fd3175572d2af756b5d28ed6fd72", -"TTui2_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_skip]": "f749332b230d7a45d52424abc3377eccef972742ee681ef765372b6674ed826a", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[data_1]": "1d1cc34816e2ee19915b1029804f37419eb5926724df9f4581098ce2440a9195", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[data_2_bigdata]": "9174457e9cc815a47026835ce6710b3eb599cbefd3f26e5fc927d4a0cd833fbc", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[known_erc20]": "c7d61adb532de2e84eb7868c41394f9c2831bea37d47cf28e2cc7e33060bb1dc", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[large_chainid]": "fbc659f4c1a01cc76ed969fb3332d6ebe6a57856b1fe6d4506c911cd41979c62", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[nodata]": "458679d210e4d9571cda0d33b90699633ee5fd3175572d2af756b5d28ed6fd72", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[unknown_erc20]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559_access_list": "458679d210e4d9571cda0d33b90699633ee5fd3175572d2af756b5d28ed6fd72", -"TTui2_ethereum-test_signtx.py::test_signtx_eip1559_access_list_larger": "458679d210e4d9571cda0d33b90699633ee5fd3175572d2af756b5d28ed6fd72", -"TTui2_misc-test_msg_cipherkeyvalue.py::test_decrypt": "120f9e8e4cb99d8fbd4fe5f4ce5d6a24e7aa98fafb2329a0fde01b6fa6656361", -"TTui2_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_misc-test_msg_cipherkeyvalue.py::test_encrypt": "582b31d707b118bda01c9bd6ffab3b0a8d1ea6fa68583aa9b3032cd7921ae2c3", -"TTui2_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_misc-test_msg_getecdhsessionkey.py::test_ecdh": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_misc-test_msg_getentropy.py::test_entropy[128]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[129]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[16]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[17]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[1]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[20]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[21]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[256]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[257]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[32]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[33]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[3]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[4]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[512]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[513]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[5]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[64]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[65]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[8]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_getentropy.py::test_entropy[9]": "876c0fabe6607ef190180f2d395f44b7535a129c4b4a9df8477cc89128b2fb8c", -"TTui2_misc-test_msg_signidentity.py::test_sign": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_monero-test_getaddress.py::test_monero_getaddress": "415aa4667be5775d1b5b361688d3d171c95feffb860570421022af1df91223d2", -"TTui2_monero-test_getwatchkey.py::test_monero_getwatchkey": "bf70b5c85f9a0b3e76600cee79a51fc737019251ac104cfa0a9a69544fca11e1", -"TTui2_nem-test_getaddress.py::test_nem_getaddress": "884ee56462d35be935c07c83998ca133d2c93cf2ca197060aadf955ea1ed4de1", -"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_levy": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_properties": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_supply_change": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_multisig.py::test_nem_signtx_aggregate_modification": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_multisig.py::test_nem_signtx_multisig": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_multisig.py::test_nem_signtx_multisig_signer": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_others.py::test_nem_signtx_importance_transfer": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_others.py::test_nem_signtx_provision_namespace": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_encrypted_payload": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic": "3b4c2d06098c29a528e5d886c7084a65977665dcccd0d1b195235c81c72e5e07", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic_with_levy": "3b4c2d06098c29a528e5d886c7084a65977665dcccd0d1b195235c81c72e5e07", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_multiple_mosaics": "d4a891636f2760d87b7e7b8f7c50c3bd5813ea56c93b8fe34c7c4c01ed38ad6e", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_simple": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_unknown_mosaic": "f32f3ae5971dc6d1407ec49a4225e3128c67cd1f6298ac588d9e2809a58496cb", -"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_xem_as_mosaic": "08add8db0fa244b5ac5b0ea459a210d6f897df57407351904c9f23d785818140", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[language-test]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "98f8d8961d364bd839ece099ef67576cdcd27529267619cadf963dec6cc7144d", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "98f8d8961d364bd839ece099ef67576cdcd27529267619cadf963dec6cc7144d", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "98f8d8961d364bd839ece099ef67576cdcd27529267619cadf963dec6cc7144d", -"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "8711e2fa6f7b301add7641e08ffb4bacf29bcd41530b1dd435fdbddb49b4bdf8", -"TTui2_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "3919d9404e9f9a4880bd084edbfa02fbb04641008e04b83458633691e69bf239", -"TTui2_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "3919d9404e9f9a4880bd084edbfa02fbb04641008e04b83458633691e69bf239", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "7717c45923e9f73efd1201a728e659db2cf3631c7d244418b77fc04301875a10", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "b9575651cef23a6265294937ef7726475b1b3eaba418528b3116dee96b2dfe9e", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "101e7e7eee51ed188985046f5e01fbc4600ba263db9015217b916b5a3a6ce65c", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "3bc2a8d4c8371e8fb799e22d21a9a497f13939208b38d2a85aead1b875952aa7", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "0ed614e0e794f9fa767686c79c704c78707d8e2bd3393206cd5bdc2fd7201759", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "43fc36511b94da979441e3683888b1aa5587d5d58d719b021539df17e2848fb6", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "10e782cd14802e4d5003619888a169f6c387c9a3b74e3a058482878b83e1dd3a", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "a41b5343855c5a4aae5a5e7b937623e0302fda752561a36fb34b3c5f95bd655a", -"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "566c82e28c238e2aeaa6e3a4b98bdfe6efa9aaf54a17098669ad5e2ab8682262", -"TTui2_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "bb859924ef406c39a8ee48e959e781fb051c8cc9453b429e01eecd2a6ccea997", -"TTui2_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "157eb87f8a2d7f89fdbfea064a111a3582c8e150f1dd6553fbc7ef393ab145d8", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "04fd1206841ecf3debd8c29a86a90f611714291e0dbd762e20d3caf4fb851268", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_abort": "7717c45923e9f73efd1201a728e659db2cf3631c7d244418b77fc04301875a10", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_ask_word_number": "0ed3d06281d5b16c9258f10c936f07d1664d0643f7f957edd79566fd605926e7", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "55fa3f81be735f0dffa9cc3469885e7cae3c4721d8030d1b9da32a2b3e15784f", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "3d24011a6388d2e0d31138a7029cb5672da572a0aabc9322473ff9ca2f42bde0", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "c94d6cfd3a3617de12b65be94eec59b0dfdeb4d5c91c04c04bd9db60632761d0", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fbc98c8fc]": "4b4670e1287dbb625c7a286d8c6a5c235d9ddb1d2a2b23824bfca16037eae082", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-b770e0da1363247652de97a39-a50896b7": "3eb8b93b8a88287bbe846281569138b508be404f713c59672149dd8ff6fdb502", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "6f689a518dcc01536ad99107261c856e16344f1f414c42da0eb18fc441c6fe3e", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "1b01e0fe891dc6a3d390fa2c06e19d7255a5167a4d8bf5e53dda1ea2e68487e3", -"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "26e22c5bc293462e886522c972928c3c2dac5ccee9d8355484736e6df9d33a56", -"TTui2_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "9548fcdd9e0790576135e805ca87e53f17b7c414e722659d71ece125e768c914", -"TTui2_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "97b30d608c58c7831ceef9fd9127d9699766b1ae98843886d8f9b5220e536562", -"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "e858239e4efffb8c185c098c8c7a0b9ca19d4b3c4836ee43b6db926abf7918bc", -"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "bd1f14226b2b3b778dc146ab8e4d0b0535657649330ca5dd3efa4c00a70ecb24", -"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "9f0568a1782a4d392cf64c2f4478b6fadc6ffcaea8a3c706c04ba798d2fa5195", -"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "f8cbc0efdbfbaef7bfdcf84d14a798189a8e5f8d80d5e64c2b0f6fd43abcfe52", -"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "00ffcd324fa349282cd08524722e92b0b8469739259f66b8de30182dba6f6607", -"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "77797bb5a33f8ffafb778b85a1a5dd2f59ec651c03e71c681656118ea15ed0cc", -"TTui2_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "5b9750276d378866c33339e9bb644fe7be522b765d75d5f41dc955058a25760e", -"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "c9791eaa949c37a6996ec08677b1aff00dd294097c62cc51b905e115fd32cdb3", -"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "a21078e36aa4b49377ef3fc1ad6084f725eb3941608a03e1bc899dca828d07ad", -"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "6818c19bba26ef8acecd87cadbe5bf678449a519e49cc365311708d91abe92be", -"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "fad48c5d40c5df33cbf4abbb7695f6c22b490ab3f118cfdf3b64b2bc2936920f", -"TTui2_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "447d34b14feaffdca56fb48e2490c4a47a875edc7d7ad1952feb7d9df9934705", -"TTui2_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "014bafb47680c0cf601e01fa82df249dbdb4c78a170d871683d878e11d428a3e", -"TTui2_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "40ccc74d7bc2ea9d5a76e62c4867316a84625c373c0bae5998b518f8060604d7", -"TTui2_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "16fdec338958b038ecb96614cb8b47d5dcdd61bf1422e9dff8bfd8022fef1536", -"TTui2_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "e68ba714482d7d6239a4e4d43d890a3de340230c5618fc820b1c24027c87b72d", -"TTui2_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "146b4d7880fd9bd325da46d675ec4ee4f88e27916eba3198d911c3c4c6a5e29f", -"TTui2_ripple-test_get_address.py::test_ripple_get_address": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_ripple-test_get_address.py::test_ripple_get_address_other": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_ripple-test_sign_tx.py::test_ripple_sign_simple_tx": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_stellar-test_stellar.py::test_get_address[parameters0-result0]": "d877e196c46d57d4373f1a12bfbb16f19ee8d87350b1312fd663c63f71566899", -"TTui2_stellar-test_stellar.py::test_get_address[parameters1-result1]": "02eaf78a146618fdab5bbe0908ae8b7e1fe9a20958070a941c216ffed2932c92", -"TTui2_stellar-test_stellar.py::test_get_address[parameters2-result2]": "91aad4eecdc43ed6174dbd57f87785099971491dfc136d70d1f0e8e078743e92", -"TTui2_stellar-test_stellar.py::test_get_address[parameters3-result3]": "9f975cdfa6faf334f5997de885c5e8c942775372893079f423820768119a43a3", -"TTui2_stellar-test_stellar.py::test_get_address[parameters4-result4]": "f85f20442738a0a371958b87755dc2c88dc3da236e346214630259951f56838c", -"TTui2_stellar-test_stellar.py::test_get_address[parameters5-result5]": "f6ad0d4772a766b87364090705ec6b7ecbc5030b10696729487e299bab573f1b", -"TTui2_stellar-test_stellar.py::test_get_address[parameters6-result6]": "f996131e5945da9b9a7323ef14ec0122346ebdb3e690e1a2abba39f55d9b1149", -"TTui2_stellar-test_stellar.py::test_get_address[parameters7-result7]": "34b7d6ee50109d0093d2f41e75712d65ebef9bf7d08dc44f47e1ff1b6aa70704", -"TTui2_stellar-test_stellar.py::test_get_address[parameters8-result8]": "bdadfddebbd1debf6233af003a87f9f8a9adab4fe5bc3734ead174e1b08ca7da", -"TTui2_stellar-test_stellar.py::test_get_address[parameters9-result9]": "4871c086554bd86ca56f4b9d89110f8d10c6f8a9f591649e339081b4d27fc49b", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarAccountMergeOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-allow]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-revoke]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarBumpSequenceOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-add]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-delete]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarCreateAccountOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarCreatePassiveSellOfferOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarManageBuyOfferOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarManageDataOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarManageSellOfferOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictReceiveOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictSendOp]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset12]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset4]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-native_asset]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-all]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-one]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-some]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[memo_hash]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[memo_id]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[memo_return]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[memo_text]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[multiple_operations]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[source_account]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-0-0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-0-1575234180]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_autolock.py::test_apply_auto_lock_delay": "2dbb368e2831280e12c92d78abb15fbb7ce87681d91fd4dceeec8e96b14f427e", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "4f7e1f2047c2d882b61c75cc26c3a7856f5020788804e1a62a96afe187bcc6ce", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "3f4fef3356f444429b0fddabd7bcb6bfd0fb570d4c6ba59d43204f4c54b81bca", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "ae85d88c54a512ec003020b11797ef538825d45b2ff10fa88315680e542d952f", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "53e094cf59d5ce0a817f684137ab9530d8e62a136e8d67447f84144e2d8758cf", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "23fbfe5edfe16d15532d47939c441cc6fa0b7ed62985dc2c410f2c2b15aed631", -"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "496422405da3f20a12322b58e877f5b0c6e397aafbc0c1136ece66c5574923af", -"TTui2_test_autolock.py::test_autolock_cancels_ui": "6173ade4b86ff2e191ec43a76a87b1b83ec5445604ed53e7ae5d24c32cfda3fa", -"TTui2_test_autolock.py::test_autolock_default_value": "d786f99fea8e5016ec5bab8fcfc274430678f0efe1d543fd13dfc524b3a0a1d0", -"TTui2_test_basic.py::test_device_id_different": "36fd19373828ac579ae2e0eaf34c050ac9ea95596cfe38c447737acba86ec706", -"TTui2_test_basic.py::test_device_id_same": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_basic.py::test_features": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_basic.py::test_ping": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_busy_state.py::test_busy_expiry": "3e59ea446f4aa4fc9dd6c7980b32428181b79c5f92367fb7eebe053fe1aee4e0", -"TTui2_test_busy_state.py::test_busy_state": "bb5b4c747572a5ffb8156469fdaa76230ab2c1d1299d0b36984e4449a11af4e4", -"TTui2_test_cancel.py::test_cancel_message_via_cancel[message0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_cancel.py::test_cancel_message_via_cancel[message1]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_cancel.py::test_cancel_message_via_initialize[message0]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_cancel.py::test_cancel_message_via_initialize[message1]": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_cancel.py::test_cancel_on_paginated": "092c86a1557271ef0e1771e3b6ef8f7e7973cac815feb68d34da2254c0030411", -"TTui2_test_debuglink.py::test_softlock_instability": "ce63650e876dcd3c8cadac887e3f6561d2558dd2085d01b6c4f089b91cd4ae45", -"TTui2_test_firmware_hash.py::test_firmware_hash_emu": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_firmware_hash.py::test_firmware_hash_hw": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif": "fb0b7a99c6881ad6bf3a27a09d0e37862a7419c6a10f65139ab3f4562c609d9e", -"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x80\\x00\\x80\\x00~\\x00\\x00\\x0-ba464b0c": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x90\\x00\\x90\\x00~XXXf\\x90\\x0-cb3c88da": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIg\\x90\\x00\\x90\\x00~\\x00\\x00\\x0-09cb7d43": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_msg_applysettings.py::test_apply_settings": "6748500ad84c1f505645ba1392b882e0d7d43d9e6247d48b59dacfcb9a1ee294", -"TTui2_test_msg_applysettings.py::test_apply_settings_passphrase": "0534d61b0c9a1d5db03e0b7a06e8c5e536b082f93831679ee8313b9e4b516545", -"TTui2_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "9ee483bf455a0185bde3ba7ebc15c04ee9c3159e802818157beae60f23d41325", -"TTui2_test_msg_applysettings.py::test_apply_settings_rotation": "5478c39f7e16f84a05456c30f3779b971f490a0305ef6685643ff827eb8965a0", -"TTui2_test_msg_applysettings.py::test_experimental_features": "46cfceb61926077ce9a1e8e36102af5343b6ed19d6b4f5f50fca7a36ef579a47", -"TTui2_test_msg_applysettings.py::test_label_too_long": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_msg_applysettings.py::test_safety_checks": "8adb07fc5748b43a07e17cca83d97f49399937f5881c9d96eb2439fd3c95f7b5", -"TTui2_test_msg_backup_device.py::test_backup_bip39": "14daf97298adcf42a2b9d85eef18313ac91d75662ee80f6b177579f2ba55d2ae", -"TTui2_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "25713dd7f6a465462378340eae7653d28439bbabd54cf73ed04649c89f17d350", -"TTui2_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "a7c5dbc2c0369e91e946bb58aca3205121f4f04458f4c97183c0bd0b267bbef8", -"TTui2_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "ba33d497614804396de701895d633aa82b187a398eefeba6dc3a75443b673670", -"TTui2_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "c5500332d0754cf9cda7fa7a6da7fdeae033ca86bec030f82db5204a4e6d5fbc", -"TTui2_test_msg_backup_device.py::test_interrupt_backup_fails": "a8b5bc47867681b496da4b7473cde4fa43027c01fb071c2b0dcf97804809643f", -"TTui2_test_msg_backup_device.py::test_no_backup_fails": "ffc38ab2b61939fea6883a4805b2a4eb17a0be03afe0fed3b1cca492b50bb25c", -"TTui2_test_msg_backup_device.py::test_no_backup_show_entropy_fails": "8711e2fa6f7b301add7641e08ffb4bacf29bcd41530b1dd435fdbddb49b4bdf8", -"TTui2_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "a6976555523e774fc1eb0ff1c192cdca6f6298cebc962a8d4b87d197a945af87", -"TTui2_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "e7a3858d2db160253ff3dbde450e5632fcc385ff529d586de28c49f0bf4ed059", -"TTui2_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "a8e165eb64558ee3f38adb334a123d20ae40088515d559e06e3dcc6ab960f865", -"TTui2_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "2b681988285d472e128edcb972cff8784ed34c9cba2f2a02e70a243d6561f86a", -"TTui2_test_msg_changepin_t2.py::test_change_failed": "5409de461cc6264246e07a5393c7fba972453b1af329f1ea27121512cffda419", -"TTui2_test_msg_changepin_t2.py::test_change_invalid_current": "5e04bc7ab716549d8aa70087cac37c8e1beafaad9929713a631e11845102d4e9", -"TTui2_test_msg_changepin_t2.py::test_change_pin": "2b891a989548802893f1b6a486e9751704a460ce4f59b65b39315318e11171f2", -"TTui2_test_msg_changepin_t2.py::test_remove_pin": "0483000d2760100596744b4270119860925f767028dfc6453141d4279fadb468", -"TTui2_test_msg_changepin_t2.py::test_set_failed": "8870468b6656512de925b8c9a84bc3755dc39ae2b86503ff823f068efa38e5a8", -"TTui2_test_msg_changepin_t2.py::test_set_pin": "9fa58d0b6e5dcaa581f7bbccc4e6a84c4de732200c2bc8465b83a79beceb55d5", -"TTui2_test_msg_loaddevice.py::test_load_device_1": "eeb5afb34b4bbf42b8c635fdd34bae5c1e3693facb16e6d64e629746612a2c3f", -"TTui2_test_msg_loaddevice.py::test_load_device_2": "a95020926a62b4078cb0034f6e7a772e49fc42121c9197b534437e26c306a994", -"TTui2_test_msg_loaddevice.py::test_load_device_slip39_advanced": "eeb5afb34b4bbf42b8c635fdd34bae5c1e3693facb16e6d64e629746612a2c3f", -"TTui2_test_msg_loaddevice.py::test_load_device_slip39_basic": "eeb5afb34b4bbf42b8c635fdd34bae5c1e3693facb16e6d64e629746612a2c3f", -"TTui2_test_msg_loaddevice.py::test_load_device_utf": "7eddfcc018eb3b5847e2617b1a9495632430ca5494f69063082a5063c5702dcf", -"TTui2_test_msg_ping.py::test_ping": "9b44725459426439bc27f2cf72ee926ab7146f3ee1236d197382524cdf9a89a1", -"TTui2_test_msg_sd_protect.py::test_enable_disable": "a3bb336df845857ea89e764b163a9e485c77747ba4651a69d65887a202dc9a98", -"TTui2_test_msg_sd_protect.py::test_refresh": "50ee89a9faeb09e370fb2cecab9a4621f775d3b9646a86a6f20af8e451fd8edf", -"TTui2_test_msg_sd_protect.py::test_wipe": "fabc6ec862992e54b68587631d23d7d38137c26ebae53c096463239cf1f81d4a", -"TTui2_test_msg_wipedevice.py::test_autolock_not_retained": "5200f217377bac4a795e1d5bb5963d4bb03a0ec6875a3272faca2572f8c7da2e", -"TTui2_test_msg_wipedevice.py::test_wipe_device": "36fd19373828ac579ae2e0eaf34c050ac9ea95596cfe38c447737acba86ec706", -"TTui2_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "68e7d02ee3038fa20f0ccc226abdc29c422aa0d3b0c54533869276cd08a7a5b8", -"TTui2_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "68e7d02ee3038fa20f0ccc226abdc29c422aa0d3b0c54533869276cd08a7a5b8", -"TTui2_test_passphrase_slip39_basic.py::test_2of5_passphrase": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_test_passphrase_slip39_basic.py::test_3of6_passphrase": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_test_pin.py::test_correct_pin": "1eda1bb0dac1e0cd285b1face109de60cfd0e7ae4041b82b805cebc3be0db8f5", -"TTui2_test_pin.py::test_exponential_backoff_t2": "d79607abd16fb5aef63baec506d288366a39def1bbc6ddf71b78e44963a2e640", -"TTui2_test_pin.py::test_incorrect_pin_t2": "cecd9cc23e1fab56f7df9c0a88b309f5fdd9f29ef97e0f5ba0b808cea2d11759", -"TTui2_test_pin.py::test_no_protection": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_protection_levels.py::test_apply_settings": "294a58f6e0222746f27bdf80014de14cf0b2d298bf806456ee94fd814e301cba", -"TTui2_test_protection_levels.py::test_change_pin_t2": "7ab1870bc3c960843fc68c0c7f2541ba8d93a56bc27a2e941e7b4a1668fa754e", -"TTui2_test_protection_levels.py::test_get_address": "ef09d088bf4ca767162d5017748158bb8dda9849ccb0bf9ca5acf32b872e260c", -"TTui2_test_protection_levels.py::test_get_entropy": "7eadf62627e7a2c5a69b94c72eb4daca0153afb93ab8a12fd85d0d4ddc0a5a1d", -"TTui2_test_protection_levels.py::test_get_public_key": "ef09d088bf4ca767162d5017748158bb8dda9849ccb0bf9ca5acf32b872e260c", -"TTui2_test_protection_levels.py::test_initialize": "93143d6382f85204cfdc5bb5ec5d80b47b3b24cedcfe69e5a7c935f854a08a53", -"TTui2_test_protection_levels.py::test_passphrase_cached": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_protection_levels.py::test_passphrase_reporting[False]": "9e4d722b62943505f4f64fe91a9532482700f6bdb6b437e6ecc7cd860aab6cdc", -"TTui2_test_protection_levels.py::test_passphrase_reporting[True]": "f22306f6e125f58ad7e4a77ed3803030ff75a7686b4475806cc7cd355d2f8758", -"TTui2_test_protection_levels.py::test_ping": "9b44725459426439bc27f2cf72ee926ab7146f3ee1236d197382524cdf9a89a1", -"TTui2_test_protection_levels.py::test_sign_message": "08fd8f35609c8a8f18a32e8bfa58adff9e303d6479353d2047b6e2ea44234fa1", -"TTui2_test_protection_levels.py::test_signtx": "e6befc1421d1794a362decfcae6bfe6342bd23335b191afea4f1f68cf7f27175", -"TTui2_test_protection_levels.py::test_unlocked": "ed7d5e2c6bac6b7e1ea4f23e8a91a1337e9bb6a03e093d69fb16df686f2fe68a", -"TTui2_test_protection_levels.py::test_verify_message_t2": "bd0711454876fec517714c0203c088c35c339dab6aaaaf19b6cc19b4c4424571", -"TTui2_test_protection_levels.py::test_wipe_device": "40fdf3dafe49468bf8f948f36aa510927016f4803c1fb2d1d170fc40dff5c052", -"TTui2_test_sdcard.py::test_sd_format": "1702d52626aff6ee829ef2a20fed7df55fe9fdb0489eca10af16d08de8e08d6d", -"TTui2_test_sdcard.py::test_sd_no_format": "e48ac8dc3f81340d89746a9a6bc2b89f8ebce54568c4c1805e626178ff1c509c", -"TTui2_test_sdcard.py::test_sd_protect_unlock": "3ccb135f2a39a727be85f45ce5472c3c7439792239f990264f78848e851cd56d", -"TTui2_test_session.py::test_cannot_resume_ended_session": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_session.py::test_clear_session": "ba658cbfdf147653d116dc7d68dd4cad90be1becabfb1124e16a40c3e0a5e8f8", -"TTui2_test_session.py::test_derive_cardano_empty_session": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_session.py::test_derive_cardano_running_session": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_session.py::test_end_session": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_session.py::test_end_session_only_current": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_session.py::test_session_recycling": "db4a8f21cfd2bdaef28debb199e2296092b33ba26798b2ed52e708a51b62a569", -"TTui2_test_session_id_and_passphrase.py::test_cardano_passphrase": "9789521a743d9240ee65663bfdd63acef3b512a352dfdb7dcdb3b7b37ae38d13", -"TTui2_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "370cbe95d7295253b5069741da4d20be57b1eceee84e53fe874a1c3fbca2d3c4", -"TTui2_test_session_id_and_passphrase.py::test_multiple_passphrases": "7f73c410413a655054ab7fcc95d9da528bd082a89cda3ee981c4c48b566e6660", -"TTui2_test_session_id_and_passphrase.py::test_multiple_sessions": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "ea3049463b15861f70fab2d4a56fc5efd75b6e6464b9f81e19478e9f8ef48f8e", -"TTui2_test_session_id_and_passphrase.py::test_passphrase_length": "6c9d9d4be2f29722057a07f1ebe4dbb7ce74e9af5d212b5cb7a8c934799466db", -"TTui2_test_session_id_and_passphrase.py::test_passphrase_missing": "95a40f79fa7ffceb10e89b513c203b4937112b8d764cdba3c1df538355dc129c", -"TTui2_test_session_id_and_passphrase.py::test_passphrase_on_device": "9e9111f802d024580996acb984e520d68b0b61efaec50173f8755770586fd7bd", -"TTui2_test_session_id_and_passphrase.py::test_session_enable_passphrase": "9c96dc98e60e7b3a16d7f328f92a001e8c6727902e6912100fc45b3dabee612c", -"TTui2_test_session_id_and_passphrase.py::test_session_with_passphrase": "a7046b2ffe82d6b5194ad34d17d0fa2e16bfa29ab8df798dc38d2b40de01c434", -"TTui2_tezos-test_getaddress.py::test_tezos_get_address": "2e3543f0a1036df254c9513f2cd193e329b5021dac985b3be81ebad1d4a9ed56", -"TTui2_tezos-test_getpublickey.py::test_tezos_get_public_key": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_kt_remove_delegation": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_delegation": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_multiple_proposals": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_origination": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_proposal": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_reveal": "8351a4eff3f5cc7f8b5ac2da88e64fb144140c051c887155022077c24515a873", -"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_tranasaction": "e41c6c2e35cf4ac23ef9868b706292fe89c7f0961fa215d897a05021d8b4a1de", -"TTui2_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_nay": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_pass": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_yay": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_smart_contract_delegation": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1", -"TTui2_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer": "37681b2371bba44c5dc99f961a3d0fd52dcf4529652c23f898364162fa0b3f19", -"TTui2_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer_to_contract": "8ef2e28bc7f4d7afe6be93f7bfd6e85c5ae8c7e763429f60ef41e2489142f71d", -"TTui2_webauthn-test_msg_webauthn.py::test_add_remove": "bc5933385b732522ea5d8e5d0913c6b9faf423efbc4631fcc7be62848d7f019c", -"TTui2_webauthn-test_u2f_counter.py::test_u2f_counter": "c6a8e270ce726c7693e2ff88f9af57c56f2d3d8b1cc9c04b6f1dc71e13fcb88e", -"TTui2_zcash-test_sign_tx.py::test_external_presigned": "31a32b4d4a0cabb6a61a31083191c7c165700d0c69842e02f16d3aca6498a986", -"TTui2_zcash-test_sign_tx.py::test_one_two": "a6746260188794274d8cac59ec4a2657055b8ca4de847d74f6139eb0169fe1e0", -"TTui2_zcash-test_sign_tx.py::test_refuse_replacement_tx": "493db455a2a705880cea9800818345de8dc4086ac1d0f92bb8f21c5eed094084", -"TTui2_zcash-test_sign_tx.py::test_send_to_multisig": "32c842e06d931e642bc41b8bdcc17e6815a507aef5d2cba98e623dfdab62793f", -"TTui2_zcash-test_sign_tx.py::test_spend_multisig": "5b1048fdf7d7c347151898d35b22294081f1a2956a0054c4de5ee21486dee915", -"TTui2_zcash-test_sign_tx.py::test_spend_v4_input": "47d0bb16c597d1c8f2e4d702110c1bfa236b59fce6387e6f48224bb2c2fa5ad1", -"TTui2_zcash-test_sign_tx.py::test_spend_v5_input": "a11eecc5afe8cf0d4b6595a1e39f0966490d0a6d086f965f3d23ef3f3c9a11f2", -"TTui2_zcash-test_sign_tx.py::test_unified_address": "dfd50fef1f80501aee2b7b54c03d586495c3e017d089e396372174f0888ef51c", -"TTui2_zcash-test_sign_tx.py::test_version_group_id_missing": "f03b50df7f4a161078fa903c44f37272961b70358d4014d30a12888e1fd2caf1" +"TTui2_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "6b97dd57e83442f9bca0187bf1da2ec00478d725bee0f948b26c1fc062d74c7d", +"TTui2_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "a7086ad09b5cd1236220f7f5692dfbf053bc110697d93c346c7265195a978050", +"TTui2_binance-test_get_public_key.py::test_binance_get_public_key": "f8cfde65e7690c1053b4d26c6e462a084ba67bf46f08c2148b9f8b85c708cbed", +"TTui2_binance-test_sign_tx.py::test_binance_sign_message[message0-expected_response0]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_binance-test_sign_tx.py::test_binance_sign_message[message1-expected_response1]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_binance-test_sign_tx.py::test_binance_sign_message[message2-expected_response2]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_cancel_authorization": "72c4ef9ed6d50317bd8762d56da4a563733d0755d172910ccbc8c78062a90505", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_get_address": "733c91962f77715240d44ca08ccee0ea452c4625f2408e85417d0f737041e356", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_get_public_key": "80fd9900c4a1405673d96d5236b658864d1f5445d1dd865a8c806160bf563102", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_multisession_authorization": "6ddb981687023ce7abd0ce175d5a36e02fc3f5beb97661da5b1c34b0f2dabf48", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_sign_tx": "3212bdbefc1cd0c6284a14c0d60586f1845e2f8523d94e98898f537e5451a428", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_sign_tx_spend": "ab1f579ba3c79764f1634d7520253445bc51e574404c3a14da06bbf7872abe96", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_wrong_account_type": "72c4ef9ed6d50317bd8762d56da4a563733d0755d172910ccbc8c78062a90505", +"TTui2_bitcoin-test_authorize_coinjoin.py::test_wrong_coordinator": "72c4ef9ed6d50317bd8762d56da4a563733d0755d172910ccbc8c78062a90505", +"TTui2_bitcoin-test_bcash.py::test_attack_change_input": "1bdb72a49bb15bf592daf8630642277161881ab0aa463dc8d7c7be2531909102", +"TTui2_bitcoin-test_bcash.py::test_send_bch_change": "1bdb72a49bb15bf592daf8630642277161881ab0aa463dc8d7c7be2531909102", +"TTui2_bitcoin-test_bcash.py::test_send_bch_external_presigned": "a4b4ceee4d1707e95c1a9599191203adf62e35dd5dc8927b4b54f11e0e640d0b", +"TTui2_bitcoin-test_bcash.py::test_send_bch_multisig_change": "f9da9c7d8fc8fe1b346a79bc7e3e9e16d0d9ad4c0c133608e43f9f54dc87e20d", +"TTui2_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "b0499a4f39aa32361e2448ffc5942681e837933d8a7db9787aa32042c822e610", +"TTui2_bitcoin-test_bcash.py::test_send_bch_nochange": "c88e19da2c00751f1035ca129175d7f34290d05940d3ab017eed83c6565d3732", +"TTui2_bitcoin-test_bcash.py::test_send_bch_oldaddr": "d4bc6b726a1dc255d4568de52149babb9ca44f1e07680405cd77a6d6c25f38d3", +"TTui2_bitcoin-test_bgold.py::test_attack_change_input": "8a379264413c98ea363f1cdb4715aec4b1b99f82361164e9b9e04e188005bbc6", +"TTui2_bitcoin-test_bgold.py::test_send_bitcoin_gold_change": "8a379264413c98ea363f1cdb4715aec4b1b99f82361164e9b9e04e188005bbc6", +"TTui2_bitcoin-test_bgold.py::test_send_bitcoin_gold_nochange": "05d6a71515d355ee9270538dc04184d9cd00114d8ebcc03fdb7923d0c0b56f90", +"TTui2_bitcoin-test_bgold.py::test_send_btg_external_presigned": "450b53dff9214b4eb54ab9e804299d31326aa9cbe9d70db7ee346473522dfa69", +"TTui2_bitcoin-test_bgold.py::test_send_btg_multisig_change": "8524d30e0f345d59423026905d97390e1a86520f54f1753bde94e935f3f72e88", +"TTui2_bitcoin-test_bgold.py::test_send_mixed_inputs": "05d6a71515d355ee9270538dc04184d9cd00114d8ebcc03fdb7923d0c0b56f90", +"TTui2_bitcoin-test_bgold.py::test_send_multisig_1": "ae19cd630e6c9583dd5a6e794c9dcb69d2cc38f18049b75135d1ce0de496061e", +"TTui2_bitcoin-test_bgold.py::test_send_p2sh": "b854fb92179631d593470289719dc014d30c796073fef384f6b0a38b4f7deb35", +"TTui2_bitcoin-test_bgold.py::test_send_p2sh_witness_change": "964b51aa0e68000bddff967eb1ea9122ab7d1417e56fb89e8cb5e212ed044e62", +"TTui2_bitcoin-test_dash.py::test_send_dash": "cd892c6da4ebe067220666ead8b20f80b2dc33f2d3696dcd23b056303e4df0b5", +"TTui2_bitcoin-test_dash.py::test_send_dash_dip2_input": "d2ed39437f275d37ad7662102289b5e976836159aef6a51f462d73344d88fd8c", +"TTui2_bitcoin-test_decred.py::test_decred_multisig_change": "ee8febb24ff7c37e035b564517cd3744d2bc6bee2e7e783855276c9cc2ccdbeb", +"TTui2_bitcoin-test_decred.py::test_purchase_ticket_decred": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_decred.py::test_send_decred": "65179677f1fd95cb7850f08eae07538d0e6c7b96292791f6b16c422d37b4eb58", +"TTui2_bitcoin-test_decred.py::test_send_decred_change": "8ece0d1cdb97dc7838aaae2e0d1dda08672a503e1c38af4a8bd3085e91d57f03", +"TTui2_bitcoin-test_decred.py::test_spend_from_stake_generation_and_revocation_decred": "816dbb24996b0a091b66b3226cfadb383891ca2a8f7004f5be3b6ad24a56e61f", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDADDRESS-pkh([5-7a80e3db": "a4c876b20a13a8966f023dd3890db979de5361c5be36ea0afa92cd6ef86b7805", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDP2SHWITNESS-sh-03d56ac2": "9cfec70118861c72be4bbebda17d716d0750b3ccb239164fe177f10f73117ca6", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDTAPROOT-tr([5c-22751b2f": "c627bcaf476f077e9bf1c5995bc2fddba64db0a1b551343999d5ed60621472b4", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDWITNESS-wpkh([-edfbc435": "7ae8c22bbc0560e89974ee7dfbef0a6e28c6bd284fadca7c4e6f9ea52df90912", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDADDRESS-pkh([5-5ab06094": "c984f6d054ec902d527786c3af2fc6e807cfbaf6cab853aa35a8f8966aca6371", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDP2SHWITNESS-sh-5dd6ae4b": "3c55bece2178abcbb0c6febe77b4746c06e0b0a2e7500fe0fc5f6d6ad00828ec", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDTAPROOT-tr([5c-f4f20781": "f788bacdf61c0924d89fea40bf7b816c5e3451640ef15406d5f1b811a8334293", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-1-InputScriptType.SPENDWITNESS-wpkh([-98a75f0a": "ee5d17f4a64cbe940ba505496fd969480cb85e767c97af37c9716865c3247c2a", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDADDRESS-pkh([5-f63bf93f": "65f6cae25457e1cb06aa780964a840c97cccd9a4bfd0b6ebd3555a3df0709b06", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDP2SHWITNESS-sh-fd42e1d9": "ab178d3421e3e2edec41a460f96a8ab59c296d942f78962bb466eb0ada4e1595", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDTAPROOT-tr([5c-a794e72a": "b95e76dcca020051b7c48deca9dda1a4cda57258e877eb69f2fb02995a78aeb7", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-0-InputScriptType.SPENDWITNESS-wpkh([-e70d0168": "c595e6c38ed892013c8b3e3da523dd9777e02c0636f94418aae4ae2f55334b47", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDADDRESS-pkh([5-2d5b32fe": "3ac35b6f3c1444b1f8fd6a4db65264c39faf2dfee631ef8a1a612882156a908b", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDP2SHWITNESS-sh-e8c5303c": "ac7b68a640d2397fb779f5d3c038460e701c297899d30fff3efcb17b22e035ad", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDTAPROOT-tr([5c-ddc924d3": "8414637e6450ea8e5a7206bccaf5d1c6e8355a75d183a0ef7bd2b8f962e8b6aa", +"TTui2_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDWITNESS-wpkh([-996ae319": "a5012033187591e6b72a64353a83b2c968e43f198454b3639db05edefbfa1577", +"TTui2_bitcoin-test_firo.py::test_spend_lelantus": "72fe2264f1e8422fce4d6ed813558feda1e3307e0e03a92367da287cf475bbfb", +"TTui2_bitcoin-test_fujicoin.py::test_send_p2tr": "fc1ef822b7db385e27c04198ce43a547fa92ec5962a4790d622d3b4799460b52", +"TTui2_bitcoin-test_getaddress.py::test_address_mac": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_altcoin_address_mac": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_bch": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_bch_multisig": "2f915562ff96830a52f212fb840ea9afb5c0aa185956dd938e79f86d0c109911", +"TTui2_bitcoin-test_getaddress.py::test_btc": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_crw": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_elements": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_grs": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_invalid_path": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_ltc": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_multisig": "ea9f175f91f2415005f2db689c9afab42764526caf2fb9651742ed5512a084c2", +"TTui2_bitcoin-test_getaddress.py::test_multisig_missing[False]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_multisig_missing[True]": "b17a1cbf0569ec0c693e9e7bc4dd65193cb0e7886fa917518cdbe4af04835710", +"TTui2_bitcoin-test_getaddress.py::test_public_ckd": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_tbtc": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_tgrs": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress.py::test_unknown_path": "9e9d237422ca2f089a5c8945d08b3ff12f8a6bca30f02c85d0d9716a0efaaace", +"TTui2_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit.py::test_show_segwit": "8eecd5e9abde9a83ea8e31ef429e511ae2197dc57a852947e9f2fcd98613f068", +"TTui2_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "551f0f33fcab73fee3461fe6348c2bef3f2f676ef882136689bfabba827aeeec", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "29f9afaba7524b274a2f5cb7009e23355e21d23e490ffdb8fb25e95958e33109", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "0b6b117ec8bc583074a8cfda8342214b2b5d9b19c0f7de0e6bc50c938bf7a528", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "3a68114f35dbee7a539b92ddc0d5c03049a8eacf18cb0c296bec40ab2719d6f6", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "cbe148908eea167b0a2f4f96c644c83fa2d485461a13257cb5c2bf472b52b45f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "3da333fc3d2b7e3de0ae4f4fa746a8a1fa6259e962b00f551814b23e5f7325c6", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "2598eeb52ddefadda0b3fe89937f9ff2d0ce561a46150f497b1f39ff38a6358c", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "5dd58321e255c050f5164e22bbcbb5faa7ab5e4314f3cc54274b8113b42b2c07", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "219f0e6a4f1a701616415eb5dfcb5da7790080df6abe7d8b90d40044dc55c6e6", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "104878f5bf3d2305bed76360eb078289167b090df77e7d7d2723f069f220f36e", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "850e851b5d8445a9dfc5915f5ac02e358f1671b41a1214addf4c2cf9cf0a5755", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "f9c3d6f29f4c6c8c01a6dedf369f42c680ffe877e33b462f28d24b6909def334", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "1e8bec02fbcfdac1d9422b6fff5ce645aaaa540fb86f83ed523c9f1a11b474d6", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "9a6abcced19e2e89fc3419a7fa8eeffc7973fc1806d383eb1aed30d0db3df8dd", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "b12880e9e167d1aa5cc2907c74bd111e2f80daf517cc9104618d635377253280", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "645ca2e809e68ca23a69307b78537fe16a4c427ad06e08ef3739d8d43149a302", +"TTui2_bitcoin-test_getaddress_show.py::test_show[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-1F-1e4f2f74": "704b48859d1718ec6597071b85951c4dd67c25d2d35da91c5506d1ac1c632dee", +"TTui2_bitcoin-test_getaddress_show.py::test_show[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWITNES-a986211d": "52a337b45498a0affe45a2a0242151ab743072888384b7b1b2e21f9cf23f3eeb", +"TTui2_bitcoin-test_getaddress_show.py::test_show[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-bc-a5f08dfb": "6b308d8104c824da0336a76f955a8630af16f1098724ea112dd3e27a43088787", +"TTui2_bitcoin-test_getaddress_show.py::test_show[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-bc-f94d8b44": "09dce0179b6c0c82b1aee34c45fa7f976d7e58406f7d63993bcb3696b4442e7c", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_15": "72badccc962cc835fbc6122aaa4e84374dd994f17d07ffe6b585549d6c4c0fd0", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_3": "dca62e7faf30d2092e1feee638a220b036005a9d1f8c1b07033da689a345d84c", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDMULTISIG-0-3-4efd9cf3": "ea54fc9500706301594ccefdf7d0cd8d12a77e15dbd7ac69b8c8c12df95f1528", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDMULTISIG-0-3-98a7e339": "ea54fc9500706301594ccefdf7d0cd8d12a77e15dbd7ac69b8c8c12df95f1528", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDP2SHWITNESS--2cf5f03c": "6bd731bf1cea3cb4e977e5e9e29857ecad7b0a8a66f380c5dbce46f4142ea858", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDP2SHWITNESS--5ea18367": "6bd731bf1cea3cb4e977e5e9e29857ecad7b0a8a66f380c5dbce46f4142ea858", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDWITNESS-2-bc-e70b56ea": "02aaca26913b20259bec7daeabdb16f71e57db0bf2cc1fdc93113a22178d8c93", +"TTui2_bitcoin-test_getaddress_show.py::test_show_multisig_xpubs[InputScriptType.SPENDWITNESS-2-bc-f3c4650f": "02aaca26913b20259bec7daeabdb16f71e57db0bf2cc1fdc93113a22178d8c93", +"TTui2_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "0a5a49abe4bb89dbcfb02742f46137c92df4e576118fd1a7b5922987ad3ceee6", +"TTui2_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "9ac3e808ee115ce967ba03cc1a8e0951f19ffde53179528a7359c2d3adf104a7", +"TTui2_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey.py::test_slip25_path": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_grs.py::test_legacy": "7d321df8951c3d7463a0e8b7d5e8d99a85f479ea9195fb6253e2017afab94a00", +"TTui2_bitcoin-test_grs.py::test_legacy_change": "1bc5bd82934004193751e580deab98442ba08517691cc939748e5a4fa87321a0", +"TTui2_bitcoin-test_grs.py::test_send_p2tr": "81ce4b33577f83865df6acfe8f65aab12cb6e7d4b19f4e524f0f119336953f3c", +"TTui2_bitcoin-test_grs.py::test_send_segwit_native": "6c0b3a06bc00967ed551c714fb1bc6620b5cb8697e1f0b37cf3e88f11aa14cd0", +"TTui2_bitcoin-test_grs.py::test_send_segwit_native_change": "a73d6d4fa9abb781b9924aa5b7eabcf5b9ff9163ea48712f9428c83d3a807446", +"TTui2_bitcoin-test_grs.py::test_send_segwit_p2sh": "a5dc97fb2ed15b8255ebc25c8ebea801801252675db50bdc88ed1025fee846c1", +"TTui2_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "8dbd84e6450c96a971aad7ac25b19ffbd069d4393d31928ccb7cff898b723061", +"TTui2_bitcoin-test_komodo.py::test_one_one_fee_sapling": "1491970529b69723a62b1046a7b8a8e85a9de5fbef25e043192f27680b9b88e6", +"TTui2_bitcoin-test_komodo.py::test_one_one_rewards_claim": "15d4f3cea875b6d70b7994497888333ca3234dabcb04ce3094df16312589acae", +"TTui2_bitcoin-test_multisig.py::test_15_of_15": "e1ed03caab154baf32a0c6ab837479f605b2336842fa05724fbb7c89ae3ee1ef", +"TTui2_bitcoin-test_multisig.py::test_2_of_3": "3f25c739adbb990af74f1f5c5a972400d9a6969b7b491ae2c238f606efeb162e", +"TTui2_bitcoin-test_multisig.py::test_attack_change_input": "b2fd9986d964b4ec9c600b54a9b8493af2e822b665efbdeb4d78a2df5e634037", +"TTui2_bitcoin-test_multisig.py::test_missing_pubkey": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_multisig_change.py::test_external_external": "a148c01a7b9ea7346efbb491e0d86277fec5b6a0549e83e117b295c2b342ce36", +"TTui2_bitcoin-test_multisig_change.py::test_external_internal": "755306f50ea492bf06995f46171636db3a3384e29c2dfd5739924b488d35dda6", +"TTui2_bitcoin-test_multisig_change.py::test_internal_external": "f4b9c97f32fae6e9a3a8780afd0525919478dcb36c9b290f5050d2e47a9f00cb", +"TTui2_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "ff60caa16873f8ac13efcca5520ec6b2ff9d20ac8aa19035003b617f4148dd96", +"TTui2_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "04938265a5d3bd3a034863a4a09cfbe8601907989f32a620778231cf5cf7f1ee", +"TTui2_bitcoin-test_multisig_change.py::test_multisig_external_external": "a54b02cb1cbd5a9f53f1f2cf295116790748e733d0f5c80054c7ffd54166bd5d", +"TTui2_bitcoin-test_multisig_change.py::test_multisig_mismatch_change": "ef867444041bc9b9946c9f60b172e4970cd6cf7e49d37a2a6bedaa59a5418c6d", +"TTui2_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "7d164181191145442455e333a90394730b225ae4d61c669d8358e440b1c5527d", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-6-255-script_types3]": "f7fe007eb13548a763856f1d7d80bc351daf4e1ee9404a83436e57cbf10497c8", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-1195487518-script_types2]": "abff76cbb32e67ad792baab658f79b30049c3d101f3ec1e3609bae0ba4bb605c", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-3h-100h-4-255-script_types1]": "285772d712fb5d7996b62b6cd8dfb47d16d79f508ee582dd9fd39fa90bf7e557", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-4-255-script_types0]": "b95c6b7ebb58f1654094ec1280af05a5ab0886de5ac015aa777622472fab2bc1", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress[m-49-0-63-0-255-script_types4]": "e3e4ea886b87f4981de3c8c4db9d98505122575717caf46d0ee3c1dc2d0a390f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths0-address_index0]": "9ef34b70f5e475a7e41a627a50ccb08b834aa4e8204ca9e47f59f5956ad596eb", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths1-address_index1]": "8d821c59ac87780435584839589263be2f1741b7d275710f7f5cffa91421fac1", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths2-address_index2]": "f5d583f076f7f4702b7f0052a3bafc5aeb164bbd31ce5d901bc8661c8aecad58", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths3-address_index3]": "80cd4faead89a68cc98bbe83096426431aefae2371e6f63f3f25adde53daeadf", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths4-address_index4]": "ea44b21ba2c287e0f2989dd1260df092472e7f724394217321e6703ea9e5b6ba", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths5-address_index5]": "9c08af60103f80b3322cdc3185bfd91dccd854c1d35bf88b73beed159876d6e0", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getaddress_multisig[paths6-address_index6]": "5674178b333282acb412af348aa48ab829d75bbae0584dc58ca755c92d45d290", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-1195487518-6-255-script_types3]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-1195487518-script_types2]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-3h-100h-4-255-script_types1]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-4-255-script_types0]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_getpublicnode[m-49-0-63-0-255-script_types4]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-6-255-script_types3]": "c0b9d3d97b6e07725babfa804d834ed7e3fa1020e238a62d1731de3d36792f0d", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-1195487518-script_types2]": "0a1ea38630b64ea1bc6e1946c0026f0523cf3fb20fcf129fc65e833e0faf68e5", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-3h-100h-4-255-script_types1]": "5976577b04de9b5737e8c2c162f1d51fc0d9102832dbed364c6a6be3b24fc409", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-4-255-script_types0]": "7dc3a6fb94f3d9d7e8dbd115a87bbd5e773fbd392046cd3ee9e9bba31e3078fa", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signmessage[m-49-0-63-0-255-script_types4]": "5f692d80326a9cff9132075ddc0a4c819fd151003a22549169aa921cce5701f2", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-6-255-script_types3]": "44195908dd50e3d490aae514a7cdd9f4d6a67704d546e36ba6b885dec8ff06e6", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-1195487518-script_types2]": "a0fc5caabc162f22a2c71e5d564eba76c62c348c1ea752013b408ff6b738c2f2", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-3h-100h-4-255-script_types1]": "14a3190871e6e9ff550ad8627f1b1684a4d2a98519d23d51024aa98f6e5c4ba9", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-4-255-script_types0]": "14a3190871e6e9ff550ad8627f1b1684a4d2a98519d23d51024aa98f6e5c4ba9", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx[m-49-0-63-0-255-script_types4]": "13e635f82e861e477b3ae73eadc21fc7f1495fd76a72d01257bc571bb4d484ce", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths0-address_index0]": "5d65122fbaa76048b7a4bc57ae8da4c4441ba2addd11fcc6b9a2be7594d74d2f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths1-address_index1]": "5d65122fbaa76048b7a4bc57ae8da4c4441ba2addd11fcc6b9a2be7594d74d2f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths2-address_index2]": "657e5556441f55d52ed7010552ba958410272b05c05ace9cd7bd522cdac85bfe", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths3-address_index3]": "8a08606f04dcdf4eed7fd5e4d5aaca778b01c91ff60161bc78277ecb183f9f63", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths4-address_index4]": "5d65122fbaa76048b7a4bc57ae8da4c4441ba2addd11fcc6b9a2be7594d74d2f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths5-address_index5]": "5d65122fbaa76048b7a4bc57ae8da4c4441ba2addd11fcc6b9a2be7594d74d2f", +"TTui2_bitcoin-test_nonstandard_paths.py::test_signtx_multisig[paths6-address_index6]": "5d65122fbaa76048b7a4bc57ae8da4c4441ba2addd11fcc6b9a2be7594d74d2f", +"TTui2_bitcoin-test_op_return.py::test_nonzero_opreturn": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_op_return.py::test_opreturn": "db2cedd4a19428f3788659bd662c02c926670eb894c33ce321cd0509617dec36", +"TTui2_bitcoin-test_op_return.py::test_opreturn_address": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_peercoin.py::test_timestamp_included": "a7bec221796819560876cc12673ca8b6eeddeb66e4790ac6904e506bf057cdd8", +"TTui2_bitcoin-test_peercoin.py::test_timestamp_missing": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "418f37926bbd04c43312dbbbf5b04187074983fa42cda314b2641042751c564e", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[NFC message]": "3282a9c3927bd2213eba4a535575c79960b0ef176f2f00a3c21d223e10d7191a", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[NFKD message]": "3282a9c3927bd2213eba4a535575c79960b0ef176f2f00a3c21d223e10d7191a", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[bcash]": "299644723e2b8df8020e70bbb0bd0fca6dc6450f549411dfa2e6e0d39e48911a", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[decred-empty]": "019efa9635659e6a3d390c77f441f59e444bf76828b146c14036dcb7953c6dab", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[decred]": "4a1b483689f9e8115e2c5af45868e776073a379287446857b88d95ccf82f61c3", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[grs-p2pkh]": "a327523c510a2fa63157787d0799108b29d2218067e490f6f0d42ddefa018f87", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-native]": "0ebc55e567f0c9daf3db79d40bc07acdf860fdadd20865be6b539aa12af9ffc1", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[grs-segwit-p2sh]": "e7257e6d86c9c609eca0897e6fe5ee2dabc0e8ca4e10c3c1fe1fe8800c2b9311", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh long message]": "26fb847dd98c453ac0beff3ae11f9dbb15a6d67748aa131283a9f4cb67d61936", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh0]": "6c346cd3f91b95a4601767e4b5df3b95f32efc0589318e8654def0d1686da0c8", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh1]": "6c346cd3f91b95a4601767e4b5df3b95f32efc0589318e8654def0d1686da0c8", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[p2pkh2]": "7d1fa69b5a3f89404acec363f1b89011ff9098508a849eb99b632e5c4eab5ba6", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native long message]": "145ea1a056e76b79c2db8e4c6d333454b01bdbd4e8faa375e9571f77e945c651", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native0]": "25ea277cffa3ecd5f56ab959bf55bbde5f6b352dd012f04e780197e9e26e8125", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native1]": "25ea277cffa3ecd5f56ab959bf55bbde5f6b352dd012f04e780197e9e26e8125", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-native2]": "5414fba98996d946c5d7b64ab7bac1cca833fdd6a26d548ac12783b492d7196b", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh long message]": "c6ca534faf6e6e3bfc72abd1b11b3b9c006197eb91961a5e9a71638ea0d14256", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh0]": "550e47a70014f30cda87e5f57d65a3cafd1d4debfd8597f76fa373fe2b43ef08", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh1]": "550e47a70014f30cda87e5f57d65a3cafd1d4debfd8597f76fa373fe2b43ef08", +"TTui2_bitcoin-test_signmessage.py::test_signmessage[segwit-p2sh2]": "4fdf3fde1f9968d40dad9658a59ccbfa9427d2e87e7ec3a08f6e0fd5c34d6b95", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[long_words]": "4839b781d26187f07dac5ddfa48ae6a96b71128bbb4bc593f93cda3133888efd", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[newlines]": "be28cb0eef81438bc2c8c671a22952a1fd307d168d775337abcc1dcc624364fb", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[no_spaces]": "d0f05d40f9812857a4edf439a7bf01153ddb3e00ef51763290a31b0ff82e25d4", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[normal_text]": "1e64bfbcd65b8f21d45641c1639e941957078c4068ae39d700fda246a778f102", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[single_line_over]": "ca8343ca5654e52a268d0d715a3ea38e7f7b7c60fb2dc13b3e075816d5cea91b", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_nospace]": "24dea9d4d4afc8ff938404fd95dd7f51b56de5842d617873bda2e4fb5f619ea0", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination[utf_text]": "a71bee3be7ccb6ce0c299a10284d9e021ae4e4978c84b4b7fd47f65bf5c26586", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_pagination_trailing_newline": "09ecbf0e795a7578b72eaadf975665e62c028df12851895ec4013bd762e985ae", +"TTui2_bitcoin-test_signmessage.py::test_signmessage_path_warning": "e5268216d4f598e3d2c8c6be9d2aaa01d59a0588603d77f07531907d103f6d11", +"TTui2_bitcoin-test_signtx.py::test_attack_change_input_address": "aa32dfd06253a9f3891510c4cee27cc320f89c2725204ad4f83a5938dd45731b", +"TTui2_bitcoin-test_signtx.py::test_attack_change_outputs": "b7c26c913d0885a6696e614cb91b12980d10e61694f03d433dd9dab7cd64ccc7", +"TTui2_bitcoin-test_signtx.py::test_attack_modify_change_address": "132b1f4b5775eb379162649ad3a3bb5202f8e1048bbc5bd310ec7444c5e92d4c", +"TTui2_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "132b1f4b5775eb379162649ad3a3bb5202f8e1048bbc5bd310ec7444c5e92d4c", +"TTui2_bitcoin-test_signtx.py::test_fee_high_hardfail": "57e412725be4d7bb1a7a3bcc1e49322d28cac60ef4cdb44f3f7965e5df070957", +"TTui2_bitcoin-test_signtx.py::test_fee_high_warning": "022487ec8b70cb1abac893b1bf3c014a9ba73e4267bfbb52738e3e0e462cfa10", +"TTui2_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "003dae152bd5a2fe5ad9a3d4e0430fb49237e673c4f28afc8eab0746a6e5050c", +"TTui2_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "003dae152bd5a2fe5ad9a3d4e0430fb49237e673c4f28afc8eab0746a6e5050c", +"TTui2_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "003dae152bd5a2fe5ad9a3d4e0430fb49237e673c4f28afc8eab0746a6e5050c", +"TTui2_bitcoin-test_signtx.py::test_lock_time_blockheight": "59705edbf9d9d07caaeb7a3fa2bf7d43e0632e3d342fe86501c3b39440175e57", +"TTui2_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "59705edbf9d9d07caaeb7a3fa2bf7d43e0632e3d342fe86501c3b39440175e57", +"TTui2_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "59705edbf9d9d07caaeb7a3fa2bf7d43e0632e3d342fe86501c3b39440175e57", +"TTui2_bitcoin-test_signtx.py::test_lots_of_change": "7656b046b9d84c89d51e5903acfd0abe5779d61ddc2a12bad09060c6a03f0bf5", +"TTui2_bitcoin-test_signtx.py::test_lots_of_inputs": "8ce605a1d5bcf82277dec99056a6d85510334f09a7672f727199233914e1d7e7", +"TTui2_bitcoin-test_signtx.py::test_lots_of_outputs": "54d1dda712d66aa916ffd9d3ec46b957bc05407b8fbf46510ba6ce0b55d56edc", +"TTui2_bitcoin-test_signtx.py::test_not_enough_funds": "42ff5e09cf76ca583c56a8b795695ff6de361c63799a6baabc51fe900aba5de8", +"TTui2_bitcoin-test_signtx.py::test_not_enough_vouts": "fd75ce8a3b02b9be4b11b3941445a5e541eaa22419980847c391c1c742148d46", +"TTui2_bitcoin-test_signtx.py::test_one_one_fee": "386c700fce1ed306c3adbb6ac004c29aed50e9e196c112aea8bb51debc5b3fbd", +"TTui2_bitcoin-test_signtx.py::test_one_three_fee": "f6f1136cafe874d5ad48a830f1ab17fc6b7a0473c00f431f24f54935c4d1dc9e", +"TTui2_bitcoin-test_signtx.py::test_one_two_fee": "fd294ec939fc0bb6e47d22e0b2b5c66ec7a8defd838f0e3fa6a96436d107c62c", +"TTui2_bitcoin-test_signtx.py::test_p2sh": "4ca000a5d01a45ec81e5ccec2c3f1533fce7be035ec2687dcb85b22a11b1b34e", +"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "a36c79b16ee7499b1001d37bdf08c6f861c28394696beabda772d3a8bab85e7d", +"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "a36c79b16ee7499b1001d37bdf08c6f861c28394696beabda772d3a8bab85e7d", +"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "a36c79b16ee7499b1001d37bdf08c6f861c28394696beabda772d3a8bab85e7d", +"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "a36c79b16ee7499b1001d37bdf08c6f861c28394696beabda772d3a8bab85e7d", +"TTui2_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "a36c79b16ee7499b1001d37bdf08c6f861c28394696beabda772d3a8bab85e7d", +"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_signtx.py::test_spend_coinbase": "0870125aa85b61405044ac4a94e053c0052906629b3e92785543971efc5927ce", +"TTui2_bitcoin-test_signtx.py::test_testnet_big_amount": "6bdfc7f3d3f4ffbded7c54fbf54765469452f5e4b51aea30e554cedb9e15829a", +"TTui2_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "81ded40e66b4f87754978b88e95958aab3890c14c723d0eb2f062919cd9e5ec4", +"TTui2_bitcoin-test_signtx.py::test_testnet_one_two_fee": "132b1f4b5775eb379162649ad3a3bb5202f8e1048bbc5bd310ec7444c5e92d4c", +"TTui2_bitcoin-test_signtx.py::test_two_changes": "38e7df85f9f5c0e3cacec6af1c693b3f716d34f1875888dd210804256b1ba149", +"TTui2_bitcoin-test_signtx.py::test_two_two": "b7c26c913d0885a6696e614cb91b12980d10e61694f03d433dd9dab7cd64ccc7", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "386c700fce1ed306c3adbb6ac004c29aed50e9e196c112aea8bb51debc5b3fbd", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "73e1814127872d3481c493ab437e7a9763cf6868ff11b5c17d89a7474bac928d", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "76f7ec0fd434228776c3ded6da21c2c16e27511237c72b7485240a580507459a", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "e7083ba4c92f63e83671881f6717b259548c637f1df5111c6457bbe580ae531e", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "386c700fce1ed306c3adbb6ac004c29aed50e9e196c112aea8bb51debc5b3fbd", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "74e44017b2d3ef22412318982ec470c69a1e5bec053b57c2ba3449df3365577d", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "07f6d429c010f12ffe797bfd8705dd8e883e74e8c0e8c6541bd0e4151d7794d8", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "a81563186707e3c6ea1341e9cea386cfc3b770f24278887e60e7618091d9a00a", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "a24a1820629fb9a7a1c85d343bfbda2da5fd4b4821fd06813362a19993fed3a9", +"TTui2_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "74e44017b2d3ef22412318982ec470c69a1e5bec053b57c2ba3449df3365577d", +"TTui2_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "da75af7e9da7c0c1269263b6d7b3037805f67b03ddd16f3ec9ee49711331d0fb", +"TTui2_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "ace4bb9ea531cb2a8c32eb76896fcd650540e64645095dfc212bfa42095cfc92", +"TTui2_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "484d7d6169b4c8bd3d635f9b15d49614e67ce05e3e04d8e3d917eb9a63fcf457", +"TTui2_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "16fd6567efb7a8e79949f4d562f250af64ae3a15a2dac09cbb1d4c309d0b6b98", +"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "507ff26829e18348b56da68a3e37c8e632023b277f31fa6a28677731edb2c70e", +"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "676910e4ff00b493731a0ff013feb79508c6e3ffbd175933ab526a10f2b8c845", +"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "a2ac1c8a678859d1dd18faaff4ccd879446b3b4e2248299ebaf43544b8dbc4b3", +"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "27d035c05fde972b529f63afe64a9e9d2afcdb78dd71c1201ffb613eaae0b62c", +"TTui2_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "b68382b9aca45fc4eb4bbea635683e028a1b09b164e80ce64010c76a0c4513dd", +"TTui2_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "0ec3f27e34fa6c868f055c66059501ebdc5f9624d87b8cb0036ce5201834c063", +"TTui2_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "87185bf0d422381a5002ccd76d314fa0b1476c814059cda89932f3215eb882d5", +"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "82435e609bad6075dc44f1a26ee4220644aa3bc86446a60f54cded8f08ab4de4", +"TTui2_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "6e173f3c8ac050818aa280370f3d694452d032651d0042f41ea1de6ec2b64729", +"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "cedd3596e8aa6b193f9ec0c6ffb22361ca93ea495127a32ac14228295024d72b", +"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "b4ee21fe8c40a7d5ae97523cb636b6d20021ab24f585fa24bd2ae09fbd0fd0c9", +"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "cedd3596e8aa6b193f9ec0c6ffb22361ca93ea495127a32ac14228295024d72b", +"TTui2_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "b4ee21fe8c40a7d5ae97523cb636b6d20021ab24f585fa24bd2ae09fbd0fd0c9", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "91d286f0279b1a707df5db34c34521d3c1ffd359e627c351d097f01a8bcde2e3", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "ede202722edf98d70e228eabed53d26226c154f8e7d01796e64a7243a844783b", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "150402432e48fd9896ed8d859a8ad343a8feac96ddf286d11bbb54d910af137e", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "a6b54c3030c2d6a04d80a5f35d5ffb1b0b017acbf071e9f9615e1bca7f57d941", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "071eaf950aa1fd8f81dd24723d3f5cbe00aec9081ecb5cbca74abb0789371596", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "0cddeb19f9b118a02e9e2e3fd2e5f7e7796da473e0cf1779b39c4c3f97aa93b2", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "24a730deb1f53aa6eee4acf43e85766543d2a1345d18bac154e89c4429160b38", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "c9ad2f6e5cfe2ec7e6baa32a6864c8ddd6ed97d5ab2c54e36c5bf97360ea96e6", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "c1e1207271440cc6d9df5ae917e807206e4a944a542667e8a5bd47de4bb52de3", +"TTui2_bitcoin-test_signtx_payreq.py::test_payment_request_details": "cafa793d257cc0e5105d062f6de94f7a69a3eb32d0a22440f578e93e46d280ff", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "3d7f520cd8833bb7595592645e89753e748073c724c0923e3650bccf5f261d60", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "3d7f520cd8833bb7595592645e89753e748073c724c0923e3650bccf5f261d60", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "3d7f520cd8833bb7595592645e89753e748073c724c0923e3650bccf5f261d60", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "3d7f520cd8833bb7595592645e89753e748073c724c0923e3650bccf5f261d60", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "a8f7484db5e23199202e6705e0274cd9033b6c71cce8db76fc1277d88e9b1bbb", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "a8f7484db5e23199202e6705e0274cd9033b6c71cce8db76fc1277d88e9b1bbb", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "a8f7484db5e23199202e6705e0274cd9033b6c71cce8db76fc1277d88e9b1bbb", +"TTui2_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "a8f7484db5e23199202e6705e0274cd9033b6c71cce8db76fc1277d88e9b1bbb", +"TTui2_bitcoin-test_signtx_replacement.py::test_attack_fake_ext_input_amount": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_replacement.py::test_attack_fake_int_input_amount": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_replacement.py::test_attack_false_internal": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_replacement.py::test_attack_steal_change": "49677ea334131e461f4005c5238d33821ec68fba6d5ff575c5827a4dff087a00", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2pkh_fee_bump": "f62fbe76051f2faf350c87670f1e7889c34b9141505ce5e19210e1ca5acff01e", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2tr_fee_bump": "f41fcf41333d9810c47741474c70ccc4586dd29a9d1bb309228d3a072cabe6ea", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2tr_invalid_signature": "f41fcf41333d9810c47741474c70ccc4586dd29a9d1bb309228d3a072cabe6ea", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_finalize": "d376dc0db828c3911df99891efcbd47f6ba699966d2e93d4a09985647ee69993", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_fee_bump_from_external": "fdc7d1e5b2820008dca7b7b31d36f8db91ce77d5e8f01de1803404b2c877c8d4", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_in_p2sh_remove_change": "f14414373b9f58a9a1f033aa9a8991bdd98697f20cd1b64ce8ebb39989ef9c42", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_invalid_signature": "d376dc0db828c3911df99891efcbd47f6ba699966d2e93d4a09985647ee69993", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_op_return_fee_bump": "d20c302f4960e474c84da70150a085d9b7f2cb7aa928386845987b3d6e6cb32d", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909659-90000-02483045022100aa1b91-c9b963ae": "540968493a2742ae09ff71e1acb9e55f7cfe0f17d8fa2a585b221ff6533f58af", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909718-90000-024730440220753f5304-ecb983d1": "540968493a2742ae09ff71e1acb9e55f7cfe0f17d8fa2a585b221ff6533f58af", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909800-89859-0248304502210097a42b-7a89e474": "540968493a2742ae09ff71e1acb9e55f7cfe0f17d8fa2a585b221ff6533f58af", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89800-02483045022100af3a87-80428fad": "741deba10b3a1cfbb65b0653e777473e36f57da0553befed5c912848aea60b58", +"TTui2_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89859-02483045022100eb74ab-881c7bef": "540968493a2742ae09ff71e1acb9e55f7cfe0f17d8fa2a585b221ff6533f58af", +"TTui2_bitcoin-test_signtx_replacement.py::test_tx_meld": "dc6ce230185f1bf53adde787b09842b724611c9acb88ce867964fbd07d6154ad", +"TTui2_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "d3d6e68ac5808bd9cf9fdc1f3b3adfec9c3b7a9e08f0362fe2632d9ac2290845", +"TTui2_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "25c3437b5dd2f4a27a83d4d854a5e2fa6034325c528533b8fdb5b050e6869bb1", +"TTui2_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "c96c01d5840a527b981dcb8fad672e4e96b80afa717b7b469d736ad7da11d0ed", +"TTui2_bitcoin-test_signtx_segwit.py::test_send_p2sh": "887b4942c261681ddd9e2ae972fffd7147f1488cf52c0d70024c97fea9052676", +"TTui2_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "39aefca42159830feb993371ab966c756e7ad93d1f091790d7058f15c743ab20", +"TTui2_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "43d9155851e076c2b0695a49a5f4331c7db71f97e293b962ee2bab68f748e9f6", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "ec3ea7c71936212d7a9d45296904cf6d7f4f9d628b3b2a3d1797ff23fec907be", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_both": "016b0d04da77d95fb83fcb531c4e609ace65b6a09686dcc6fb15a2b175a0f4ab", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "5d483b01ce3752a9ee3d1070b95163ad608dd401fb7b45ded31b80c221920f50", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "96d0d3a09f292c8671ebbbd198dd63802579a2c13c5025208dcbff4116668268", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "08f71b12b6199d4a141999a00b8b8ff588893addb37012694ba90419ddfa1ea0", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "08f71b12b6199d4a141999a00b8b8ff588893addb37012694ba90419ddfa1ea0", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_native": "74e44017b2d3ef22412318982ec470c69a1e5bec053b57c2ba3449df3365577d", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "00c73f0d4693b3e47de4e55f0f6bd5ccbb6513dfaa0dc11ef35191e871e2588c", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "5af56cc5968607987790ad28d94c6f0008eabfe904a51be875e5edf3707ce82f", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "5315d54bee4bf3a8f19a0a508b2a8613581c0a225f5809e112ee40970e2829fc", +"TTui2_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "cf965109a6d13fa62173e499702b3650fd5907bbdd87ca08e7c3c08c1315daa5", +"TTui2_bitcoin-test_signtx_taproot.py::test_attack_script_type": "ba436b67da832abcec7c09d4309eeaa4e13399a9bffce4dda0e37cc3f8946ac2", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_mixed": "2d1dd5c46ee980b7a175431937749ae011bc99ca43a4cb8740449537fbce1043", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_p2tr": "c667b49fb425fcbbcf228060c51097445b25be24ce27f0b0581cf00d58f94de0", +"TTui2_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "438b6acad0a95fb8d27c30b009693af9efbc18a99de1b0c8f569820381381808", +"TTui2_bitcoin-test_verifymessage.py::test_message_grs": "73994656293bba6f4a445358bc757be9103d0b9e4cffb7ebb6973f9993ee0401", +"TTui2_bitcoin-test_verifymessage.py::test_message_long": "5211a64a372dfdabe884caaa0b3cea3a45d7ab89b51191a7d4878a3f884f7dd0", +"TTui2_bitcoin-test_verifymessage.py::test_message_testnet": "8c57b4b27520ca3081028b9f5bc19ebff89831fc7708919e2989f3452d4eefed", +"TTui2_bitcoin-test_verifymessage.py::test_message_verify": "3523116b0e32f2551e80e44e4a48aaf2e6f5000007968e1f91ae843cf26005d0", +"TTui2_bitcoin-test_verifymessage.py::test_message_verify_bcash": "00922f26e91a3a142531caa9d8a0be400c11a3fe97e5e55c26086374bb94e65a", +"TTui2_bitcoin-test_verifymessage.py::test_verify_bitcoind": "b3229e96e95a01d1d4d5e8d1af3bc51a75d62abf61018e40d1c41bf1f6d1795b", +"TTui2_bitcoin-test_verifymessage.py::test_verify_utf": "e7d16d74c768fa7bd8c44461c9dc3c792a340786b035ce85487a40888e287839", +"TTui2_bitcoin-test_verifymessage_segwit.py::test_message_long": "6bc351fad3e6b96f0c849a979b7b11e6a2f8c103d020602c52d7d85f32047a7d", +"TTui2_bitcoin-test_verifymessage_segwit.py::test_message_testnet": "e10c3c5bc95fcd7df8eac5ec0a7d8bae5cb9009fbf53f3ffbfcc6ffb764ea726", +"TTui2_bitcoin-test_verifymessage_segwit.py::test_message_verify": "a876b0afbfd6f695ae02323d7837d27a161ae10e01e306f7740de5727d784882", +"TTui2_bitcoin-test_verifymessage_segwit.py::test_verify_utf": "0a6ed649983351d513440fd04e6b3bd5e4eec05978024bd22c9cc926db792e0f", +"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_message_long": "9599126fc053558d37bc4781eab78ce2e5985363975680f5bb65611193fc5fd2", +"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_message_testnet": "32fb5618645282300abc8348ea741a1bf7e2e3d8bef65449c54a884896cf86a5", +"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_message_verify": "9fdd5c64a20f6450cd97974fe7f18018df78e042c4febe86dc69125c03909fe3", +"TTui2_bitcoin-test_verifymessage_segwit_native.py::test_verify_utf": "18ec0c6f0df976cd7b57823bba681ef0ce249af121de26cb0c2d5e85ecee1db4", +"TTui2_bitcoin-test_zcash.py::test_external_presigned": "ba13fef3149b71696d3e2a62cc1212bf0bbefd7b6d85e00462b847ad383ae47e", +"TTui2_bitcoin-test_zcash.py::test_one_one_fee_sapling": "93c4d138fdb733ed6c5b292148f593a46c890e1636f119ef71cb76d24cffe5cd", +"TTui2_bitcoin-test_zcash.py::test_spend_old_versions": "80c2a2d304f034ed40edcfba89105492de8402e2181aad727bf234f8329ff2b1", +"TTui2_bitcoin-test_zcash.py::test_v3_not_supported": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_bitcoin-test_zcash.py::test_version_group_id_missing": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[icarus-derivation]": "28e6da73d08d771342d0a52bdb040567830758b97c0af489a91ed75009992e6d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[icarus-trezor-derivation]": "f744292436628312c0e9bc141508c9c6ce85731fb63060edac9fa058e7c886d4", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[ledger-derivation]": "5288108eb1d771342ec5fef9e34637541fc53308a33aaab10ab97d4731581b0d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters0-result0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters1-result1]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters10-result10]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters11-result11]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters12-result12]": "7bb358c8128786a28ced64ee2a8423a68cdc5e6bb656684e792c25e391d62a19", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters13-result13]": "c6f4174fb97f0d6a9d7dfcf0bbb97abd4dd5e2ba300e8b86194b6d40250e5dd1", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters14-result14]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters15-result15]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters16-result16]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters17-result17]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters18-result18]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters19-result19]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters2-result2]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters20-result20]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters21-result21]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters22-result22]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters23-result23]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters24-result24]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters25-result25]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters26-result26]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters27-result27]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters28-result28]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters29-result29]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters3-result3]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters30-result30]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters31-result31]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters32-result32]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters33-result33]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters34-result34]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters35-result35]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters36-result36]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters4-result4]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters5-result5]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters6-result6]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters7-result7]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters8-result8]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_address[parameters9-result9]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-derivation]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[icarus-trezor-derivation]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[ledger-derivation]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters0-result0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters1-result1]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters10-result10]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters11-result11]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters12-result12]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters13-result13]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters14-result14]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters15-result15]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters16-result16]": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters2-result2]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters3-result3]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters4-result4]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters5-result5]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters6-result6]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters7-result7]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters8-result8]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_address_public_key.py::test_cardano_get_public_key[parameters9-result9]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_derivations.py::test_bad_session": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.ICA-3b0af713": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.ICARUS]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_cardano-test_derivations.py::test_derivation_irrelevant_on_slip39[CardanoDerivationType.LEDGER]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_cardano-test_derivations.py::test_ledger_available_always": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[all_script]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[all_script_cont-aae1e6c3": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[all_script_cont-e4ca0ea5": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[any_script]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[any_script_with-f2466a2e": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[invalid_before_script]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[invalid_hereaft-d01d7292": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[n_of_k_script]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[n_of_k_script_c-d93f5fb0": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[nested_script]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[nested_script_w-789238e6": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[pub_key_script]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_get_native_script_hash.py::test_cardano_get_native_script_hash[pub_key_script_-1579fe2a": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[byron_to_shelley_transfer]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change0]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change1]": "61237a4eb29e583cfc18d5a37f6b95de3585018242eca0bdf1741f984730c921", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_multiple_inputs]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change0]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change1]": "61237a4eb29e583cfc18d5a37f6b95de3585018242eca0bdf1741f984730c921", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_no_ttl-validity_start]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_a_required_signer]": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_output_datum_hash]": "0441de550661f6c0ae19b2f0bdbdd68bd9c936deede358b84dcd63c0b1af4f90", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_script_data_hash]": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistratio-1ab28f77": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistration]": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-a144c34c": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-bf5f9707": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_a_required_signer]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_both_output_formats]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_inline_datum,_refer-d1082570": "369022a40b05e97b51cc33134e8d964f6ad5e219978dbaae7a53720acf78cff7", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_long_inline_datum,_-1f681aaa": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_multiple_correctly_-6545455a": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_network_id_included-d9df16f9": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash]": "369022a40b05e97b51cc33134e8d964f6ad5e219978dbaae7a53720acf78cff7", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash_a-84ad587a": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_address_but_-b0da7209": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_data_hash]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_an_ordinary_input]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a33e6741": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a6481374": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_key_script_addre-d3366a63": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_device-owned_collater-8f38b4d7": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_external_collateral_return]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_output_datum_hash]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_reference_input]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-6a67c1eb": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_credentials_giv-72ef969e": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration_-78f5c748": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_an-4da9385a": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_ce-46b0a250": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_token_minting]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral]": "9fc015c23b20274332cf7bca52306ea7bece174db7af03f015b9b007893db5e6", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-3f0b305a": "9fc015c23b20274332cf7bca52306ea7bece174db7af03f015b9b007893db5e6", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-c92d773b": "9fc015c23b20274332cf7bca52306ea7bece174db7af03f015b9b007893db5e6", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_without_script_data_hash_a-9590827f": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-336f4a44": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-d3427614": "cd16db0df7e0f7248bde554febe8686903b820f7a6cfed660a235b348d2140b1", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_with_zero_margin]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_additional_wit-36ba8ce8": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_plutus_transaction_with_required_signers]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-0c37e6dc": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-7f1d12f6": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_output]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_script_address_a-56fc16f7": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_enterprise_address_ch-15518a4c": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_pointer_address_change_output]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_certificate_with_no_p-0bbad967": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_on_testnet]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction0]": "5f737dadee80020ac9e078a7f5d849846c6a271d13a9dd1fb627293785c523b8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction1]": "6342d22505f636bcec0791328576662cea6dbc458d38c02b3bc1934d9dc144c3", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_auxiliary_data_hash]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "654a229b0229c10c88cfaafc7f60058a6f5f9271ff75719a1f319833c9f2bbca", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "654a229b0229c10c88cfaafc7f60058a6f5f9271ff75719a1f319833c9f2bbca", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_catalyst_registration]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "26118ff048ce688ad12b212156e1dcc172f2b1a4447f05327adf46a685a169fd", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_and_withdrawal]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_with_ac-9ca046f0": "43c272b60e3204f95a5d4d233fad338dc552af1f042212c8cd279e999bd39726", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_and_stake-3fdfc583": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certifica-e7bd462a": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certificate]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_ttl_equal_to_0]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_validity_interval_start_equal_to_0]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_change_output_path_in_ordinary_tr-805f9bd0": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_input_path_in_ordinary_transaction]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[additional_witness_requests_in_ordinar-9c4f94c0": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_mint_token_group_in_wrong_order]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_multiasset_token_group_-7c1351bc": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[auxiliary_data_hash_has_incorrect_length]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[both_datum_hash_and_inline_datum_present]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_output_accou-5a99fb35": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_key_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_script_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_invalid_pool_size]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_key_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_multisig_path]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_non_staking_path]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_script_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_stake_deregistration-e17db500": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_withdrawal_account_mismatch]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_path_larger_than_100]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_staking_path_larger_than_100]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_with_script_in_payment_part]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_input_is_present]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_input_prev_hash_has_incorre-99d2dc0e": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_return_is_present]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_return_with_datum_hash]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[collateral_return_with_script_address]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_a_different_certificate]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_multiple_pool_registration_ce-3000d4f0": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_withdrawal]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[fee_is_too_high]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[inline_datum_present_in_output_with_le-43c025ef": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_change_output_account_mismatch]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_stake_deregistration_certifi-b3383de2": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_withdrawal_account_mismatch]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_prev_hash_has_incorrect_length]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[invalid_pool_id]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_protocol_magic_with_testnet_network_id]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_transaction_with_testnet_output]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[margin_higher_than_1]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[missing_owner_with_path]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_1852_multisi-b7679330": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_a_collateral_input]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_collateral_return]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_output_conta-e3b36436": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_reference_input]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_repeated_withdrawal]": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_delega-19d1722c": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_delega-394991f1": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_deregi-351ce869": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_deregi-43da91d4": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_regist-456f1292": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_regist-84b1254e": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_total_collateral]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-9f7e1700": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-e98b1f5c": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_wthdrawal_ad-3291ee9e": "124c8047a9c029604218ebedef515d6236fbc49a50f75f6d07eb6b05c393f06c", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_without_minting_b-da5ba399": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_token_mintin-bc56f145": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_without_token_min-a128d577": "26118ff048ce688ad12b212156e1dcc172f2b1a4447f05327adf46a685a169fd", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_has_invalid_crc]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_a_valid_cbor_but_inv-ea3da215": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_invalid_cbor]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_long]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_short]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_datum_hash_has_incorrect_length]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_has_both_address_and_address_pa-2efc280f": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_total_is_too_high]": "0c9cf1e2f6632a992c0d4f741d97fd1bc706d273f1c4a45a14cdd62cd8ad287e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_with_reward_address]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[plutus_transaction_with_output_contain-74465253": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_mint_in_wrong_order]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_multiasset_output_in_wrong_order]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_belongs_to_differe-e79b6855": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_is_a_base_address]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[reference_input_is_present]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_mint_token_group]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_multiasset_token_group]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_mint]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[required_signer_with_both_key_path_and-7d9a3c59": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-02b129f8": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-11c8b442": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-2d1899d5": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-3f8170f6": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-60961d51": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-790fc948": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-883e81d5": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-9ae6620c": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-d0eba163": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-e7a533e7": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-e908b1a8": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-f9976ae8": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[script_data_hash_has_incorrect_length]": "bc1a51ea7bf61914ffaca1958ea9f5b8fa4be594b113d6a141fe96d2f793f5c8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_mainnet_transaction_with_testn-af110e3e": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_testnet_transaction_with_mainn-ba78ab8f": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_account_larger_than_100]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_certificate_and_w-003a1023": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_protocol_magic_with_mainnet_network_id]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_transaction_with_mainnet_output]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[total_collateral_is_present]": "c0c0351cb3d8514998f544d81f3d6c0e271a4d32d38307b7fad6ded83a0cd53b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_both_auxiliary_data_b-64274ac4": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_catalyst_registration-11533421": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[two_owners_with_path]": "72f84c461148fa444402a1427ea1cdd41e753b6eb73d5ef1314ad9595bbe0128", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[unsupported_address_type]": "8627a90f4669ae08a9b5adf6ae87d05c86c744e50a95aea548a139de43bf275e", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_multisig_transaction_signing_mode]": "9b9333d2d02b6fa808fafe2132999aa93c2795c77a3341c4aef1869b889e4acf", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_ordinary_transaction_signing_mode]": "86a8217dbd052b28593c138878f3016ef0dfd7b78f3ba27c24702b5a408d0ac8", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_plutus_transaction_signing_mode]": "53d67934f6ab08181467ea8fe63728a067f595c954ecd12a2236a9aab06154ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_amount_is_too_large]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_contains_both_path_and_key_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_contains_both_path_and_script_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_key_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_multisig_path]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_non_staking_path]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_script_hash]": "0481840056b24a21b9dff382a5f161cb22716ab4d69bb5b9cdaab62b94af8d7b", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[mainnet_transaction_without_change]": "801749863936a3bbb22ad4a374dcf4bd559616b38d4e8151ab7d8308b3c627be", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[multisig_transaction_with_a_requ-c2fba589": "2263113d073933ce8709fce9cd4b27617a6975ac20d670ed0476d40c0b7a2cde", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_a_requ-9728607e": "305a7dce142301b933847f9486c4d19de6cca0210ec4756bed98c28abd34f9d2", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_long_i-708443f3": "a726bac0692ed29388de4311f3804a125f2b611a110cb93a55215ef14fd0db3a", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[ordinary_transaction_with_output-9ba7352d": "952111871c031df10a61ca1a4515ed6423805638d5395d61f0bda1cbf6e71e72", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_reference_input]": "7c33950f085411b34459fe4b6b42775ef71902faae9c9d4d396c667653e8a7ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "7c33950f085411b34459fe4b6b42775ef71902faae9c9d4d396c667653e8a7ab", +"TTui2_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "305a7dce142301b933847f9486c4d19de6cca0210ec4756bed98c28abd34f9d2", +"TTui2_eos-test_get_public_key.py::test_eos_get_public_key": "d6bfab34ac298c4588210e21f5328f5d2d02edf9b57e7620454d0985f9813fbd", +"TTui2_eos-test_signtx.py::test_eos_signtx_buyram": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_buyrambytes": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_delegate": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_deleteauth": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_linkauth": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_newaccount": "1c4ee8b1ce707b0a3dd3839a24df6d68d21c9eda4a50969a314a308837467d49", +"TTui2_eos-test_signtx.py::test_eos_signtx_refund": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_sellram": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_setcontract": "470f0e4f074f868794e3bb6379fb5d043fa9d385c30ce5a328b3c51942c67a67", +"TTui2_eos-test_signtx.py::test_eos_signtx_transfer_token": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_undelegate": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_unknown": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_unlinkauth": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_updateauth": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_vote": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_eos-test_signtx.py::test_eos_signtx_vote_proxy": "25d7c6646567575e02b818af01c7bcf57026e8352bd1594d7136125047183278", +"TTui2_ethereum-test_getaddress.py::test_getaddress[ETC]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getaddress.py::test_getaddress[GoChain]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getaddress.py::test_getaddress[Wanchain]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters1-result1]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters2-result2]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getaddress.py::test_getaddress[parameters3-result3]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters0-result0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters1-result1]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_getpublickey.py::test_ethereum_getpublickey[parameters2-result2]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[array_of_structs]": "19cb4e8ec75ede323f9a62dabd7c846ecec9c482279e2d3883a6b42b1e04fb1a", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[bare_minimum]": "9befa04e2f9b614cee6167314e9c55291d2335f370f14a30e7b7db270115e46a", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[basic_data]": "e4b5a07b89493c8e79fa1e3a4f8bf27ec2803610e273a2366a9d45a2fdd6a63b", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[complex_data]": "7066dc506bd983a5f2495e8f64ee7a7cb5343c5b2cbc663f29dabb71fad065d9", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[full_domain_empty_message]": "888c3212c155bc3a2b108c57b424c0507c49ccbc246806ba7fa3e269bba4e968", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[injective_testcase]": "8888e4e465e5bd458d53737e292ce94575a63a67a5fca8a574daafc6555f4929", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_non_v4]": "e4b5a07b89493c8e79fa1e3a4f8bf27ec2803610e273a2366a9d45a2fdd6a63b", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_v4]": "e4b5a07b89493c8e79fa1e3a4f8bf27ec2803610e273a2366a9d45a2fdd6a63b", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[structs_arrays_v4]": "e4b5a07b89493c8e79fa1e3a4f8bf27ec2803610e273a2366a9d45a2fdd6a63b", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_cancel": "7f435f21fd9acdb6269ca055e4612f6cfac2bc0b998d80259104222f157a6295", +"TTui2_ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_show_more_button": "69577d4f29478fae00314fadcc956770d1ababc496d6975296289e207e6c4168", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "05ce08b7dc729400a9f2d39c74ee53cd6d36ccb0f7c09a0718e7602cc7933362", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "99f001d5068ed69dabfaa25ce1ce2b36d813c080efcb92c54221277d9b7c6b91", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "d531988739494cef4c163dd667bbba00c911c1e0f1fd6782d2c2f15f1584c16a", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "7cea557450010d8a619b9c2977bc00df255c2e2323ea9d9b7ad0a1949e6936f7", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "8ef5079ad33f1093d83c8965d38f753443b7299694644b229533ecb13a421005", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "97184ed6d30c47f6064c34843e52db2c32e505b4f2ee55e8a73cb1a6b21aac7f", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "1104011e6202fb292ff7964ff618dc104612b735c4fd59e9dcaddf9b8b608f9c", +"TTui2_ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "0eb0ad2c0480a0806c2e3aad7db08cbce72ac685d919b957f554813ad55b4d13", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters0-result0]": "830ecefaa7fd82a76389dc082e4bdec7011de4c347df74573394f19a5c325a83", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "926c4fbd970c72ce51f3e3dffb602b7b003a39f03fbcd34d86d41266bfd34e28", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters2-result2]": "94e7baa175b56ce4dd355200a754a23b740848c9c65bf938ccddebbbf28c8a77", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters3-result3]": "485c155a83eaf95e8698e6786e01777c06f8c9e331d97dac740ac5d702c05c34", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters4-result4]": "41c74496869f8dc06e7bd30315bdebebaaf3f67c4cf0b5c53ad72946e0533717", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters5-result5]": "0a28e0c128a32638980f6eaf77f391a353749409fa5b675ff086389583a5d506", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "0b82bac9b542e95f9ab680a880afd89327f1c556ba79bb556ff4f3e5776cdb9c", +"TTui2_ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "480023a79d9b429b806b40865ef01891d70a02449027a5a3ec6cd9e8923123d2", +"TTui2_ethereum-test_sign_verify_message.py::test_verify_invalid": "830ecefaa7fd82a76389dc082e4bdec7011de4c347df74573394f19a5c325a83", +"TTui2_ethereum-test_signtx.py::test_data_streaming": "e7b11a4bbdb4114f9cf47bf76a02813b6a128253fefcf34daa386ee236410443", +"TTui2_ethereum-test_signtx.py::test_sanity_checks": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ethereum-test_signtx.py::test_sanity_checks_eip1559": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ethereum-test_signtx.py::test_signtx[Auxilium]": "12f3d8f4b476c3f734db185eff7df9d3bae4143aa523a6503df4a6c17d0e4dd7", +"TTui2_ethereum-test_signtx.py::test_signtx[ETC]": "e5d44dc8853621d93af837a916ace91b2a4236d4989770f0c5b35242c1d4120a", +"TTui2_ethereum-test_signtx.py::test_signtx[Ethereum]": "dfe2b59ee39909ca71287c43908c75a1d767b976c66ca8d94d3b079b087c10e8", +"TTui2_ethereum-test_signtx.py::test_signtx[Palm]": "ff5e1329c6150e06eea59ac61cce004b8c2ecc09c30dc272e52aa3dee90de6f9", +"TTui2_ethereum-test_signtx.py::test_signtx[Pirl]": "cfd06c47637763949b22d687a39d50e554f06acac2e0eb21ae08945df2668ba9", +"TTui2_ethereum-test_signtx.py::test_signtx[Rinkeby]": "b73e1763be3d60363ae27584046233ac7896f348f6e87a65d4c02ef40891c2fd", +"TTui2_ethereum-test_signtx.py::test_signtx[Ropsten]": "55f9d60a7b4132cdc09fdc1b881156dd5efac6c7d02857e33ee04c1c8afb02f6", +"TTui2_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_eth_path]": "74cd817c69fe39f32959c122554a81ca069657128c20b2570c55c6b6ecf5b632", +"TTui2_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_testnet_path]": "74cd817c69fe39f32959c122554a81ca069657128c20b2570c55c6b6ecf5b632", +"TTui2_ethereum-test_signtx.py::test_signtx[data_1]": "8311674b7cbeb5090871f32f1672f2bb121a9c29aef9d445530504efcb4a18b3", +"TTui2_ethereum-test_signtx.py::test_signtx[data_2_bigdata]": "c91f820bc73b6e65f50dda8f4153c437b8a732e5e34a1c6ec86f7835cc16f17a", +"TTui2_ethereum-test_signtx.py::test_signtx[known_erc20_token]": "b2f500c1a7e1f4cf80323de35fb7697e3fc19e78fc8b566b762ba96f20507dcf", +"TTui2_ethereum-test_signtx.py::test_signtx[max_chain_id]": "74cd817c69fe39f32959c122554a81ca069657128c20b2570c55c6b6ecf5b632", +"TTui2_ethereum-test_signtx.py::test_signtx[max_chain_plus_one]": "74cd817c69fe39f32959c122554a81ca069657128c20b2570c55c6b6ecf5b632", +"TTui2_ethereum-test_signtx.py::test_signtx[max_uint64]": "74cd817c69fe39f32959c122554a81ca069657128c20b2570c55c6b6ecf5b632", +"TTui2_ethereum-test_signtx.py::test_signtx[newcontract]": "e8afb08ae1b7e02fbb0552d9371d700cee433bc394e19a294be695e034d56cb4", +"TTui2_ethereum-test_signtx.py::test_signtx[nodata_1]": "14e71cea82ed0e86c482543fa7d9c7f96926798c6658f2f8e46ce6ec87e427e8", +"TTui2_ethereum-test_signtx.py::test_signtx[nodata_2_bigvalue]": "c371f2e5122b1b7738a2f4f73ad6ff7c0d3c13ebcdf4d05e3a699ffc1f18ead7", +"TTui2_ethereum-test_signtx.py::test_signtx[unknown_erc20_token]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_signtx.py::test_signtx[wanchain]": "e9f4b3dde7a9bdd5d706d20a111b62c04b4b62e5362f6b0431f98d5731d6948d", +"TTui2_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_go_back]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_scroll_down]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_skip]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[data_1]": "8311674b7cbeb5090871f32f1672f2bb121a9c29aef9d445530504efcb4a18b3", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[data_2_bigdata]": "c91f820bc73b6e65f50dda8f4153c437b8a732e5e34a1c6ec86f7835cc16f17a", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[known_erc20]": "b2f500c1a7e1f4cf80323de35fb7697e3fc19e78fc8b566b762ba96f20507dcf", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[large_chainid]": "b44303f57df6f98f5db25a59c3844cf4faf0f703b6021396f99499dd55048397", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[nodata]": "14e71cea82ed0e86c482543fa7d9c7f96926798c6658f2f8e46ce6ec87e427e8", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559[unknown_erc20]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559_access_list": "14e71cea82ed0e86c482543fa7d9c7f96926798c6658f2f8e46ce6ec87e427e8", +"TTui2_ethereum-test_signtx.py::test_signtx_eip1559_access_list_larger": "14e71cea82ed0e86c482543fa7d9c7f96926798c6658f2f8e46ce6ec87e427e8", +"TTui2_misc-test_msg_cipherkeyvalue.py::test_decrypt": "5c863318918ebe23a6fbb62fd157ba13d3dfe4f3bc4ce2cd6d32c82a591a0415", +"TTui2_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_misc-test_msg_cipherkeyvalue.py::test_encrypt": "fc890167d119afd47dd53a6c44a200f1a3e424e9b49ba0892148bc278ea0bd39", +"TTui2_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_misc-test_msg_getecdhsessionkey.py::test_ecdh": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_misc-test_msg_getentropy.py::test_entropy[128]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[129]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[16]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[17]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[1]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[20]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[21]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[256]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[257]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[32]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[33]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[3]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[4]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[512]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[513]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[5]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[64]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[65]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[8]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_getentropy.py::test_entropy[9]": "b7877a0a47e95d34153dc77dcf8439e08950dcccad342d432256415c3dd2e1f5", +"TTui2_misc-test_msg_signidentity.py::test_sign": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_monero-test_getaddress.py::test_monero_getaddress": "177cc96fb3b9ab47320f09311a441bf9f2a29af34699998ccb608295110f28f4", +"TTui2_monero-test_getwatchkey.py::test_monero_getwatchkey": "2d72d3992906a51d9f111c4bd56f9e2b7448bac2c849430d578dd34bec6b1d01", +"TTui2_nem-test_getaddress.py::test_nem_getaddress": "92c334bf466b5de1b873a3f3e576688bf7a31f70027b7885c5472ab5b4ce8e7a", +"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_levy": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_creation_properties": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_mosaics.py::test_nem_signtx_mosaic_supply_change": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_multisig.py::test_nem_signtx_aggregate_modification": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_multisig.py::test_nem_signtx_multisig": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_multisig.py::test_nem_signtx_multisig_signer": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_others.py::test_nem_signtx_importance_transfer": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_others.py::test_nem_signtx_provision_namespace": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_encrypted_payload": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic": "b8a3b98999eadc08e46ad0e899db83520385f43316ae4682cd760c02b31d097f", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic_with_levy": "b8a3b98999eadc08e46ad0e899db83520385f43316ae4682cd760c02b31d097f", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_multiple_mosaics": "c6c7525ad97aba9bb4a89f8dff8485b856f74559681db163b53281e1a40a8c74", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_simple": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_unknown_mosaic": "88ab746e9dc340ece3ca6389759753bd8c63699d760a685f4912bbfe0770f7d4", +"TTui2_nem-test_signtx_transfers.py::test_nem_signtx_xem_as_mosaic": "15b4e50bfb9c9aeff5e3c0cb13c558e81e3416c9e0512bbc0248646d1bcef782", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[language-test]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "b91c84cf89d5b77c7194ae4b3e1d71c6249f0f56df0661a5592c40871da44dc9", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "b91c84cf89d5b77c7194ae4b3e1d71c6249f0f56df0661a5592c40871da44dc9", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "b91c84cf89d5b77c7194ae4b3e1d71c6249f0f56df0661a5592c40871da44dc9", +"TTui2_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "ab6fabda008f503c52c6ecde6b1c1b67505b9153c86320409b2d1275b3c3edad", +"TTui2_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "8796f6b09ca4efcdd5951d1534b443313de49fe5fd58cd26a8243c6dab99bbd0", +"TTui2_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "8796f6b09ca4efcdd5951d1534b443313de49fe5fd58cd26a8243c6dab99bbd0", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "41a259dc4143c9f977996b2900700847ae73a69a3a7356c16e2518fc0add9ef9", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "602988c913a9120a929b749b4a63514fd52d5cde899236f84dc408f7881745c1", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "1d083e995b0068bd4411304b2a4c6b08a04c4e58489ec52291290129e423b817", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "adafad62b303d321bcc31f7ad353e47a8fd74c45cbac2a91f38e759245ea00b8", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "508cf302df211b83dfbba7254c84f984d716d274069f520f1d08fbd495e3ed6e", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "0528529287814b03a6c5645d3222c09000c28b8ebf8135b8d852695fadb15074", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "96d9a85f07aee584a3ff4c682d02b4cbd7326210e22a59bee6bc5efa842b25a9", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "0c5bea3d062e24523b02132f6e7a7424fc33ac411cfb2f51b63fbb81239ac7ca", +"TTui2_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "371f5dad68fecf5ca29be4ae1ba6c0e9789ebb4ab6bd7dc4f9f5dbc91acb9c77", +"TTui2_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "25b1a40dfe9e3fdc81e47242eb40d39688611f793c18a4baff343faa301cf8f3", +"TTui2_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "3bdb7631d374a79f937bb4781b6ec8c5e30f36a2dca3630c11e7718481642880", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "5493c15a83b4fd7c20310db12df9c9daf5fb319828c962a89f1601f8fe32a70e", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_abort": "41a259dc4143c9f977996b2900700847ae73a69a3a7356c16e2518fc0add9ef9", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_ask_word_number": "679c26773f5cc5ababb68da706de7abbf6e16a413ee786adbbaf2ffa95871aa8", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "09c847cdf4c09dc4ed34cac7220f1ae62a53a3ebdb37e5b942b6814b51d31982", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "0d62ca87c1a42a576a9ab36ba2f8e67c57ab3d351149241966b454ed82517ba2", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "7226734c7c092de8452233a9585f5b7ec220749de3ad0fd0cfa6283815ca2227", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fbc98c8fc]": "70ae912e2829f4501581b1ed4bd6f85a01edf5df6295e931b93005404bf3e754", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-b770e0da1363247652de97a39-a50896b7": "e1f9cc8bb72e2ada2f2d253ed2c3fd5945b818065ccf96a8842823b859ee4548", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "35c08d4d9d25618eba4b85fc75a2afed42e2473ea117c73ae6a274170b30c21f", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "a3346b071a6d4a4c2666a0239776854dbeb4ad01d9a476e176683ae9b694d535", +"TTui2_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "701582549d9b179155cd2a6baab2231b2585d37088245361fbef38722e103f19", +"TTui2_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "bbc246b88cd93838268b8dffb350aafb4178a8e8b7d1b855277de6074f4e7770", +"TTui2_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "c33320773d8a2f91d900849f133adf8d7dc6a118812f4f525511b37b35ac4052", +"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "5e7d6f24f08fff62a9e396175c46be38011f4056f32417c08bcb477720721830", +"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "a7c7628e5b4aea6b3b4eebde3894343a8eb0fc72da251263827f5a17b2eec316", +"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "9617640f67aad17a67697d0cea5b827cd1498dc14ba703ff325e8202cc9930f5", +"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "b5590ba7b8f27b31f04fff1b05e8881ede4080f3b7bd6a0fda858e546cbc281b", +"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "c1b902695ed033fb47a8bbe257ea96982a2c86f89bca56ba8b00bbbff2216961", +"TTui2_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "5d516ecb721301712b8a07c0f276d2f7fb7a0b0f649dc106ac3ed8637ee40627", +"TTui2_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "c290ef60cadd6661ec901e0a07a03e4126022d6989dbcf0bd6ac872ef1194f84", +"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "59f531b2ba286ce65d28e3c0540c5b59e08d00f53801373ee2685a3410a68615", +"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "a6dfb503e3623125c86226619a4cd3f92fa56c916c170c4bf345066b76147928", +"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "d4e1fbf11deaccacc748d14145aada37e2b25a1609bf3ad88c689262a68e4c96", +"TTui2_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "73ae9db90124e34e86b7555fd318436949d24265bdfa7e20a980083c86c1edef", +"TTui2_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "28528e76f85aff227068b0aae51bb6e44b53a1e93c2a986358a5e6b41a8ece47", +"TTui2_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "d3cdf06ebf67132108327e33081e04dba72fdec8bcb2fc15cf2d7201b2caa212", +"TTui2_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "0cb855b6b2906a21accae2bf07d05a8d4f012cf470e590b62e25d486e35a3c71", +"TTui2_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "eb2114c3d1f660c0f82bf410f2782eafe48a88b7f04825b4bd2436b8b1ace00f", +"TTui2_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "e4b418070c2404ed089aa34f17fe8de480ad700101b4ac25d5d0f13dc3646a5c", +"TTui2_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "a6f5487a64e669cbf3630dfa747e6385fe4db1777c49e1f90d32c49f4af98bf4", +"TTui2_ripple-test_get_address.py::test_ripple_get_address": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ripple-test_get_address.py::test_ripple_get_address_other": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_ripple-test_sign_tx.py::test_ripple_sign_simple_tx": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_stellar-test_stellar.py::test_get_address[parameters0-result0]": "d26d211c563672632e6cac0310a5d2e0749436ae81f342a0233c67f97ec04a47", +"TTui2_stellar-test_stellar.py::test_get_address[parameters1-result1]": "b6e05b1587895e06421ad8b02c3fa2985c18b68e0c4469e10f2211f8487d0400", +"TTui2_stellar-test_stellar.py::test_get_address[parameters2-result2]": "b88aed27476111d53525ea41d84968ff7e93bfeb3af2a7a0869e15fa1112b4d8", +"TTui2_stellar-test_stellar.py::test_get_address[parameters3-result3]": "1a0f185a790188743f6ca711682a37faaacc91c6978f15781113be21b4e74560", +"TTui2_stellar-test_stellar.py::test_get_address[parameters4-result4]": "0b88a462af18a5379a5af6c17610faaa39c34b3f0aeeb953e800dc279df9aab8", +"TTui2_stellar-test_stellar.py::test_get_address[parameters5-result5]": "6c47c4ad89d72e6ab7568e6d9b61cc04f1f9e58a7d6e6ca341218629c0ac31a1", +"TTui2_stellar-test_stellar.py::test_get_address[parameters6-result6]": "f449ee33c2e6cee76fede7446fb34552a41dde08b161f7d705f6a909e23b4cd5", +"TTui2_stellar-test_stellar.py::test_get_address[parameters7-result7]": "ebe08b34eca49bc5c28266b627b8c55cf0729400baee68aa48485ab8022ae11a", +"TTui2_stellar-test_stellar.py::test_get_address[parameters8-result8]": "522b69f71f11774a2885291695d801649bb50fee69b0af9116bcd135551721fb", +"TTui2_stellar-test_stellar.py::test_get_address[parameters9-result9]": "e3baa6620ba91ab639fd0381fea1cdfa71bf2454647f5e5cb7214f1b9c81985f", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarAccountMergeOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-allow]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarAllowTrustOp-revoke]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarBumpSequenceOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-add]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarChangeTrustOp-delete]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarCreateAccountOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarCreatePassiveSellOfferOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarManageBuyOfferOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarManageDataOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarManageSellOfferOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictReceiveOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPathPaymentStrictSendOp]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset12]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-asset4]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarPaymentOp-native_asset]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-all]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-one]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[StellarSetOptionsOp-some]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[memo_hash]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[memo_id]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[memo_return]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[memo_text]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[multiple_operations]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[source_account]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-0-0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-0-1575234180]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_autolock.py::test_apply_auto_lock_delay": "ee3c120b0a63e1dda7900449d217c483668c67769b1f7bdbda38beb68eff331f", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "f8ed41cb353bf556c4db217868fc015e750e057e222e9b3418aedd9b7784ed45", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "6c1002107d106501a3453102db921ed7eb5808ae84ab825a7a08eec9f75a926c", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "ad1b46bf416f7f65330614e5490b82dafc516cc73faac768afa8cf6e0c79098d", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "45715a73d14a82db13578cdba9346e58e2b699f3d3ddacd4b2b7a479419c61ce", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "30813f3835822351dd78c268befd47d17f3c88b36af94857e0a6f723aa4f0b02", +"TTui2_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "f5ddd542f6e7f04b1e0de463f21f7db0fe5b064029cd939e6efbaf5446d2bf2e", +"TTui2_test_autolock.py::test_autolock_cancels_ui": "3298e9f436b37782f7b24a8b9e8eed4feed8cc12d15404f6b68c8cea1dedf320", +"TTui2_test_autolock.py::test_autolock_default_value": "b316173fe9a127b5099470d34552b44b013829641b2bbc018845b9f89e4087a4", +"TTui2_test_basic.py::test_device_id_different": "0ee4493cc178205fd6f311608bf10b2823c82fafb689721f5969363e0596757c", +"TTui2_test_basic.py::test_device_id_same": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_basic.py::test_features": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_basic.py::test_ping": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_busy_state.py::test_busy_expiry": "b0f19c66469df6ee9cc0cda06692f22d34c6e448cfc0d713276bcebdd83081a6", +"TTui2_test_busy_state.py::test_busy_state": "76be5e7fd3817b66034272330878fe170e946eacd1a1096187456ab72602d40b", +"TTui2_test_cancel.py::test_cancel_message_via_cancel[message0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_cancel.py::test_cancel_message_via_cancel[message1]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_cancel.py::test_cancel_message_via_initialize[message0]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_cancel.py::test_cancel_message_via_initialize[message1]": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_cancel.py::test_cancel_on_paginated": "4ae6e4508171c14495d63da469a3872d620cf3b585eef782c8db47beea8c3b2b", +"TTui2_test_debuglink.py::test_softlock_instability": "f4dde41cd761ed305ab56d6766731c2fb77b46052b5aadd6ff8addcd4b76cb1d", +"TTui2_test_firmware_hash.py::test_firmware_hash_emu": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_firmware_hash.py::test_firmware_hash_hw": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif": "e9af919357956b45621f4251fbdbd3deff6140418938861fcce9c03bf8c9bbb3", +"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x80\\x00\\x80\\x00~\\x00\\x00\\x0-ba464b0c": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x90\\x00\\x90\\x00~XXXf\\x90\\x0-cb3c88da": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIg\\x90\\x00\\x90\\x00~\\x00\\x00\\x0-09cb7d43": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_msg_applysettings.py::test_apply_settings": "501c9738493b9c590f6ea7eb219b2e82fb25621ee3d6aff421c08038f88a1ac1", +"TTui2_test_msg_applysettings.py::test_apply_settings_passphrase": "f97f4be7b435d53dbb0f5ec0a7ec51346954fa5ebe2bf5f893df44d2ac8fa5a8", +"TTui2_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "0a0522808aff371748bbe5c514166308235c0cfb828f1ef88bd2948145fb7d1a", +"TTui2_test_msg_applysettings.py::test_apply_settings_rotation": "4d3129951b4e609c3c57b2cb278260c25b34ef9f98f2360a77c0c0ec38b23720", +"TTui2_test_msg_applysettings.py::test_experimental_features": "2409fcc17407dafa73dd80bacb41deade242778b01574eb8139606a31984fe9e", +"TTui2_test_msg_applysettings.py::test_label_too_long": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_msg_applysettings.py::test_safety_checks": "00f37d72b636ff6461aa7f820f6bfe517587508bbac3af69c2a2e6082f504d18", +"TTui2_test_msg_backup_device.py::test_backup_bip39": "2c7aa3b91ab4b8a11abbbbba3d0eb158223d653e1105bbbac7d14dc1d9830794", +"TTui2_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "3e19230bd9fb0a912e933408915ad276c6c3dce353c4fe0f94b7f445f2c107be", +"TTui2_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "b6273bf9aea02fe2d20225642b967bc74990f77b52049766aa6a12c48e67d5d0", +"TTui2_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "cd6e317879a6ee743217ec44f91e84e903837d3de328b98cedcbaf4c2f78b738", +"TTui2_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "7de1248e23258c1744dc8f7ada33c51cb33b8aa27ddbdd7c8eb112385be13b7e", +"TTui2_test_msg_backup_device.py::test_interrupt_backup_fails": "47d468bf0e3baaffb457f56b4ea7aaed4356ade7343cac77ecaac5aeed635185", +"TTui2_test_msg_backup_device.py::test_no_backup_fails": "8d9a56256a6f45c58a3599580ae5c794b3ae4df7f9a9a716b84e584b54f5f83e", +"TTui2_test_msg_backup_device.py::test_no_backup_show_entropy_fails": "ab6fabda008f503c52c6ecde6b1c1b67505b9153c86320409b2d1275b3c3edad", +"TTui2_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "c283f7d2c775712c1a264a49b1d97c7afab29cd7c6b3db37691417f79d99d2dc", +"TTui2_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "af1590c8872f667d44c4de705a48cd6ab0a422c17266e45b0567ba443285f550", +"TTui2_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "5354e25c07a8c633e45304c52ae1a8d30ef7bca166d5cf80286e69eed3634231", +"TTui2_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "0be8905daab60620db87760038a7260dda6a44362b20d6f8a8e5d1b54a9b2581", +"TTui2_test_msg_changepin_t2.py::test_change_failed": "8cd507c4cac13004b13a4fb6fa7dfb9d8dbee927fe0e260e91dff2b5a3067782", +"TTui2_test_msg_changepin_t2.py::test_change_invalid_current": "dec12bbb4c469788548a01060f9f00bf11f46fab6c892e060a9f49609e844758", +"TTui2_test_msg_changepin_t2.py::test_change_pin": "878ce519f0a77e908470c7a0dd306c8d7c6d8fbe75aed8378e5f54f741ebe293", +"TTui2_test_msg_changepin_t2.py::test_remove_pin": "c3fbee4be5369b3548624b32390e05747b0ef1717f6ebf345645c102d2673e35", +"TTui2_test_msg_changepin_t2.py::test_set_failed": "bdb3f3d6462d640586cad27605285975203175f320aca70c1f6d5d0fe22e0cb8", +"TTui2_test_msg_changepin_t2.py::test_set_pin": "25c5e6cf54346c7558f15ec13b4ef8ce7ff92c133859c36a50cb55ad016bd365", +"TTui2_test_msg_loaddevice.py::test_load_device_1": "aa580b991d4859ab2e84b7519338de465dc191ee339dffd7b2183717ede9847e", +"TTui2_test_msg_loaddevice.py::test_load_device_2": "5fede85130b9ab92301f891d9f3d94ad77be9c8540b38cbd2df8cb5185b8a650", +"TTui2_test_msg_loaddevice.py::test_load_device_slip39_advanced": "aa580b991d4859ab2e84b7519338de465dc191ee339dffd7b2183717ede9847e", +"TTui2_test_msg_loaddevice.py::test_load_device_slip39_basic": "aa580b991d4859ab2e84b7519338de465dc191ee339dffd7b2183717ede9847e", +"TTui2_test_msg_loaddevice.py::test_load_device_utf": "36f0c98618b1572d68163a3a26c99d29c6cd72338a318cacd5a049f9d7543f98", +"TTui2_test_msg_ping.py::test_ping": "18ca96c69a909260d4a7484c97172e4cc7fa1befe6aca10d54b8d60968de98a1", +"TTui2_test_msg_sd_protect.py::test_enable_disable": "20e5737e6b8a60736447683790fc9bca90bb3f7ca22b8933888e277445cab47e", +"TTui2_test_msg_sd_protect.py::test_refresh": "a78a1cf4c4fed6253bed5e6d4330e813283338ac4f1de72232b46e29e8784a0e", +"TTui2_test_msg_sd_protect.py::test_wipe": "bc6e3a64eaee74e002a7d455d667e7b42c9606a4ba0fb6e68602486f64c4b701", +"TTui2_test_msg_wipedevice.py::test_autolock_not_retained": "cd0e6d46363d08e6e21f6a70dda8d5b1cf6447985bceaf637e20713643bb247f", +"TTui2_test_msg_wipedevice.py::test_wipe_device": "0ee4493cc178205fd6f311608bf10b2823c82fafb689721f5969363e0596757c", +"TTui2_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "0ff63f9db0fd7fea7788f2a3b3fe24bd313080d2e2b51a7eb64f6ec53cbb25cd", +"TTui2_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "0ff63f9db0fd7fea7788f2a3b3fe24bd313080d2e2b51a7eb64f6ec53cbb25cd", +"TTui2_test_passphrase_slip39_basic.py::test_2of5_passphrase": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_test_passphrase_slip39_basic.py::test_3of6_passphrase": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_test_pin.py::test_correct_pin": "44770e48913d968f1cd90b5adc052fcf4811f96850657e58bea43f5d95d6b8b2", +"TTui2_test_pin.py::test_exponential_backoff_t2": "ec8993e536d7f5fc216fa2feac226afcbe75ad705604fcd2d62356fb06af7238", +"TTui2_test_pin.py::test_incorrect_pin_t2": "c57cf6c6691760cee83c816caca431735db14c0103a3198ceda20a890b0150f3", +"TTui2_test_pin.py::test_no_protection": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_protection_levels.py::test_apply_settings": "343e759387573d390b325421cc7c199fef7398d01e97980618a9be0acbc39062", +"TTui2_test_protection_levels.py::test_change_pin_t2": "3aaff4d3c19f7e8050956401a377d3240041ecda619e7af66e357914c4678c0a", +"TTui2_test_protection_levels.py::test_get_address": "da104b03b0d50eab1eee930b21da938325283ebe20fa24c60652ca9fe7bac19d", +"TTui2_test_protection_levels.py::test_get_entropy": "2edc0e5f97bb2dc73374774f4002f245cd323de694a6dac6cd62c63c73f04b09", +"TTui2_test_protection_levels.py::test_get_public_key": "da104b03b0d50eab1eee930b21da938325283ebe20fa24c60652ca9fe7bac19d", +"TTui2_test_protection_levels.py::test_initialize": "ff50b4d84424a16478aca9341338f81024045a455b59f63deec330b8b6ac9664", +"TTui2_test_protection_levels.py::test_passphrase_cached": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_protection_levels.py::test_passphrase_reporting[False]": "953330df3135bdd4585dc5252375e0fba0d5e6fa45e9be5c394ed31e4b0dd31b", +"TTui2_test_protection_levels.py::test_passphrase_reporting[True]": "b583f3d023c96f80ab07d33f4473f987925901bb58fd4e9961330a379a431fa5", +"TTui2_test_protection_levels.py::test_ping": "18ca96c69a909260d4a7484c97172e4cc7fa1befe6aca10d54b8d60968de98a1", +"TTui2_test_protection_levels.py::test_sign_message": "bd940fbbaa7e0dc021b3a090f0a395b9f4a01be27d49216bc790c5cccaa0ca1e", +"TTui2_test_protection_levels.py::test_signtx": "de6cd20040000a360fee8ec61d5b25717b69f380a5b25a2e5c20dc86102c8ced", +"TTui2_test_protection_levels.py::test_unlocked": "77ec1c5bc29992aee4f640ed39b7a353c5a3e3a07f69275245f6a127542b8a92", +"TTui2_test_protection_levels.py::test_verify_message_t2": "3e76b123e9ac350a7c75ac62963758a5e0534389791c578a0a0f7669a1906f39", +"TTui2_test_protection_levels.py::test_wipe_device": "a94d463db97ae9077209ce37914cd06bc6cf2feb42c622905a79d9d8d790f610", +"TTui2_test_sdcard.py::test_sd_format": "ca5765aba75587ced68abcc03738509e4b673b85ca9cdcba8f91ebd8b60047d6", +"TTui2_test_sdcard.py::test_sd_no_format": "fd63178ef232fba05690e41ea9f99a1bc5ead8911c1217e78c5908a662d9636b", +"TTui2_test_sdcard.py::test_sd_protect_unlock": "8c5e8e3634f61ff47e01eadc8923e65e43a3539478d5de3807aaa1025d61301d", +"TTui2_test_session.py::test_cannot_resume_ended_session": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_session.py::test_clear_session": "6681824d18d875bf6d5bf4492dc0adb9ef323b490dbcda5f823671ebcc46c389", +"TTui2_test_session.py::test_derive_cardano_empty_session": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_session.py::test_derive_cardano_running_session": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_session.py::test_end_session": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_session.py::test_end_session_only_current": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_session.py::test_session_recycling": "3fa672dea8dbc49444ba9decf85d59c939159c0fac3b187b95ad4390c2054b5d", +"TTui2_test_session_id_and_passphrase.py::test_cardano_passphrase": "645883ad7913d430a2f52c09fc57cc20d3a5a938430b3bd4677a6a87d92b3f22", +"TTui2_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "9eab999cd09826f92aa09b91e2ffa206035e7f1912e7e5f7cc30a38a773f44b9", +"TTui2_test_session_id_and_passphrase.py::test_multiple_passphrases": "38b3351aad25dcfc77d064a539a44eaa07c3e6c4ff81d2654c4130ecd1f31f5d", +"TTui2_test_session_id_and_passphrase.py::test_multiple_sessions": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "19a94ef5819f4967054da409f69944c3fbcf71e7ed253a4e89beb03d2d19b3c0", +"TTui2_test_session_id_and_passphrase.py::test_passphrase_length": "5a342ccea379b5972302e6e9e55369177f7ad8ac0a5060136ce3258cdcca0465", +"TTui2_test_session_id_and_passphrase.py::test_passphrase_missing": "d08c7576b47d42aa5e783813905f0ce837f2b26bf1f99dd34f9e369229955643", +"TTui2_test_session_id_and_passphrase.py::test_passphrase_on_device": "32cdf03591f049ca8f60d990ba01ae2b9a3439e1ac1a28cf145086efc09ab430", +"TTui2_test_session_id_and_passphrase.py::test_session_enable_passphrase": "d914c86883a5401163f3683aaa7cb7234961a17f736b3bcd43a2b87b68a264a5", +"TTui2_test_session_id_and_passphrase.py::test_session_with_passphrase": "abf67a53e3f051777f855d5b5b3ff51f36078e63bcb8a3ac9924f5846adc040d", +"TTui2_tezos-test_getaddress.py::test_tezos_get_address": "8196306584be1126de883a75d234b537b5a18081adc2cea0a79239492934803c", +"TTui2_tezos-test_getpublickey.py::test_tezos_get_public_key": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_kt_remove_delegation": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_delegation": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_multiple_proposals": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_origination": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_proposal": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_reveal": "c4a75a2fe44b6630a1c8524354aea98603eddc2d6ee8020e92ab93dfa04f969e", +"TTui2_tezos-test_sign_tx.py::test_tezos_sign_tx_tranasaction": "9cb567c73c8215b32cfaf5bf5d26eed67a9b2483c93fe80671bc7f344e75c812", +"TTui2_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_nay": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_pass": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_sing_tx_ballot_yay": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_smart_contract_delegation": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f", +"TTui2_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer": "da40dfcc3acf54e58428657108553ec8b45e96c12e6e906a71e6d104f294807f", +"TTui2_tezos-test_sign_tx.py::test_tezos_smart_contract_transfer_to_contract": "b26038ce31b7d19d6bbc555866c965705cdcd5616850d4cce40d9574b81a7200", +"TTui2_webauthn-test_msg_webauthn.py::test_add_remove": "82bf0837478640295f1db381b1e14e5791a92288ef14fa5bd31c9fd803c1aeac", +"TTui2_webauthn-test_u2f_counter.py::test_u2f_counter": "6bf6db360292afbda963a1133152100a98378d05796a10fb505d757b39ede2aa", +"TTui2_zcash-test_sign_tx.py::test_external_presigned": "ba13fef3149b71696d3e2a62cc1212bf0bbefd7b6d85e00462b847ad383ae47e", +"TTui2_zcash-test_sign_tx.py::test_one_two": "87184d54bef0a0881e672958ae8cf2aff71c7c5154a0cea71bed541db9be558a", +"TTui2_zcash-test_sign_tx.py::test_refuse_replacement_tx": "1b98877ad38601bc7265b15576a5e708225f5e6591699f2be38b8c8d652d1045", +"TTui2_zcash-test_sign_tx.py::test_send_to_multisig": "5c4909e996a0ff3a63d6f8febde191253bcb256c7aefdf07b005ea1e1492fcf2", +"TTui2_zcash-test_sign_tx.py::test_spend_multisig": "58b0f31180fb39e8ee91499a96a462511d40b1ff22b15ac86d3592894ee64d4c", +"TTui2_zcash-test_sign_tx.py::test_spend_v4_input": "46cfca1e823917f0b8699f082170e9232f9b190b94a1964a6a40e8e281214782", +"TTui2_zcash-test_sign_tx.py::test_spend_v5_input": "e620ee63cf1dd6362bc9b9a767c98f066811738f3008832a3763b48ac7114d67", +"TTui2_zcash-test_sign_tx.py::test_unified_address": "e69951017173a48cbca7e80ca9aaff627d5d8966cdc72cc674381c560943ca44", +"TTui2_zcash-test_sign_tx.py::test_version_group_id_missing": "e0db5107ba371eb8d7039e6ad3138f6bbb731c779f405b75c2e14128dfad756f" }